#include <bits/stdc++.h>
using namespace std;
#define ll long long

int main()
{
    string a,b,c;
    cin >> a >> b >> c;
    ll al = a.length(), bl=b.length(), cl=c.length();

    ll m = min(al,bl);
    m = min(m,cl);

    for(int i=0; i<m; i++)
    {
        if(a[i] > b[i] && a[i] > c[i])
        {
            cout << a;
            al = 0;
            break;
        }
        if(a[i] < b[i] && b[i] > c[i])
        {
            cout << b;
            bl = 0;
            break;
        }
        if(a[i] < c[i] && b[i] < c[i])
        {
            cout << c;
            cl = 0;
            break;
        }
    }

    if(al == 0)
    {
        for(int i=0; i<min(bl,cl); i++)
        {
            if(b[i]>c[i])
            {
                cout << b << c;
                return 0;
            }
            if(b[i]<c[i])
            {
                cout << c << b;
                return 0;
            }
            if(c[i]==b[i] && i==min(bl,cl)-1)
            {
                if(bl < cl)
                {
                    if(c[i+1] > b[0])
                    {
                        cout << c << b;
                        return 0;
                    }
                    cout << b << c;
                    return 0;
                }
                if(cl < bl)
                {
                    if(b[i+1] > c[0])
                    {
                        cout << b << c;
                        return 0;
                    }
                    cout << c << b;
                    return 0;
                }
            }
        }
    }

    if(bl == 0)
    {
        for(int i=0; i<min(al,cl); i++)
        {
            if(a[i]>c[i])
            {
                cout << a << c;
                return 0;
            }
            if(a[i]<c[i])
            {
                cout << c << a;
                return 0;
            }
            if(c[i]==a[i] && i==min(al,cl)-1)
            {
                if(al < cl)
                {
                    if(c[i+1] > a[0])
                    {
                        cout << c << a;
                        return 0;
                    }
                    cout << a << c;
                    return 0;
                }
                if(cl < al)
                {
                    if(a[i+1] > c[0])
                    {
                        cout << a << c;
                        return 0;
                    }
                    cout << c << a;
                    return 0;
                }
            }
        }
    }

    if(cl == 0)
    {
        for(int i=0; i<min(bl,al); i++)
        {
            if(b[i]>a[i])
            {
                cout << b << a;
                return 0;
            }
            if(b[i]<a[i])
            {
                cout << a << b;
                return 0;
            }
            if(a[i]==b[i] && i==min(bl,al)-1)
            {
                if(bl < al)
                {
                    if(a[i+1] > b[0])
                    {
                        cout << a << b;
                        return 0;
                    }
                    cout << b << a;
                    return 0;
                }
                if(al < bl)
                {
                    if(b[i+1] > a[0])
                    {
                        cout << b << a;
                        return 0;
                    }
                    cout << a << b;
                    return 0;
                }
            }
        }
    }



    return 0;
}