#include <stdio.h>
#include<math.h>
unsigned diglenght(const unsigned n) {
    if (n < 10) return 1;
    return 1 + diglenght(n / 10);
}

int main()
{
    unsigned long long int a,b,c,max=0;
    unsigned long long int tomb[5];
    int ah,bh,ch,i;
    scanf("%llu %llu %llu",&a,&b,&c);
    ah=diglenght(a);
    bh=diglenght(b);
    ch=diglenght(c);
   
    tomb[0]=(a*(pow(10,bh))+b)*(pow(10,ch))+c;
    tomb[1]=(a*(pow(10,ch))+c)*(pow(10,bh))+b;
    tomb[2]=(b*(pow(10,ah))+a)*(pow(10,ch))+c;
    tomb[3]=(b*(pow(10,ch))+c)*(pow(10,ah))+a;
    tomb[4]=(c*(pow(10,ah))+a)*(pow(10,bh))+b;
    tomb[5]=(c*(pow(10,bh))+b)*(pow(10,ah))+a;
    

   
    for(i=0;i<6;i++){
        if(tomb[i]>max){
            max = tomb[i];
        }
        
        
    }
    
    
    
    printf("%llu",max);
    
    return 0;
}