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

bccdb
 z
 dfdeed
 aab
 y
 abac

import java.util.*;
import java.lang.*;
import java.io.*;
import java.math.*;
 
public class Main{
    public static int mod=(int)Math.pow(10,9)+7;
    public static void main (String[] args) throws java.lang.Exception{
        //BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
        InputReader in=new InputReader(System.in);
        PrintWriter out=new PrintWriter(System.out);
        String s1=in.readString();
        String s2=in.readString();
        char[] jmp=s1.toCharArray();
        Arrays.sort(jmp);
        s1=new String(jmp);
        jmp=s2.toCharArray();
        Arrays.sort(jmp);
        s2=new String(jmp);
        int n=s1.length();
        int[] f=new int[26];
        int[] l=new int[26];
        int[] t=new int[26];
        for(int i=0;i<(n+1)/2;i++){
            f[s1.charAt(i)-'a']++;
            t[s1.charAt(i)-'a']++; 
        }
        for(int i=0;i<n/2;i++){
            l[s2.charAt(n-1-i)-'a']++;
            t[s2.charAt(n-1-i)-'a']++;
        }
        char[] ans=new char[n];
        Arrays.fill(ans,' ');
        for(int i1=0;i1<n;i1++){
            if(i1%2==0){
                //lex small
                int pos=0;
                boolean placed=false;
                for(int i=0;i<26;i++){
                    if(t[i]!=0){
                        if(f[i]!=0){
                            int posstart=0;
                            for(int j=0;j<n;j++){
                                if(pos==0)
                                    break;
                                if(ans[j]==' '){
                                    pos--;
                                    posstart++;
                                }
                            }
                            for(int j=pos;j<n;j++){
                                if(ans[j]==' '){
                                    ans[j]=(char)('a'+i);
                                    placed=true;
                                    break;
                                }
                            }
                            if(!placed){
                                for(int j=pos;j>=0;j--){
                                    if(ans[j]==' '){
                                        ans[j]=(char)('a'+i);
                                        placed=true;
                                        break;
                                    }
                                }
                            }
                            placed=true;
                            f[i]--;
                            t[i]--;
                            pos++;
                            break;
                        }else pos+=t[i];
                    }
                    if(pos>=n-i1)break;
                }
                if(!placed){
                int placable=0;
                for(int i=25;i>=0;i--){
                    if(f[i]!=0){
                        placable=i;
                        f[i]--;
                        t[i]--;
                        break;
                    }
                }
                    for(int i=n-1;i>=0;i--){
                        if(ans[i]==' '){
                            ans[i]=(char)('a'+placable);
                            break;
                        }
                    }
                }
            }else{
                //lex big
                int pos=0;
                boolean placed=false;
                for(int i=25;i>=0;i--){
                    if(t[i]!=0){
                        if(l[i]!=0){
                            int posstart=0;
                            for(int j=0;j<n;j++){
                                if(pos==0)
                                    break;
                                if(ans[j]==' '){
                                    pos--;
                                    posstart++;
                                }
                            }
                            for(int j=pos;j<n;j++){
                                if(ans[j]==' '){
                                    ans[j]=(char)('a'+i);
                                    placed=true;
                                    break;
                                }
                            }
                            if(!placed){
                                for(int j=pos;j>=0;j--){
                                    if(ans[j]==' '){
                                        ans[j]=(char)('a'+i);
                                        placed=true;
                                        break;
                                    }
                                }
                            }
                            placed=true;
                            l[i]--;
                            t[i]--;
                            pos++;
                            break;
                        }else pos+=t[i];
                    }
                    if(pos>=n-i1)break;
                }
                if(!placed){
                int placable=0;
                for(int i=0;i<26;i++){
                    if(l[i]!=0){
                        placable=i;
                        l[i]--;
                        t[i]--;
                        break;
                    }
                }
                    for(int i=n-1;i>=0;i--){
                        if(ans[i]==' '){
                            ans[i]=(char)('a'+placable);
                            break;
                        }
                    }
                }

            }        
            /*for(char c:ans)
                out.print(c);
            out.println();
            for(int a:f)
                out.print(a+" ");
            out.println();
            for(int a:l)
                out.print(a+" ");
            out.println();
            for(int a:t)
                out.print(a+" ");
            out.println();*/
        }
        for(char c:ans)
            out.print(c);
        out.println();
        out.flush();
    }
    static final class InputReader{
        private final InputStream stream;
        private final byte[] buf=new byte[1024];
        private int curChar;
        private int numChars;
        public InputReader(InputStream stream){this.stream=stream;}
        private int read()throws IOException{
            if(curChar>=numChars){
                curChar=0;
                numChars=stream.read(buf);
                if(numChars<=0)
                    return -1;
            }
            return buf[curChar++];
        }
        public final int readInt()throws IOException{return (int)readLong();}
        public final long readLong()throws IOException{
            int c=read();
            while(isSpaceChar(c)){
                c=read();
                if(c==-1) throw new IOException();
            }
            boolean negative=false;
            if(c=='-'){
                negative=true;
                c=read();
            }
            long res=0;
            do{
                if(c<'0'||c>'9')throw new InputMismatchException();
                res*=10;
                res+=(c-'0');
                c=read();
            }while(!isSpaceChar(c));
            return negative?(-res):(res);
        }
        public final int[] readIntBrray(int size)throws IOException{
            int[] arr=new int[size];
            for(int i=0;i<size;i++)arr[i]=readInt();
            return arr;
        }
        public final String readString()throws IOException{
            int c=read();
            while(isSpaceChar(c))c=read();
            StringBuilder res=new StringBuilder();
            do{
                res.append((char)c);
                c=read();
            }while(!isSpaceChar(c));
            return res.toString();
        }
        public final String readLine()throws IOException{
            int c=read();
            while(isSpaceChar(c))c=read();
            StringBuilder res=new StringBuilder();
            do{
                res.append((char)c);
                c=read();
            }while(!isSpaceChar(c));
            return res.toString();
        }
        private boolean isSpaceChar(int c){
            return c==' '||c=='\n'||c=='\r'||c=='\t'||c==-1;
        }
    }
}