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

namespace Sudar_Brojeva
{
    
    class Program
    {
        static void Main(string[] args)
        {
            string s1 = Console.ReadLine();
            string s2 = Console.ReadLine();
            int x_duzina = s1.Length;
            int y_duzina = s2.Length;
            Int64 x = Int64.Parse(s1);
            Int64 y = Int64.Parse(s2);
            Int64[] k = new Int64[x_duzina+y_duzina];
            if (x_duzina == y_duzina)
            {
                for (int i = 0; i < x_duzina; i++)
                {
                    if (x % 10 == y % 10)
                    {
                        k[i] = x % 10; x = x / 10;
                        k[i + 1] = y % 10; y = y / 10;
                        i++; x_duzina++;
                    }
                    else if (x % 10 > y % 10)
                    {
                        k[i] = x % 10;
                        x = x / 10;
                        y = y / 10;
                    }
                    else
                    {
                        k[i] = y % 10;
                        x = x / 10;
                        y = y / 10;
                    }
                }
            }
            else if (x_duzina > y_duzina)
            {
                for (int i = 0; i < y_duzina; i++)
                {
                    if (x % 10 == y % 10)
                    {
                        k[i] = x % 10; x = x / 10;
                        k[i + 1] = y % 10; y = y / 10;
                        i++; y_duzina++;
                    }
                    else if (x % 10 > y % 10)
                    {
                        k[i] = x % 10;
                        x = x / 10;
                        y = y / 10;
                    }
                    else
                    {
                        k[i] = y % 10;
                        x = x / 10;
                        y = y / 10;
                    }
                }
                int l = y_duzina;
                while (x > 0)
                {
                    k[l] = x % 10;
                    x = x / 10;
                    l++;
                    y_duzina++;
                }
            }
            else
            {
                for (int i = 0; i < x_duzina; i++)
                {
                    if (x % 10 == y % 10)
                    {
                        k[i] = x % 10; x = x / 10;
                        k[i + 1] = y % 10; y = y / 10;
                        i++; y_duzina++;
                    }
                    else if (x % 10 > y % 10)
                    {
                        k[i] = x % 10;
                        x = x / 10;
                        y = y / 10;
                    }
                    else
                    {
                        k[i] = y % 10;
                        x = x / 10;
                        y = y / 10;
                    }
                }
                int l = x_duzina;
                while (y > 0)
                {
                    k[l] = y % 10;
                    y = y / 10;
                    l++;
                }
            }
            Int64 g = 0;
            int ii = Math.Max(x_duzina, y_duzina) - 1;
            int iii = 0;
            for (int i = Math.Max(x_duzina, y_duzina) - 1; i >= 0; i--)
            {
                g = g + (Int64)(k[i] * Math.Pow((double)10, (double)ii - iii));
                iii++;
            }
            Console.WriteLine(g);

        }
    }
}