#include <bits/stdc++.h>
using namespace std;
const long long MAXN = 1000005;
const long long SQRTN = 1003;
const long long LOGN = 22;
const double PI = acos(-1);
const long long INF = 1e16;
const long long MOD = 1000000007;
const long long FMOD = 998244353;
const double eps = 1e-9;
void solvethetestcase();
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long t = 1;
  for (long long testcase = 1; testcase < t + 1; testcase++) {
    solvethetestcase();
  }
}
long long n, w, h, k, m, a, b, c, zero, p, t1, t2, t, q, cnt;
void solvethetestcase() {
  string s1, s2;
  cin >> s1 >> s2;
  map<char, long long> mp;
  for (long long i = 0; i < s2.length(); i++) mp[s2[i]]++;
  for (long long i = 0; i < s1.length(); i++) {
    char pre = s1[i];
    for (char ch = '9'; ch > pre; ch--) {
      if (mp[ch] > 0) {
        s1[i] = ch;
        mp[ch]--;
        if (mp[ch] == 0) mp.erase(ch);
        break;
      }
    }
  }
  cout << s1;
}
