#include <iostream>
#include <math.h>
#include <algorithm>
using namespace std;
int br_cifara(int a){
	int pom = a , n = 0;
	while(pom > 0){
		n++;
		pom /= 10;
	}
	return n;
}
int main(int argc, char** argv) {
	unsigned long long int a , b , c;
	cin>>a>>b>>c;
	unsigned long long int m1,  m2, m3, m4 , m5 , m6;
	int pom1 = br_cifara(b) + br_cifara(c);
	int	pom2 = br_cifara(b) + br_cifara(a);
	int	pom3 = br_cifara(a) + br_cifara(c);
	m1 = a * pow(10 , pom1) + b * pow(10 , br_cifara(c)) + c;
	m2 = a * pow(10 , pom1) + c * pow(10 , br_cifara(b)) + b;
	m3 = b * pow(10 , pom3) + a * pow(10 , br_cifara(c)) + c;
	m4 = b * pow(10 , pom3) + c * pow(10 , br_cifara(a)) + a;
	m5 = c * pow(10 , pom2) + a * pow(10 , br_cifara(b)) + b;
	m6 = c * pow(10 , pom2) + b * pow(10 , br_cifara(a)) + a;
	unsigned long long int max1 , max2 , max3 , max4;
	max1 = max(m1 , m2);
	max2 = max(max1 , m3);
	max3 = max(max2 , m4);
	max4 = max(max3 , m5);
	unsigned long long int max5 = max(max4 , m6);
	cout<<max5;
	
	return 0;
}