program takorgpetprog2;

var
   v,p,v1,v2,v3,v4,v5,v6,a,b,c:string;

  g,k,h,max:longint   ;

begin
    readln(p);
g:=  pos(' ',p)  ;
  a:=copy(p, 1, g-1)    ;

delete(p, 1, g)   ;
g:=  pos(' ',p)  ;
  b:=copy(p, 1, g-1)    ;

delete(p, 1, g)   ;
c:=p ;
    v1:=(a+b+c)     ;

    v2:=(a+c+b);
    v3:=(b+a+c)   ;
    v4:=(b+c+a)   ;
    v5:=(c+b+a)   ;
    v6:=(c+a+b)   ;


   max:=length(v6);
    v:=V1           ;
    for k:=1 to max do begin
       if v[k] < v2[k] then begin v:=v2  ;
       break;  end;
       if v[k] > v2[k] then break;

       end;
       for k:=1 to max do begin
       if v[k] < v3[k] then begin v:=v3  ;
       break;  end;
       if v[k] > v3[k] then break;

       end;
          for k:=1 to max do begin
       if v[k] < v4[k] then begin v:=v4  ;
       break;  end;
       if v[k] > v4[k] then break;

       end;
             for k:=1 to max do begin
       if v[k] < v5[k] then begin v:=v5  ;
       break;  end;
       if v[k] > v5[k] then break;

       end;
                for k:=1 to max do begin
       if v[k] < v6[k] then begin v:=v6  ;
       break;  end;
       if v[k] > v6[k] then break;

       end;
     writeln(v)     ;
      readln


end.