using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TakmicenjeZad1
{
    internal class Program
    {

        static List<int> ObrnutCifraNiz(int num)
        {
            List<int> cifreList = new List<int>();
            while (num > 0)
            {
                cifreList.Add(num % 10);
                num = num / 10;
            }
            return cifreList;
        }

        static void DopuniListe(ref List<int> cifre1, ref List<int> cifre2)
        {
            int n;

            if (cifre1.Count >= cifre2.Count)
                n = cifre1.Count - cifre2.Count;
            else
                n = cifre2.Count - cifre1.Count;

            int c1 = cifre1.Count, c2 = cifre2.Count;

            for(int i = 0; i < n; i++)
            {
                if (c1 > c2)
                {
                    cifre2.Add(0);
                }
                else
                    cifre1.Add(0);
            }
        }

        static void SudarenBroj(int[] cifre1, int[] cifre2,out int novBr)
        {
            List<int> cifreNovogList = new List<int>();

            for(int i = 0; i < cifre1.Length; i++)
            {
                if(cifre1[i] > cifre2[i])
                    cifreNovogList.Add(cifre1[i]);
                else if(cifre1[i] < cifre2[i])
                    cifreNovogList.Add(cifre2[i]);
                else
                {

                    if (cifre1[i] != 0)
                    {
                        cifreNovogList.Add(cifre1[i]);
                        cifreNovogList.Add(cifre2[i]);
                    }
                    else
                    {
                        cifreNovogList.Add(cifre1[i]);
                    }

                }
            }

            cifreNovogList.Reverse();
            int[] cifreNovog = cifreNovogList.ToArray();
            
            novBr = 0;
            for(int i = 0; i < cifreNovog.Length; i++)
            {
                novBr = novBr * 10 + cifreNovog[i];
            }

        }

        static void Main(string[] args)
        {
            int br1 = int.Parse(Console.ReadLine()), br2 = int.Parse(Console.ReadLine());
            int[] cifre1, cifre2;
            List<int> cifreL1 = new List<int>();
            List<int> cifreL2 = new List<int>();

            int novBr;

            cifreL1 = ObrnutCifraNiz(br1);
            cifreL2 = ObrnutCifraNiz(br2);

            DopuniListe(ref cifreL1,ref cifreL2);

            cifre1 = cifreL1.ToArray();
            cifre2 = cifreL2.ToArray();

            SudarenBroj(cifre1, cifre2, out novBr);

            Console.WriteLine(novBr);
        }
    }
}