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;
void pushFront(string &s, string &ansL) {
  ansL.push_back((char)*s.begin());
  s.erase(s.begin());
}
void pushBack(string &s, string &ansR) {
  ansR.push_back((char)*(s.end() - 1));
  s.erase(s.end() - 1);
}
int main() {
  string s1, s2, ansL, ansR;
  getline(cin, s1);
  getline(cin, s2);
  const int len = s1.length();
  ansL.reserve(len);
  ansR.reserve(len);
  sort(s1.begin(), s1.end());
  sort(s2.rbegin(), s2.rend());
  int l1, l2;
  if (len % 2 == 0) {
    l1 = l2 = len / 2;
  } else {
    l1 = (len + 1) / 2;
    l2 = len / 2;
  }
  s1.erase(s1.begin() + l1, s1.end());
  s2.erase(s2.begin() + l2, s2.end());
  for (int i = 0; i < len; i++) {
    if (i % 2 == 0) {
      if (s1[0] < s2[0]) {
        pushFront(s1, ansL);
      } else {
        if (len - i < 2) {
          ansR.push_back(*s1.begin());
          s1.erase(s1.begin());
        } else {
          pushBack(s1, ansR);
        }
      }
    } else {
      if (s1[0] < s2[0]) {
        pushFront(s2, ansL);
      } else {
        if (len - i < 2) {
          ansR.push_back(*s2.begin());
          s2.erase(s2.begin());
        } else {
          pushBack(s2, ansR);
        }
      }
    }
  }
  reverse(ansR.begin(), ansR.end());
  string ans = ansL + ansR;
  cout << ans << endl;
  return 0;
}
