bcdef
abbbc
 z
y
 reddit
abcdef
 abc
aaa
 y
z
 cbxz
aaaa

bccdb
 z
 dfdeed
 aab
 y
 abac

import java.io.*;
import java.util.*;

public class namingcompany {

    static char[] o,ig,a,b;
    static boolean[] filled;

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        o = br.readLine().toCharArray();
        ig = br.readLine().toCharArray();
        int len=o.length;
        int k=(len+1)/2;
        a = new char[(len+1)/2]; b=new char[(len+1)/2];
        Arrays.sort(o);
        Arrays.sort(ig);
        for (int i = 0; i <a.length ; i++) {
            a[i]=o[i];
            b[i]=ig[len-1-i];
        }

        filled=new boolean[len];
        char r[] = new char[o.length];
        int lefto=0, righto=k-1, lefti=0, righti=k-1,leftr=0,rightr=len-1;
        for (int i = 0; i < len; i++) {
            if (i%2==0) {
                if ((rightr<=0)||(rightr<leftr)||(lefto<k && a[lefto] < b[lefti])) {
                    r[leftr++] = a[lefto++];
                } else {
                   r[rightr--] = a[righto--];
                }
            } else {//==1
                if ((rightr<=0)||(rightr<leftr)||(lefto>=k-1 || b[lefti]>a[lefto])){
                    r[leftr++] = b[lefti++];
                } else {
                    r[rightr--] = b[righti--];
                }
            }
            /*if (i%2==0){
                if (o[nexto]<=ig[nexti]){
                    r[nextr1]=o[nexto++];
                    filled[nextr1]=true;
                    while(nextr1<len&&filled[nextr1++]);//
                }
                else {
                    int k=upper_bound(ig,o[nexto]);
                    r[i+len-k]=o[nexto++];
                    filled[i+len-k]=true;
                    nextr1=i+len-k;
                    while(nextr1<len&&filled[nextr1++]);//

                }
            }
            else {
                r[nextr2]=ig[nexti--];
                filled[nextr2]=true;
                while(nextr2<len&&filled[nextr2++]);//nextr2=i+1;
            }*/
        }




        System.out.println(new String(r));
    }

    public static int upper_bound(char[] arr, int key) {
        int len = arr.length;
        int lo = 0;
        int hi = len - 1;
        int mid = (lo + hi) / 2;
        while (lo < hi) {
            if (arr[mid] > key) {
                hi = mid;
            } else {
                lo = mid + 1;
            }
            mid = (lo + hi) / 2;
        }
        return lo;
    }

}

