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

bccdb
 z
 dfdeed
 aab
 y
 abac

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Random;
import java.util.StringTokenizer;

public class P {

	static String done(int N, int turn, char[] s1, char[] s2, int l, int curO, int curI) {
		StringBuilder ret = new StringBuilder();
		for (int i = N - 1; i >= l; i--) {
			if (turn == 0) {
				ret = new StringBuilder(s1[curO--] + "").append(ret);
			} else {
				ret = new StringBuilder(s2[curI++] + "").append(ret);
			}
			turn ^= 1;
		}
		return ret.toString();
	}

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		char[] s1 = sc.next().toCharArray();
		char[] s2 = sc.next().toCharArray();
		int N = s1.length;
		Arrays.sort(s1);
		Arrays.sort(s2);
		ArrayList<Character> t1 = new ArrayList<Character>(), t2 = new ArrayList<Character>();
		for (int i = 0; i <= N / 2; i++) {
			t1.add(s1[i]);
			t2.add(s2[N - i - 1]);
		}

		int curO = 0, curI = 0;
		int turn = 0;
		char[] ans = new char[N];
		int pos = 0;
		for (int i = 0; i < N; i++) {
			char curC1 = t1.get(curO);
			char curC2 = t2.get(curI);
			if (turn == 0) {
				if (curC1 < curC2) {
					ans[pos++] = t1.get(curO++);
				} else {
					curO = t1.size() - 1;
					curI = t2.size() - 1;
					for (int k = N - 1; k >= i; k--) {
						if (turn == 0)
							ans[k] = t1.get(curO--);
						else
							ans[k] = t2.get(curI--);
						turn ^= 1;
					}
					break;
				}
			} else {
				if (curC1 > curC2) {
					ans[pos++] = t2.get(curI++);
				} else {
					curO = t1.size() - 1;
					curI = t2.size() - 1;
					for (int k = N - 1; k >= i; k--) {
						if (turn == 0)
							ans[k] = t1.get(curO--);
						else
							ans[k] = t2.get(curI--);
						turn ^= 1;
					}
					break;
				}
			}
			turn ^= 1;
		}
		System.out.println(ans);

	}

	static class Scanner {
		StringTokenizer st;
		BufferedReader br;

		public Scanner(InputStream s) {
			br = new BufferedReader(new InputStreamReader(s));
		}

		public Scanner(String f) throws FileNotFoundException {
			br = new BufferedReader(new FileReader(f));
		}

		public String next() throws IOException {
			while (st == null || !st.hasMoreTokens())
				st = new StringTokenizer(br.readLine());
			return st.nextToken();
		}

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

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

		public String nextLine() throws IOException {
			return br.readLine();
		}

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

		public boolean ready() throws IOException {
			return br.ready();
		}

		public int[] nextIntArray(int n) throws IOException {
			int[] a = new int[n];
			for (int i = 0; i < n; i++)
				a[i] = nextInt();
			return a;
		}

		public int[] nextIntArray1(int n) throws IOException {
			int[] a = new int[n + 1];
			for (int i = 1; i <= n; i++)
				a[i] = nextInt();
			return a;
		}

		public int[] shuffle(int[] a, int n) {
			int[] b = new int[n];
			for (int i = 0; i < n; i++)
				b[i] = a[i];
			Random r = new Random();
			for (int i = 0; i < n; i++) {
				int j = i + r.nextInt(n - i);
				int t = b[i];
				b[i] = b[j];
				b[j] = t;
			}
			return b;
		}

		public int[] nextIntArraySorted(int n) throws IOException {
			int[] a = nextIntArray(n);
			a = shuffle(a, n);
			Arrays.sort(a);
			return a;
		}

		public long[] nextLongArray(int n) throws IOException {
			long[] a = new long[n];
			for (int i = 0; i < n; i++)
				a[i] = nextLong();
			return a;
		}

		public long[] nextLongArray1(int n) throws IOException {
			long[] a = new long[n + 1];
			for (int i = 1; i <= n; i++)
				a[i] = nextLong();
			return a;
		}

		public long[] nextLongArraySorted(int n) throws IOException {
			long[] a = nextLongArray(n);
			Random r = new Random();
			for (int i = 0; i < n; i++) {
				int j = i + r.nextInt(n - i);
				long t = a[i];
				a[i] = a[j];
				a[j] = t;
			}
			Arrays.sort(a);
			return a;
		}
	}
}