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;
long long multiplyfast(long long a, long long b, long long c) {
  if (b == 0) return 0;
  long long x = multiplyfast(a, b / 2, c) % c;
  if (!(b & 1)) {
    return (x % c + x % c) % c;
  } else
    return ((a % c + (x + x) % c)) % c;
}
long long powmod(long long a, long long b, long long mod) {
  long long res = 1;
  a %= mod;
  assert(b >= 0);
  for (; b; b >>= 1) {
    if (b & 1) res = multiplyfast(res, a, mod) % mod;
    a = multiplyfast(res, a, mod) % mod;
  }
  return res;
}
long long modInverse(long long a, long long m) { return powmod(a, m - 2, m); }
inline long long gcd(long long a, long long b) {
  long long r;
  while (b) {
    r = a % b;
    a = b;
    b = r;
  }
  return a;
}
inline long long lcm(long long a, long long b) { return a / gcd(a, b) * b; }
const int MOD = (int)1e9 + 7;
const double PI = acos((double)-1);
const double EPS = 1e-9;
const int INF = (int)1e9;
const long long LINF = (long long)1e18;
int main() {
  vector<char> oleg, igor;
  string s, s2;
  cin >> s >> s2;
  copy(s.begin(), s.end(), back_inserter(oleg));
  copy(s2.begin(), s2.end(), back_inserter(igor));
  sort(oleg.begin(), oleg.end());
  sort(igor.begin(), igor.end());
  int len = s.length();
  if (s == s2) {
    cout << s << '\n';
  } else {
    string name = "";
    int cont = 0;
    for (int i = 0; i <= len / 2; i++) {
      int j = len - i - 1;
      name += oleg[i];
      if (cont + 1 >= len) {
        break;
      }
      name += igor[j];
      cont += 2;
    }
    cout << name << '\n';
    oleg.clear();
    igor.clear();
  }
  return 0;
}
