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

namespace Nadovezivanje
{
    class Program
    {
        static void Main(string[] args)
        {
            S:
            string[] niz = Console.ReadLine().Split();
            int a, b, c, bra = 0, brb = 0, brc = 0, i, brojilo = 0, yeet, dab1 = 0, dab2 = 0, dab3 = 0;
            string rez1 = "", rez2 = "", rez3 = "";
            int tempa = 0, tempa1 = 0, tempb = 0, tempb1 = 0, tempc = 0, tempc1 = 0;

            a = Convert.ToInt32(niz[0]);
            b = Convert.ToInt32(niz[1]); 
            c = Convert.ToInt32(niz[2]);

            if(a == 0 || b == 0 || c == 0)
            {
                Console.WriteLine("Prekrsili ste ogranicenje!");
                goto S;
            }

            if (a == b && a == c)
            {
                rez1 = Convert.ToString(a);
                rez2 = Convert.ToString(b);
                rez3 = Convert.ToString(c);
                goto Y;
            }

            if (a == b && a != c)
            {
                yeet = Convert.ToInt32(Convert.ToString(a) + Convert.ToString(b));
                while(yeet > 0)
                {
                    yeet = yeet / 10;
                    brojilo++;
                }
                if(c*Math.Pow(10,brojilo) > yeet)
                {
                    rez1 = Convert.ToString(c);
                    rez2 = Convert.ToString(b);
                    rez3 = Convert.ToString(a);
                }
                else
                {
                    rez1 = Convert.ToString(a);
                    rez2 = Convert.ToString(b);
                    rez3 = Convert.ToString(c);
                }
                goto Y;
            }

            if (a == c && a != b)
            {
                yeet = Convert.ToInt32(Convert.ToString(a) + Convert.ToString(c));
                while (yeet > 0)
                {
                    yeet = yeet / 10;
                    brojilo++;
                }
                if (b*Math.Pow(10,brojilo) > yeet)
                {
                    rez1 = Convert.ToString(b);
                    rez2 = Convert.ToString(c);
                    rez3 = Convert.ToString(a);
                }
                else
                {
                    rez1 = Convert.ToString(a);
                    rez2 = Convert.ToString(c);
                    rez3 = Convert.ToString(b);
                }
                goto Y;
            }

            if (b == c && a != b)
            {
                yeet = Convert.ToInt32(Convert.ToString(c) + Convert.ToString(b));
                while (yeet > 0)
                {
                    yeet = yeet / 10;
                    brojilo++;
                }
                if (a*Math.Pow(10,brojilo) > yeet)
                {
                    rez1 = Convert.ToString(a);
                    rez2 = Convert.ToString(b);
                    rez3 = Convert.ToString(c);
                }
                else
                {
                    rez1 = Convert.ToString(b);
                    rez2 = Convert.ToString(c);
                    rez3 = Convert.ToString(a);
                }
                goto Y;
            }

            List<int> niza = new List<int>();
            List<int> nizb = new List<int>();
            List<int> nizc = new List<int>();

            while (a > 0)
            {
                niza.Add(a % 10);
                a = a / 10;
                bra++;
            }

            while (b > 0)
            {
                nizb.Add(b % 10);
                b = b / 10;
                brb++;
            }

            while (c > 0)
            {
                nizc.Add(c % 10);
                c = c / 10;
                brc++;
            }

            int[] nizaa = niza.ToArray();
            int[] nizbb = nizb.ToArray();
            int[] nizcc = nizc.ToArray();

            for (i = 0; i < nizaa.Length / 2; i++)
            {
                int tmp = nizaa[i];
                nizaa[i] = nizaa[nizaa.Length - i - 1];
                nizaa[nizaa.Length - i - 1] = tmp;
            }

            for (i = 0; i < nizbb.Length / 2; i++)
            {
                int tmp = nizbb[i];
                nizbb[i] = nizbb[nizbb.Length - i - 1];
                nizbb[nizbb.Length - i - 1] = tmp;
            }

            for (i = 0; i < nizcc.Length / 2; i++)
            {
                int tmp = nizcc[i];
                nizcc[i] = nizcc[nizcc.Length - i - 1];
                nizcc[nizcc.Length - i - 1] = tmp;
            }

            int broja = 0;
            int brojb = 0;
            int brojc = 0;

            // Prvo mesto
            while (true)
            {
                if(nizaa[broja] == nizbb[brojb] && nizaa[broja] == nizcc[brojc])
                {
                    broja++;
                    brojb++;
                    brojc++;
                    goto X;
                }

                if(nizaa[broja] == nizbb[brojb] && nizcc[brojc] < nizaa[broja])
                {
                    broja++;
                    brojb++;
                    tempc = nizcc[brojc];
                    tempc1 = brojc;
                    dab3 = 1;
                    nizcc[brojc] = 0;
                }

                if (nizaa[broja] == nizcc[brojc] && nizbb[brojb] < nizaa[broja])
                {
                    broja++;
                    brojc++;
                    tempb = nizbb[brojb];
                    tempb1 = brojb;
                    dab2 = 1;
                    nizbb[brojb] = 0;
                }

                if (nizbb[brojb] == nizcc[brojc] && nizaa[broja] < nizbb[brojb])
                {
                    brojc++;
                    brojb++;
                    tempa = nizaa[broja];
                    tempa1 = broja;
                    dab1 = 1;
                    nizaa[broja] = 0;
                }

                if (nizaa[broja] >= nizbb[brojb] && nizaa[broja] > nizcc[brojc])
                {
                    foreach(int x in nizaa)
                    {
                        rez1 = rez1 + Convert.ToString(x);
                    }
                    a = 1;
                    break;
                }

                if (nizaa[broja] <= nizbb[brojb] && nizbb[brojb] > nizcc[brojc])
                {
                    foreach (int x in nizbb)
                    {
                        rez1 = rez1 + Convert.ToString(x);
                    }
                    b = 1;
                    break;
                }

                if (nizcc[brojc] >= nizbb[brojb] && nizaa[broja] < nizcc[brojc])
                {
                    foreach (int x in nizcc)
                    {
                        rez1 = rez1 + Convert.ToString(x);
                    }
                    c = 1;
                    break;
                }

                X:
                if (broja > nizaa.Length-1) broja = 0;
                if (brojb > nizbb.Length-1) brojb = 0;
                if (brojc > nizcc.Length-1) brojc = 0;
            }

            if(dab1 == 1) nizaa[tempa1] = tempa;
            if(dab2 == 1) nizbb[tempb1] = tempb;
            if(dab3 == 1) nizcc[tempc1] = tempc;

            //Drugo i trece mesto

            broja = 0;
            brojb = 0;
            brojc = 0;

            if (a == 1)
            {
                while (true)
                {
                    if (nizbb[brojb] == nizcc[brojc])
                    {
                        brojb++;
                        brojc++;
                        goto Z;
                    }

                    if (nizbb[brojb] > nizcc[brojc])
                    {
                        foreach (int x in nizbb)
                        {
                            rez2 = rez2 + Convert.ToString(x);
                        }
                        foreach (int y in nizcc)
                        {
                            rez3 = rez3 + Convert.ToString(y);
                        }
                        break;
                    }

                    if (nizcc[brojc] > nizbb[brojb])
                    {
                        foreach (int x in nizcc)
                        {
                            rez2 = rez2 + Convert.ToString(x);
                        }
                        foreach (int y in nizbb)
                        {
                            rez3 = rez3 + Convert.ToString(y);
                        }
                        break;
                    }

                    Z:
                    if (brojb > nizbb.Length - 1) brojb = 0;
                    if (brojc > nizcc.Length - 1) brojc = 0;
                }
            }
            if(b == 1)
            {
                while (true)
                {
                    if (nizaa[broja] == nizcc[brojc])
                    {
                        broja++;
                        brojc++;
                        goto Q;
                    }

                    if (nizaa[broja] > nizcc[brojc])
                    {
                        foreach (int x in nizaa)
                        {
                            rez2 = rez2 + Convert.ToString(x);
                        }
                        foreach (int y in nizcc)
                        {
                            rez3 = rez3 + Convert.ToString(y);
                        }
                        break;
                    }

                    if (nizcc[brojc] > nizaa[broja])
                    {
                        foreach (int x in nizcc)
                        {
                            rez2 = rez2 + Convert.ToString(x);
                        }
                        foreach (int y in nizaa)
                        {
                            rez3 = rez3 + Convert.ToString(y);
                        }
                        break;
                    }

                    Q:
                    if (broja > nizaa.Length - 1) broja = 0;
                    if (brojc > nizcc.Length - 1) brojc = 0;
                }
            }
            if(c == 1)
            {
                while (true)
                {
                    if (nizbb[brojb] == nizaa[broja])
                    {
                        brojb++;
                        broja++;
                        goto W;
                    }

                    if (nizbb[brojb] > nizaa[broja])
                    {
                        foreach (int x in nizbb)
                        {
                            rez2 = rez2 + Convert.ToString(x);
                        }
                        foreach (int y in nizaa)
                        {
                            rez3 = rez3 + Convert.ToString(y);
                        }
                        break;
                    }

                    if (nizaa[broja] > nizbb[brojb])
                    {
                        foreach (int x in nizaa)
                        {
                            rez2 = rez2 + Convert.ToString(x);
                        }
                        foreach (int y in nizbb)
                        {
                            rez3 = rez3 + Convert.ToString(y);
                        }
                        break;
                    }

                    W:
                    if (brojb > nizbb.Length - 1) brojb = 0;
                    if (broja > nizaa.Length - 1) broja = 0;
                }
            }
            Y:
            Console.WriteLine(rez1 + rez2 + rez3);
        }
    }
}