#include <iostream>
#include <stdio.h>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;/*
struct stringovi
{
    string s;
    int l;//duzinaZAPETA
};*/
bool f(string a,string b)
{
    int aLen=a.size();
    int bLen=b.size();
    int duzina=(aLen>=bLen)*aLen +(bLen>aLen)*bLen;
    if(duzina==aLen)
    {
        for(int i=bLen;i<aLen;i++)
            a.push_back(a[i-bLen]);
    }
    else
        for(int i=aLen;i<bLen;i++)
            a.push_back(a[i-aLen]);

    for(int i=0;i<duzina;i++)
    {
        if(a[i]>b[i])
            return true;
        if(a[i]<b[i])
            return false;

    }
    if(aLen>bLen)
    {
        if(a[bLen]>b[0])
            return false;
        return true;
    }
    else if(aLen<bLen)
        if(b[aLen]>a[0])
        return false;
    return true;
}



vector <string> str;
int main()
{
    for(int i=0;i<3;i++)
    {
        string h;
        cin>>h;
        str.push_back(h);
    }

    str.push_back("2");
    str.pop_back();

    sort(str.begin(),str.end(),f);
    for(int i=0;i<3;i++)
    {
        cout<<str[i];
    }
    return 0;
}