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

bccdb
 z
 dfdeed
 aab
 y
 abac

import java.util.Map.Entry;
import java.util.Scanner;
import java.util.TreeMap;

public class C794 {
	public static void main(String[] args) {
		TreeMap<Character, Integer> t1 = new TreeMap<>();
		TreeMap<Character, Integer> t2 = new TreeMap<>();
		Scanner sc = new Scanner(System.in);
		char[] s1 = sc.next().toCharArray();
		char[] s2 = sc.next().toCharArray();
		for (int i = 0; i < s1.length; i++) {
			if (t1.containsKey(s1[i])) {
				t1.put(s1[i], t1.get(s1[i])+1);
			} else {
				t1.put(s1[i], 1);
			}
			if (t2.containsKey(s2[i])) {
				t2.put(s2[i], t2.get(s2[i])+1);
			} else {
				t2.put(s2[i], 1);
			}
		}
		char[] n = new char[s1.length];
		int li = n.length-1;
		int m1 = (n.length+1)/2;
		int m2 = n.length-m1;
		boolean fl = n.length%2 == 0;
		for (int i = 0; m1>0 || m2>0; ) {
			//oleg
			Entry<Character, Integer> e1;
			if (fl) {
				e1 = t1.lastEntry();
				n[li--] = e1.getKey();
			} else {
				e1 = t1.firstEntry();
				n[i++] =  e1.getKey();
			}
			if (e1.getValue() == 1) {
				t1.remove(e1.getKey());
			} else {
				t1.put(e1.getKey(), e1.getValue()-1);
			}
			m1--;

			//System.out.println(new String(n));
			if (m2>0) {
				//igor
				Entry<Character, Integer> e2;
				if (fl) {
					e2 = t2.firstEntry();
					n[li--] =  e2.getKey();
				} else {
					e2 = t2.lastEntry();
					n[i++] =  e2.getKey();
				}
				if (e2.getValue() == 1) {
					t2.remove(e2.getKey());
				} else {
					t2.put(e2.getKey(), e2.getValue()-1);
				}
				m2--;
				//System.out.println(new String(n));
			}
		}
		System.out.println(new String(n));
	}
}
