#include<iostream>
using namespace std;
void brcif(unsigned long long a,unsigned long long &x,unsigned long long &y){
    y=1;x=0;
    while(a!=0){
        a=a/10;
        x++;
        y*=10;
    }
}
int max(unsigned long long a,unsigned long long b,unsigned long long c){
    if(a>=b && a>=c)
        return a;
    else if(b>=a && b>=c)
        return b;
    else
        return c;
}
int main(){
    unsigned long long ax,bx,cx,a,b,c,ad,bd,cd,ac,bc,cc,x,y,p;
    cin>>a>>b>>c;
    brcif(a,x,y);
    ac=x;ad=y;
    brcif(b,x,y);
    bc=x;bd=y;
    brcif(c,x,y);
    cc=x;cd=y;
    if(ac>=bc && ac>=cc){
        ax=a;
        bx=b*ad/bd;
        cx=c*ad/cd;
    }
    else if(bc>=ac && bc>=cc){
        ax=a*bd/ad;
        bx=b;
        cx=c*bd/cd;
    }
    else{
        ax=a*cd/ad;
        bx=b*cd/bd;
        cx=c;
    }
    p=max(ax,bx,cx)/(max(ad,bd,cd)/10);
    if(ac==1 && a==p){
       cout<<a;
       if(max(bx,cx)==bx)
            cout<<b<<c;
       else
            cout<<c<<b;
       return 0;
    }
     if(bc==1){
        if(b==p){
             cout<<b;
            if(max(ax,cx)==ax)
                cout<<a<<c;
            else
                cout<<c<<a;
       return 0;
        }

     }
      if(cc==1 && c==p){
       cout<<c;
       if(max(bx,ax)==bx)
            cout<<b<<a;
       else
            cout<<a<<b;
       return 0;
      }
    if(max(ax,bx,cx)==ax){
        cout<<a;
        if(max(bx,cx)==bx)
            cout<<b<<c;
        else
            cout<<c<<b;
        return 0;
    }

    else if(max(ax,bx,cx)==bx){
        cout<<b;
        if(max(ax,cx)==ax)
            cout<<a<<c;
        else
            cout<<c<<a;
        return 0;
    }
    else{
        cout<<c;
        if(max(bx,ax)==bx)
            cout<<b<<a;
        else
            cout<<a<<b;
        return 0;
    }
    return 0;
}