using System;
using System.Collections.Generic;
using System.Linq;

class Program
    {
        static string Max(byte A, byte B, byte C)
        {
            if (A > B && A > C) return "A";
            if (B > C && B > A) return "B";
            if (C > A && C > B) return "C";
            return "";
        }

        static void Main(string[] args)
        {
            string[] brojevi = Console.ReadLine().Split(' ');
            string broj = "";
            List<byte> neiskorisceni = new byte[] { 0, 1, 2 }.ToList();
            int used = 0;

            for(byte i = 0; i < 19; i++)
            {
                byte A = Convert.ToByte(brojevi[0][i]);
                byte B = Convert.ToByte(brojevi[1][i]);
                byte C = Convert.ToByte(brojevi[2][i]);
                string max = Max(A, B, C);

                switch (max)
                {
                    case "A":
                        broj += brojevi[0];
                        neiskorisceni.Remove(0);
                        used = (brojevi[0] + "").Length;
                        break;
                    case "B":
                        broj += brojevi[1];
                        neiskorisceni.Remove(1);
                        used = (brojevi[1] + "").Length;
                        break;
                    case "C":
                        broj += brojevi[2];
                        neiskorisceni.Remove(2);
                        used = (brojevi[2] + "").Length;
                        break;
                    default:
                        continue;
                }
                break;
            }

            if(broj == "")
            {
                if (brojevi[0] == brojevi[1]) broj = brojevi[0] + brojevi[1] + brojevi[2];
                else if (brojevi[1] == brojevi[2]) broj = brojevi[1] + brojevi[2] + brojevi[0];
                else broj = brojevi[0] + brojevi[2] + brojevi[1];
            }
            else for (byte i = 0; i < 19; i++)
            {
                byte A = Convert.ToByte(brojevi[neiskorisceni[0]][i]);
                byte B = Convert.ToByte(brojevi[neiskorisceni[1]][i]);

                if (A > B) broj += brojevi[neiskorisceni[0]] + brojevi[neiskorisceni[1]];
                else if (B > A) broj += brojevi[neiskorisceni[1]] + brojevi[neiskorisceni[0]];
                else continue;
                break;
            }
            if (used == broj.Length) broj += brojevi[neiskorisceni[0]] + brojevi[neiskorisceni[1]];


            Console.WriteLine(broj);
            Console.Read();
        }
    }