#include <iostream>
#include <algorithm>
#include <string>
using namespace std;

int main() {
	short int writeCounter = -1; //Samo obavestava o broju iteracije u while loop-u da bi se pisalo u tacan red array-a.
	short int readCounter = -1; //Counter za test arraya u display i citanje.

	unsigned long long a; //Famozna tri broja.
	unsigned long long b;
	unsigned long long c;


	unsigned long long permList[3][6] = {0};
	
	string longList[6] = {}; //Lista sklopljenih brojeva.

	string strA; //Tri stringa koji se spoje u novi.
	string strB;
	string strC;

	string stringRes; //Rezultujuci string.
	
	cin >> a >> b >> c;

	unsigned long long triBroja[3] = { a,b,c };

	sort(triBroja, triBroja+3); //Sortiramo ova tri broja da bi prva permutacija bila od najmanjeg do najveceg broja.

	do {
		writeCounter++;

		permList[0][writeCounter] = triBroja[0]; //Dodaje rezultate u 2D array.
		permList[1][writeCounter] = triBroja[1];
		permList[2][writeCounter] = triBroja[2];

	} while (next_permutation(triBroja, triBroja + 3));


	do {
		readCounter++;

		a = permList[0][readCounter]; //Recikliramo tri promenjive za unos jer je iovako ovaj program veoma veoma optimizovan.
		b = permList[1][readCounter];
		c = permList[2][readCounter];

		strA = to_string(a);
		strB = to_string(b);
		strC = to_string(c);

		stringRes = strA + strB + strC;


		longList[readCounter] = stringRes;



	} while (readCounter < 5);

	sort(longList, longList + 6, greater<string>());
	cout << longList[0];

	return 0;
}