import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        String s = in.nextLine();
        String t = in.nextLine();
        char [] tArray = t.toCharArray();
        for(int i = 1;i<t.length();i++){    //将t进行排序
            for(int j = 0;j<t.length()-i;j++){
                if(tArray[j]<tArray[j+1]){
                    char temp = tArray[j];
                    tArray[j] = tArray[j+1];
                    tArray[j+1] = temp;
                }
            }
        }
        // for(int i = 0;i<t.length();i++) System.out.print(tArray[i]+" ");
        // System.out.println();
        int count =0;
        String result = "";
        int jilu = 0;
        boolean judge = false;
        for(int i = 0;i<s.length();i++){
            if(count>=t.length()){jilu=i;   judge = true;    break;}
            if(s.charAt(i)<tArray[count]){
                result+=tArray[count];
                count++;
                }else{
                    result+=s.charAt(i);
                }
        }
        if(judge){
            for(int i = jilu;i<s.length();i++){
            result+=s.charAt(i);
        }}
        System.out.print(result);
    }
    
}

先把下面的排序,然后跟上面字符串一个一个比较,如果下面的比较大,就替换掉上面。