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

bool veci(char*a, char*b){
    int na=strlen(a), nb=strlen(b);
    if(na==nb){
        for(int i=0; i<na; i++)
            if(a[i]!=b[i])
                return a[i]<b[i];
        return 0;
    }
    if(na>nb){
        for(int i=0; i<nb; i++)
            if(a[i]!=b[i])
                return a[i]<b[i];
        char c[20];
        for(int i=0; i<na-nb; i++)
            c[i]=a[nb+i];
        return veci(c, b);
    }
    if(nb>na){
        for(int i=0; i<na; i++)
            if(a[i]!=b[i])
                return a[i]<b[i];
        char c[20];
        for(int i=0; i<nb-na; i++)
            c[i]=b[na+i];
        return veci(a, c);
    }
}

char s1[20], s2[20], s3[20];

int main(){
    scanf("%s%s%s", &s1, &s2, &s3);
    if(veci(s1, s2))swap(s1, s2);
    if(veci(s1, s3))swap(s1, s3);
    if(veci(s2, s3))swap(s2, s3);
    cout<<s1<<s2<<s3;
}