#include <iostream>
using namespace std;
void BrojUNiz(int x[],long int a,int &n){
    n=0;
while(a!=0){
    x[n++]=a%10;
    a/=10;
}
}
int main()
{
    long int X,Y;
    int n,m,k=0;
    cin>>X>>Y;
    int x[10],y[10],z[20];
    BrojUNiz(x,X,n);
    BrojUNiz(y,Y,m);
    while(n>m)
      z[k++]=x[--n];
    while(m>n)
        z[k++]=y[--m];
     while(n>0){
        if(x[n-1]>y[n-1])
            z[k++]=x[n-1];
        else if(x[n-1]<y[n-1])
             z[k++]=y[n-1];

        else{z[k++]=x[n-1];
            z[k++]=x[n-1];}
          n--;
     }

    for(int i=0;i<k;i++)
        cout<<z[i];

      return 0;
}