#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 2e5 + 3;
const int M = 1e6 + 7;
const long long MOD = 1e9 + 7;
const long long INF = 1e18 + 9;
const int SM = 1e3 + 5;
const int logN = 20, BL = 400;
const double EPS = 3e-16;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0), cout.tie(0);
  string a, b;
  cin >> a >> b;
  vector<char> c;
  for (long long i = 0; i < b.size(); i++) c.push_back(b[i]);
  sort(c.rbegin(), c.rend());
  for (long long i = 0, j = 0; j < a.size() && i < c.size();) {
    if (a[j] < c[i]) a[j] = c[i++];
    j++;
  }
  cout << a;
  return 0;
}
