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

bccdb
 z
 dfdeed
 aab
 y
 abac

import java.io.*;
import java.util.Arrays;
import java.util.Date;
import java.util.StringTokenizer;

public class Main
{
    static class FastReader
    {
        final BufferedReader br;
        StringTokenizer st;

        FastReader()
        {
            br = new BufferedReader(new
                    InputStreamReader(System.in));
        }

        FastReader(String inputFile){
            try {
                br = new BufferedReader(new InputStreamReader(new FileInputStream(inputFile)));
            } catch (FileNotFoundException e) {
                throw new RuntimeException(e);
            }
        }

        String next()
        {
            while (st == null || !st.hasMoreElements())
            {
                try
                {
                    st = new StringTokenizer(br.readLine());
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        int nextInt()
        {
            return Integer.parseInt(next());
        }

        long nextLong()
        {
            return Long.parseLong(next());
        }

        double nextDouble()
        {
            return Double.parseDouble(next());
        }

        String nextLine()
        {
            String str = "";
            try
            {
                str = br.readLine();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
            return str;
        }
    }

    static class FastWriter{
        PrintWriter printWriter;

        FastWriter(){
            printWriter = new PrintWriter(new BufferedOutputStream(System.out));
        }

        FastWriter(String outputFile){
            File file = new File(outputFile);
            if (!file.exists()){
                try {
                    if (!file.createNewFile())
                        throw new RuntimeException("Output file was not created!");
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            try {
                printWriter = new PrintWriter(new BufferedOutputStream(new FileOutputStream(file)));
            } catch (FileNotFoundException e) {
                throw new RuntimeException(e);
            }
        }

        void print(Object object){
            printWriter.print(object);
        }

        void print(Object ...objects){
            for (int i = 0; i < objects.length; i ++) {
                printWriter.print(objects[i]);
                if (i != objects.length - 1)
                    printWriter.write(' ');
            }
        }

        void flush(){
            printWriter.flush();
        }
    }

    public static void main(String[] args)
    {
        setup();
        xuly();
    }

    private static char[] oleg, igor, ans;
    private static int n, roundOleg, roundIgor, l, r, idOleg, idIgor;

    private static void setup() {
        FastReader fastReader = new FastReader();
        oleg = fastReader.next().toCharArray();
        igor = fastReader.next().toCharArray();
        n = oleg.length;
        ans = new char[n];
        roundOleg = (n >> 1) + (n & 1);
        roundIgor = n - roundOleg;
        l = 0; r = n - 1; idOleg = 0; idIgor = n - 1;
        Arrays.sort(oleg);
        Arrays.sort(igor);
    }

    private static void xuly() {
        for (int i = 0; i < n; i ++){
            if ((i & 1) == 0){
                if (oleg[idOleg] < igor[idIgor])
                    ans[l ++] = oleg[idOleg ++];
                else
                    ans[r --] = oleg[-- roundOleg];
            } else {
                if (oleg[idOleg] < igor[idIgor])
                    ans[l ++] = igor[idIgor --];
                else
                    ans[r --] = igor[n - (roundIgor --)];
            }
        }
        System.out.print(ans);
    }
}
