#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
using namespace std;
char merge(char a[20],char b[20],char c[20]);
void ulaz()
{
    char a[20],b[20],c[20];
    cin>>a>>b>>c;
    merge(a,b,c);
}
char merge(char a[20],char b[20],char c[20])
{
    char s[60];
    if(strcmp(a,b)>=0 && strcmp(a,c)>=0)
    {
        strcpy(s,a);
        if(strcmp(b,c)>0)
        {
            strcat(s,b);
            strcat(s,c);
        }
        else
        {
            strcat(s,c);
            strcat(s,b);
        }
    }
    else
        if(strcmp(c,b)>=0 && strcmp(c,a)>=0)
        {
            strcpy(s,c);
            if(strcmp(b,a)>0)
            {
                strcat(s,b);
                strcat(s,a);
            }
            else
            {
                strcat(s,a);
                strcat(s,b);
            }
        }
        else
            if(strcmp(b,a)>=0 && strcmp(b,c)>=0)
            {
                strcpy(s,b);
                if(strcmp(a,c)>0)
                {
                    strcat(s,a);
                    strcat(s,c);
                }
                else
                {
                    strcat(s,c);
                    strcat(s,a);
                }
            }
    cout<<s;
}
int main()
{
    ulaz();
}