#include <stdio.h>
#include <string.h>
int main(void)
{
/*********Begin*********/
int i,j,m,n;
int max,min;
char a[50],b[50];
gets(a); //从键盘获取两个字符串
gets(b);
m=strlen(a); //分别计算数组a,b的长度
n=strlen(b);
for(i=0,min=0;i<m;i++) //循环判断数组a中的最小值
if(a[min]>a[i])
min=i; //将min的值记为a中最小字符的下标
for(i=0,max=0;i<n;i++) //循环判断数组b中的最小值
if(b[max]<b[i])
max=i; //将max的值记为b中最小字符的下标
for(j=m+1;j>min;j--) //将数组a的长度延伸一位
a[j]=a[j-1]; //从后往前,将最小值后面的字符往后移动一位
a[j+1]=b[max]; //将b的最大字符放到a的最小字符后面
puts(a);
/*********End**********/
return 0;
}