#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool func(string a, string b)
{
	int c=a.size(),d=b.size();
	int length=(c>=d)*c+(d>c)*d;
	if(c>d)
	{
		for(int i=d;i<c;i++)
		{
			b.push_back(b[i-d]);
		}
	}
	else if(c<d)
	{
		for(int i=c;i<d;i++)
		{
			a.push_back(a[i-c]);
		}
	}
	
	for(int j=0;j<length;j++)
	{
		if(a[j]>b[j])
			return true;
		else if(b[j]>a[j])
			return false;
	}
	if(c>d)
		if(a[d]>b[0])
			return true;
		else return false;
	else if(b[c]>a[0])
			return false;
		 return true;
}
int main()
{   
	vector < string> n;
string a;
	cin>>a;
	n.push_back(a);
	cin>>a;
	n.push_back(a);
	cin>>a;
	n.push_back(a);
	if(func(n[0],n[1]))
		if(func(n[1],n[2]))
			cout<<n[0]<<n[1]<<n[2];
		else if(func(n[0],n[2]))
				cout<<n[0]<<n[2]<<n[1];
			else cout<<n[2]<<n[0]<<n[1];
	else if(func(n[0],n[2]))
			cout<<n[1]<<n[0]<<n[2];
			else if(func(n[1],n[2]))
				cout<<n[1]<<n[2]<<n[0];
				else cout<<n[2]<<n[1]<<n[0];
	system("PAUSE");
	return 0;
}