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 Main {

    public static void main(String[] args) throws Exception {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(System.out);
        PriorityQueue<Character> oleg = new PriorityQueue<>();
        PriorityQueue<Character> igor = new PriorityQueue<>(Collections.reverseOrder());
        ArrayList<Character> ol = new ArrayList<>();
        ArrayList<Character> il = new ArrayList<>();

        String string = in.readLine();
        int n = string.length();
        for (int i = 0; i < n; i++) {
            oleg.offer(string.charAt(i));
            ol.add(string.charAt(i));
        }
        string = in.readLine();
        for (int i = 0; i < n; i++) {
            igor.offer(string.charAt(i));
            il.add(string.charAt(i));
        }

        //Collections.sort(ol);
        //Collections.sort(il, Collections.reverseOrder());
        //System.out.println("OLEG: " + ol.toString());
        //System.out.println("IGOR: " + il.toString());

        int left = 0;
        int right = n-1;
        char[] word = new char[n];
        for (int i = 0; i < n; i++) {
            if (i % 2 == 0) {
                // oleg
                if (igor.peek() <= oleg.peek()) {
                    word[right] = oleg.poll();
                    right--;
                } else {
                    word[left] = oleg.poll();
                    left++;
                }
            } else {
                // igor
                if (igor.peek() <= oleg.peek()) {
                    word[right] = igor.poll();
                    right--;
                } else {
                    word[left] = igor.poll();
                    left++;
                }
            }
        }
        for (int i = 0; i < n; i++) out.print(word[i]);
        out.print('\n');
        out.close();
    }

}

/*

 */