#include <stdio.h>
#include <string.h>


int main(){
    char s1[60],s2[60],s3[60];

    scanf("%s%s%s",s1,s2,s3);   
    char x[strlen(s1)];
    char y[strlen(s2)];
    char z[strlen(s3)];

    strcpy(x,s1);
    strcpy(y,s2);
    strcpy(z,s3);

    int len = strlen(s1) + strlen(s2) + strlen(s3);
    char p1[len],p2[len],p3[len],p4[len],p5[len],p6[len];
    char cmp1[len],cmp2[len],cmp3[len];
    
    strcat(s1,s2);
    strcat(s1,s3);
    strcpy(p1, s1);
    strcpy(s1,x);
    strcat(s1,s3);
    strcat(s1,s2);
    strcpy(p2,s1);

    if(strcmp(p1,p2) > 0)
    strcpy(cmp1,p1);
    else 
    strcpy(cmp1,p2);

    strcpy(s1,x);
    strcat(s2,s1);
    strcat(s2,s3);
    strcpy(p3,s2);
    strcpy(s2,y);
    strcat(s2,s3);
    strcat(s2,s1);
    strcpy(p4,s2);

    if(strcmp(p3,p4) > 0)
    strcpy(cmp2,p3);
    else 
    strcpy(cmp2,p4);

    strcpy(s2,y);
    strcat(s3,s1);

    strcat(s3,s2);

    strcpy(p5,s3);

    strcpy(s3,z);
    strcat(s3,s2);
    strcat(s3,s1);
    strcpy(p6,s3);
    strcpy(s3,z);


    if(strcmp(p5,p6) > 0)
    strcpy(cmp3,p5);
    else 
    strcpy(cmp3,p6);

    char final[len];
    strcpy(final,cmp1);

    if(strcmp(final,cmp2) < 0 && strcmp(cmp2,cmp3)>0)
    strcpy(final,cmp2);

    if(strcmp(final,cmp3)<0 && strcmp(cmp3,cmp2)>0)
    strcpy(final,cmp3);

    printf("%s\n",final);
    return 0;
}