#include <iostream>
#include <string>

using namespace std;

string A,B,C;

string LexMax(string a, string b)
{
    int n = max(a.length(),b.length());
    for(int i=0;i<n;i++)
    {
        if(a[i%a.length()] > b[i%b.length()]){ return a;}
        if(a[i%a.length()] < b[i%b.length()]){ return b;}
    }
    return a;
}

int main()
{
    cin>>A>>B>>C;
    string jedan=LexMax(A,LexMax(B,C));
    string dva = "";
    string tri = "";
    if(jedan == A)
    {
        dva = LexMax(B,C);
        if(dva == B){ tri = C;}
        else{ tri = B;}
    }
    else if (jedan == B)
    {
        dva = LexMax(A,C);
        if(dva == A){ tri = C;}
        else{ tri = A;}
    }
    else
    {
        dva = LexMax(A,B);
        if(dva == B){ tri = A;}
        else{ tri = B;}
    }
    cout<<jedan<<dva<<tri;
    return 0;
}