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

namespace ConsoleApplication1
{
    class Program
    {
      public static ulong brcif(ulong x)
        {
            ulong br = 0;
            while (x >= 1)
            {
                x /= 10;
                br++;
            }
            return br;
        }
        static void Main(string[] args)
        {
             
            string[] s = Console.ReadLine().Split(' ');
            ulong A = Convert.ToUInt64(s[0]);
            ulong B = Convert.ToUInt64(s[1]);
            ulong C = Convert.ToUInt64(s[2]);
            ulong x1 = brcif(A);
            ulong x2 = brcif(B);
            ulong x3 = brcif(C);
            ulong max = A * (ulong)Math.Pow(10, x2+x3) + B * (ulong)Math.Pow(10, x3) + C;
            if (max < (A * Math.Pow(10, x2 + x3) + C * Math.Pow(10, x2) + B)) max = A *(ulong)Math.Pow(10, x2 + x3) + C * (ulong)Math.Pow(10, x2) + B;
            if (max < (B * Math.Pow(10, x1 + x3) + A * Math.Pow(10, x3) + C)) max = B * (ulong)Math.Pow(10, x1 + x3) + A * (ulong)Math.Pow(10, x3) + C;
            if (max < (B * Math.Pow(10, x1 + x3) + C * Math.Pow(10, x1) + A)) max = B * (ulong)Math.Pow(10, x1 + x3) + C * (ulong)Math.Pow(10, x1) + A;
            if (max < (C * Math.Pow(10, x1 + x2) + A * Math.Pow(10, x2) + B)) max = C * (ulong)Math.Pow(10, x1 + x2) + A * (ulong)Math.Pow(10, x2) + B;
            if (max < (C * Math.Pow(10, x1 + x2) + B * Math.Pow(10, x1) + A)) max = C * (ulong)Math.Pow(10, x1 + x2) + B * (ulong)Math.Pow(10, x1) + A;
            Console.WriteLine(max);
        }
    }
}