#include <bits/stdc++.h>
using namespace std;
long long in() {
  int32_t x;
  scanf("%d", &x);
  return x;
}
inline long long lin() {
  long long x;
  scanf("%lld", &x);
  return x;
}
const long long maxn = 1e6 + 10;
long long cnt[10];
int32_t main() {
  string s;
  cin >> s;
  string t;
  cin >> t;
  for (long long i = 0; i < t.size(); i++) cnt[t[i] - '0']++;
  for (long long i = 0; i < s.size(); i++) {
    for (long long j = 9; j > s[i] - '0'; j--) {
      if (cnt[j]) {
        s[i] = char(j + '0');
        cnt[j]--;
        break;
      }
    }
  }
  cout << s << endl;
}
