#include <bits/stdc++.h>
using namespace std;
unsigned long long num;
string s1, s2;
vector<char> res;
bool comp(char c, char c1) { return c > c1; }
deque<char> q1, q2;
int main() {
  cin >> s1 >> s2;
  unsigned long long n = s1.size();
  sort(s1.begin(), s1.end());
  sort(s2.begin(), s2.end(), comp);
  for (int i = 0; i < ceil(n * 1.0 / 2.0); i++) q1.push_back(s1[i]);
  for (int i = 0; i < n / 2; i++) q2.push_back(s2[i]);
  int i = 0;
  while (i < n) {
    if (i % 2 == 0) {
      if (q1.front() >= q2.front()) {
        res.push_back(q1.back());
        q1.pop_back();
      } else {
        cout << q1.front();
        q1.pop_front();
      }
    } else {
      if (q2.front() <= q1.front()) {
        res.push_back(q2.back());
        q2.pop_back();
      } else {
        cout << q2.front();
        q2.pop_front();
      }
    }
    i++;
  }
  for (int i = res.size() - 1; i >= 0; i--) cout << res[i];
  return 0;
}
