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

bccdb
 z
 dfdeed
 aab
 y
 abac

#include <bits/stdc++.h>
using namespace std;
int dx[] = {+1, -1, 0, 0};
int dy[] = {0, 0, +1, -1};
int dx2[] = {+1, -1, 0, 0, +1, +1, -1, -1};
int dy2[] = {0, 0, +1, -1, +1, -1, -1, +1};
inline long long squ(long long x) { return (x * x); }
inline long long power(long long bs, long long k) {
  long long x = 1LL, y = bs;
  if (k == 0) return 1LL;
  while (k > 0) {
    if (k % 2) x *= y;
    y *= y;
    k /= 2;
  }
  return x;
}
bool cmp(const long long &p, const long long &q) { return (p > q); }
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  cout.unsetf(ios::floatfield);
  cout.precision(6);
  cout.setf(ios::fixed, ios::floatfield);
  ;
  string s;
  int a[100100], b[100100], n1 = 0LL, n2 = 0LL, n, c[100100], r = 0, l = 0,
                            l1 = 0, r1, l2 = 0, r2;
  cin >> s;
  n = s.size();
  int i, j;
  for (i = 0; i < n; i++) a[i] = s[i] - 'a';
  r = n - 1, r1 = (n - 1) / 2, r2 = (n - 1) / 2;
  cin >> s;
  for (i = 0; i < n; i++) b[i] = s[i] - 'a';
  sort(a, a + n);
  sort(b, b + n, cmp);
  for (i = 0; i < n; i++) {
    if (i % 2 == 0LL) {
      if (a[l1] <= b[l2])
        c[l++] = a[l1++];
      else
        c[r--] = a[r1--];
    } else {
      if (b[l2] <= a[l1])
        c[r--] = b[r2--];
      else
        c[l++] = b[l2++];
    }
  }
  s.clear();
  for (i = 0; i < n; i++) s += ('a' + c[i]);
  cout << s;
  return 0;
}
