#include <bits/stdc++.h>
const long double pie = 3.1415926535;
using namespace std;
long long fpow(long long n, long long p) {
  long long m = 1;
  while (p) {
    if (p % 2) m *= n;
    p >>= 1;
    n *= n;
  }
  return m;
}
bool br1, br2, br;
char ch, ch1, ch2;
long long n, k, x, y, z, mini, maxi, l, ind, ini, sum, t, len, r, w, imini, m;
string s, s1, s2;
void solve() {
  cin >> s1 >> s2;
  n = s1.length();
  m = s2.length();
  for (long long i = 0; i < n; i++) s.push_back('*');
  k = n;
  x = y = 0;
  long long l = 0, r = n - 1;
  sort(s1.begin(), s1.end());
  sort(s2.begin(), s2.end(), greater<char>());
  s1 = s1.substr(0, n / 2 + n % 2);
  s2 = s2.substr(0, n / 2);
  while (k) {
    if (s2[y] <= s1[x]) break;
    if (br)
      s[l++] = s2[y++];
    else
      s[l++] = s1[x++];
    br ^= 1;
    k--;
  }
  s1 = s1.substr(x, n - x);
  s2 = s2.substr(y, n - y);
  reverse(s1.begin(), s1.end());
  reverse(s2.begin(), s2.end());
  x = y = 0;
  while (k) {
    if (br)
      s[r--] = s2[y++];
    else {
      s[r--] = s1[x++];
    }
    k--;
    br ^= 1;
  }
  cout << s << endl;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  solve();
  return 0;
}
