using System;
using System.ComponentModel.DataAnnotations;
using System.Runtime.CompilerServices;
using System.Security.Cryptography.X509Certificates;
using System.Xml.Linq;

namespace HelloWorld
{
    class Hello
    {
        static void Main(string[] args)
        {
            string prviBroj = Console.ReadLine();
            string drugiBroj = Console.ReadLine();
            long [] prviBrojNiz = new long [prviBroj.Length + drugiBroj.Length];
            long [] drugiBrojNiz = new long[prviBroj.Length + drugiBroj.Length]; 
            long [] rezultat = new long [prviBroj.Length+drugiBroj.Length];

            int p = 0;
            int d = 0;
            int y = 0;
            int br = 1;
            for (int i = prviBroj.Length; i > 0 ; i--)
            {
                prviBrojNiz[prviBroj.Length + drugiBroj.Length - br] = Convert.ToInt64(prviBroj[prviBroj.Length-br])-48;
                p++;
                br++;

            }
            br = 1;
            for (int i =drugiBroj.Length; i > 0; i--)
            {
                drugiBrojNiz[prviBroj.Length + drugiBroj.Length - br] = (Convert.ToInt64(drugiBroj[drugiBroj.Length-br])) - 48;
                d++;
                br++;
            }



            for (int i = p-1; i >= 0; i--)
            {
                prviBrojNiz[i] = 0;
            }
            for (int i = d-1; i >=0; i--)
            {
                drugiBrojNiz[i] = 0;
            }
            if (prviBroj.Length > drugiBroj.Length)
            {
                for (int i = 0; i < rezultat.Length; i++)
                {
                    rezultat[i] = prviBrojNiz[i];
                }
            }
            else
            {
                for (int i = 0; i < rezultat.Length; i++)
                {
                    rezultat[i] = drugiBrojNiz[i];
                }
            }


            p--;
            d--;
            y = d + p+1;
            p = y;
            d = y;
            
            while (y-1>= 0)
            {
                if (prviBrojNiz[p] != drugiBrojNiz[d])
                {
                    rezultat[y] = Math.Max(prviBrojNiz[p], drugiBrojNiz[d]);
                    y--;
                    p--;
                    d--;
                }
                else
                {
                    rezultat[y] = prviBrojNiz[p];
                    rezultat[y - 1] = prviBrojNiz[p];
                    y = y - 2;
                    p--;
                    d--;
                }
            }
            int q = 0;
            while (q < rezultat.Length)
            {
                if (rezultat[q] == 0)
                {
                    q++;
                }
                else
                {
                    for (int i = q; i < rezultat.Length; i++)
                    {
                        Console.Write(rezultat[i]);
                    }
                    break;
                }
            }
            

        }
    }
}