#include <iostream>
#include <string>
#include <algorithm>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

bool veci(string a,string b)
{
	int i,l1=a.length(),l2=b.length(),m1,m2;
	m1=min(l1,l2);
	m2=max(l1,l2);
	for(i=0;i<m2;i++)
	{
		if(a[i%m1]>b[i%m1]) return true;
		if(a[i%m1]<b[i%m1]) return false;
	}
	return true;
}

int main(int argc, char** argv) {
	string s[3];
	cin>>s[0]>>s[1]>>s[2];
	if(veci(s[0],s[1])) swap(s[0],s[1]);
	if(veci(s[1],s[2])) swap(s[1],s[2]);
	if(veci(s[0],s[1])) swap(s[0],s[1]);
	cout<<s[2]<<s[1]<<s[0]<<endl;
	return 0;
}