#include <stdio.h>
#include <math.h>
main(){
	unsigned long long A,B,C,A1,B1,C1,A2,B2,C2,MAX,MIN,SR,A3,B3,C3;
	double P,proseka,prosekb,prosekc,prosekj,prosekk,prosekl;
	unsigned o,p,q,j,k,l,r,s,t,i,w,e,m,n,b;
	int brcifa,brcifb,brcifc,prvibra,prvibrb,prvibrc,brcifmin,poslcifa,poslcifb,poslcifc,brcifmax,brcifmini,brcifsr,prvibrj,prvibrk,prvibrl,brcifj,brcifk,brcifl,suma,sumb,sumc;
	scanf("%llu%llu%llu",&A,&B,&C);
	o=(int)log10(A);
	p=(int)log10(B);
	q=(int)log10(C);
	r=o+1;
	s=p+1;
	t=q+1;
	j=A;
	k=B;
	l=C;
	i=A;
	w=B;
	e=C;
	while (i != 0)
   {
      m = i % 10;
      suma = suma + m;
      i= i / 10;
   }
   while (w != 0)
   {
      n = w % 10;
      sumb = sumb + n;
      w = w / 10;
   }
   while (e != 0)
   {
      b = e % 10;
      sumc = sumc + b;
      e = e / 10;
   }
	
	brcifa=(int)log10(A)+1;
	brcifb=(int)log10(B)+1;
	brcifc=(int)log10(C)+1;
	brcifj=(int)log10(j)+1;
	brcifk=(int)log10(k)+1;
	brcifl=(int)log10(l)+1;
	poslcifa=A%10;
	poslcifb=B%10;
	poslcifc=C%10;
	if(A1==B1 && A1==C1){
	proseka=A/o+1;
	prosekb=B/p+1;
	prosekc=C/q+1;
	prosekj=suma/o;
	prosekk=sumb/p;
	prosekl=sumc/q;
	
	}
	prvibra = (int)(A / pow(10, r));
	prvibrb = (int)(B / pow(10, s));
	prvibrc = (int)(C / pow(10, t));
	prvibrj = (int)(j / pow(10, o));
	prvibrk = (int)(k / pow(10, p));
	prvibrl = (int)(l / pow(10, q));
	
	if(A>B && A>C)MAX=A;
	else if(B>A && B>C)MAX=B;
	else MAX=C;
	if(A<B && A<C)MIN=A;
	else if(B<A && B<C)MIN=B;
	else MIN=C;
	if(A>B && A<C || A<B && A>C)SR=A;
	else if(B>A && B<C || B<A && B>C)SR=B;
	else SR = C;
	brcifmax=(int)log10(MAX)+1;
	brcifmini=(int)log10(MIN)+1;
	brcifsr=(int)log10(SR)+1;
	
	if(brcifa<=brcifb && brcifa<=brcifc)brcifmin=r;
	else if(brcifb<brcifa && brcifb<brcifc)brcifmin=s;
	else brcifmin=t;
	if(r>brcifmin)A1=(A-(int)(A%((int)pow(10,r-brcifmin))))/pow(10,(r-brcifmin));
	else A1=A;
	if(s>brcifmin)B1=(B-(int)(B%((int)pow(10,s-brcifmin))))/pow(10,(s-brcifmin));
	else B1=B;
	if(t>brcifmin)C1=(C-(int)(C%((int)pow(10,t-brcifmin))))/pow(10,(t-brcifmin));
	else C1=C;
	while(prvibrj==prvibrk && prvibrj==prvibrl ){
		j%=(int)pow(10,brcifj-1);
		k%=(int)pow(10,brcifk-1);
		l%=(int)pow(10,brcifl-1);
		if( j<(int)pow(10,brcifa) || k<(int)pow(10,brcifb) || l<(int)pow(10,brcifc))break ;
	}
	
	if (A1==B1 && A1==C1 && A!=B && A!=C){
		if(prosekj>=prosekk && prosekj>prosekl && prosekk>prosekl)P=A*pow(10,brcifb+brcifc)+B*pow(10,brcifc)+C,printf; 
		else if(prosekj>prosekk &&prosekj>=prosekl &&  prosekk<=prosekl) P=A*pow(10,brcifb+brcifc)+C*pow(10,brcifb)+B,printf; 
		else if(prosekj>=prosekk && prosekj<=prosekl && prosekk>prosekl)P=B*pow(10,brcifa+brcifc)+A*pow(10,brcifc)+C,printf; 
		else if(prosekj>=prosekk && prosekj<=prosekl && prosekk<prosekl)P=C*pow(10,brcifa+brcifb)+A*pow(10,brcifb)+B,printf; 
		else if(prosekj<prosekk && prosekj<=prosekl && prosekk>=prosekl)P=B*pow(10,brcifa+brcifc)+C*pow(10,brcifa)+A,printf; 
		else if(prosekj<=prosekk && prosekj<prosekl && prosekk<=prosekl)P=C*pow(10,brcifa+brcifb)+B*pow(10,brcifa)+A,printf;  
		else if(prosekj<=prosekk && prosekj>=prosekl && prosekk>prosekl)P=B*pow(10,brcifa+brcifc)+A*pow(10,brcifc)+C,printf; 
		else if(prosekj>prosekk && prosekj>=prosekl && prosekk<=prosekl)P=A*pow(10,brcifb+brcifc)+C*pow(10,brcifb)+B,printf; 
	}
	else if(A==B && A!=C && A<C)P=C*pow(10,brcifb+brcifa)+B*pow(10,brcifa)+A;
	else if(A==B && A!=C && A>C)P=A*pow(10,brcifb+brcifc)+B*pow(10,brcifc)+C;
	else if(A==C && A!=B && A>B)P=A*pow(10,brcifb+brcifc)+C*pow(10,brcifb)+B;
	else if(A==C && A!=B && A<B)P=B*pow(10,brcifc+brcifa)+C*pow(10,brcifa)+A;
	else if(B==C && B!=A && B>A)P=B*pow(10,brcifc+brcifa)+C*pow(10,brcifa)+A;
	else if(B==C && B!=A && B<A)P=A*pow(10,brcifb+brcifc)+B*pow(10,brcifc)+C;
	

	else if(A1!=B1 && A1!=C1 && B1!=C1){
		if(A==B&&B==C)P=A*pow(10,brcifc+brcifb)+B*pow(10,brcifc)+C;
		else if(A==B && A!=C && A1>C1)P=A*pow(10,brcifc+brcifb)+B*pow(10,brcifc)+C;
		else if(A==B && A!=C && A1<C1)P=C*pow(10,brcifa+brcifb)+A*pow(10,brcifb)+B;
		else if(A!=B && B==C && A1>B1)P=A*pow(10,brcifc+brcifb)+B*pow(10,brcifc)+C;
		else if(A!=B && B==C && A1<B1)P=C*pow(10,brcifa+brcifb)+B*pow(10,brcifa)+A;
		else if(A==C && A!=B && A1>B1)P=A*pow(10,brcifb+brcifc)+C*pow(10,brcifb)+B;
		else if(A==C && A!=B && A1<B1)P=B*pow(10,brcifa+brcifc)+C*pow(10,brcifa)+A;
		else if(A1>B1 && A1>C1 && B1>C1)P=A*pow(10,brcifc+brcifb)+B*pow(10,brcifc)+C;
		else if(A1>B1 && A1>C1 && B1<C1)P=A*pow(10,brcifc+brcifb)+C*pow(10,brcifb)+B;
		else if(B1>A1 && B1>C1 && A1>C1)P=B*pow(10,brcifc+brcifa)+A*pow(10,brcifc)+C;
		else if(B1>A1 && B1>C1 && C1>A1)P=B*pow(10,brcifc+brcifa)+C*pow(10,brcifa)+A;
		else if(C1>A1 && C1>B1 && A1>B1)P=C*pow(10,brcifb+brcifa)+A*pow(10,brcifb)+B;
		else if(C1>A1 && C1>B1 && A1<B1)P=C*pow(10,brcifb+brcifa)+B*pow(10,brcifa)+A;
	
}
	else {
			if(A>B && A>C && B1>C1)P=A*pow(10,brcifc+brcifb)+B*pow(10,brcifc)+C;
		else if(A>B && A>C && B1<C1)P=A*pow(10,brcifc+brcifb)+C*pow(10,brcifb)+B;
		else if(B>A && B>C && A1>C1)P=B*pow(10,brcifc+brcifa)+A*pow(10,brcifc)+C;
		else if(B>A && B>C && C1>A1)P=B*pow(10,brcifc+brcifa)+C*pow(10,brcifa)+A;
		else if(C>A && C>B && A1>B1)P=C*pow(10,brcifb+brcifa)+A*pow(10,brcifb)+B;
		else if(C>A && C>B && A1<B1)P=C*pow(10,brcifb+brcifa)+B*pow(10,brcifa)+A;
		P=MAX*pow(10,brcifmin+brcifsr)+SR*pow(10,brcifmin)+MIN;
}
	printf("%lf",P);

	
}