#include <iostream>

using namespace std;
int main()
{
    string x,y,z;
    cin>>x>>y>>z;
    bool b=true,m=true;
    int n;
    string p;
    if(x.length()<y.length())
       n=x.length();
    else
        n=y.length();
    for(int i=0;i<n;i++)
    {
        if(y[i]>x[i])
        {
            p=x;
            x=y;
            y=p;
            b=false;
            break;
        }
        if(x[i]>y[i])
        {
            b=false;
            break;
        }

    }
    if(b)
    {
        if(x.length()<y.length())
        {
            for(int i=x.length();i<y.length();i++)
            {
                if(y[i]!=0)
                {
                    m=false;
                    break;
                }
            }
            if(!m)
            {
                p=x;
                x=y;
                y=p;
            }
        }
        else
        {
            for(int i=y.length();i<x.length();i++)
            {
                if(x[i]!=0)
                {
                    m=false;
                    break;
                }
            }
            if(m)
            {
                p=x;
                x=y;
                y=p;
            }
        }
    }
    m=true;
    b=true;

    if(y.length()<z.length())
       n=y.length();
    else
        n=z.length();
    for(int i=0;i<n;i++)
    {
        if(z[i]>y[i])
        {
            p=y;
            y=z;
            z=p;
            b=false;
            break;
        }
        if(y[i]>z[i])
        {
            b=false;
            break;
        }

    }
    if(b)
    {
        if(z.length()<y.length())
        {
            for(int i=z.length();i<y.length();i++)
            {
                if(y[i]!=0)
                {
                    m=false;
                    break;
                }
            }
            if(!m)
            {
                p=y;
                y=z;
                z=p;
            }
        }
        else
        {
            for(int i=y.length();i<z.length();i++)
            {
                if(z[i]!=0)
                {
                    m=false;
                    break;
                }
            }
            if(m)
            {
                p=y;
                y=z;
                z=p;
            }
        }
    }
    m=true;
    b=true;

    if(x.length()<y.length())
       n=x.length();
    else
        n=y.length();
    for(int i=0;i<n;i++)
    {
        if(y[i]>x[i])
        {
            p=x;
            x=y;
            y=p;
            b=false;
            break;
        }
        if(x[i]>y[i])
        {
            b=false;
            break;
        }

    }
    if(b)
    {
        if(x.length()<y.length())
        {
            for(int i=x.length();i<y.length();i++)
            {
                if(y[i]!=0)
                {
                    m=false;
                    break;
                }
            }
            if(!m)
            {
                p=x;
                x=y;
                y=p;
            }
        }
        else
        {
            for(int i=y.length();i<x.length();i++)
            {
                if(x[i]!=0)
                {
                    m=false;
                    break;
                }
            }
            if(m)
            {
                p=x;
                x=y;
                y=p;
            }
        }
    }
    string s=x+y+z;
    cout<<s;



    return 0;
}