#include<iostream>
#include<cstring>
#include<cstdio>

using namespace std;

int main()
{
    char A[25], B[25], C[25];
    int pom=0, i, j=0;
    int r, q, p, najveci;
    scanf("%s%s%s", A, B, C);
    r=strlen(A);
    q=strlen(B);
    p=strlen(C);
    if((r>=q)&&(r>=p))
        najveci = r;
    else if((q>=r)&&(q>=p))
        najveci = q;
    else
        najveci = p;
    pom=0;
    for(i=0; i<najveci; i++)
    {
        if((A[i] > B[i]) && (A[i] > C[i]))
            pom=1;
        else if((B[i] > A[i]) && (B[i] > C[i]))
            pom=2;
        else if((C[i] > A[i]) && (C[i] > B[i]))
            pom=3;

        if(pom!=0)
            break;
    }

    if(pom==1){
        for(i=0; i<najveci; i++)
            if(B[i] > C[i]){
                printf("%s%s%s", A, B, C);
                return 0;
                }
            else if(C[i] > B[i]){
                printf("%s%s%s", A, C, B);
                return 0;
                }
            else{
                printf("%s%s%s", A, B, C);
                return 0;
            }
    }
    else if(pom==2){
        for(i=0; i<najveci; i++)
            if(A[i] > C[i]){
                printf("%s%s%s", B, A, C);
                return 0;
                }
            else if(C[i] > A[i]){
                printf("%s%s%s", B, C, A);
                return 0;
                }
            else{
                printf("%s%s%s", B, A, C);
                return 0;
            }
    }
    else{
        for(i=0; i<najveci; i++)
            if(A[i] > B[i]){
                printf("%s%s%s", C, A, B);
                return 0;
                }
            else if(B[i] > A[i]){
                printf("%s%s%s", C, B, A);
                return 0;
                }
            else{
                printf("%s%s%s", C, A, B);
                return 0;
            }
    }
    printf("%s%s%s", A, B, C);
    return 0;
}