#include <bits/stdc++.h>
using namespace std;
string str, str2;
bool cmp(char a, char b) { return a > b; }
void Solve() {
  int n, i, j, m, x, y, a, syc = 0;
  n = str.size();
  m = str2.size();
  sort(str2.begin(), str2.end(), cmp);
  j = 0;
  for (i = 0; i < n and j < m; i++) {
    x = str[i] - '0';
    y = str2[j] - '0';
    if (x >= y)
      continue;
    else {
      str[i] = y + '0';
      j++;
    }
  }
  return;
  for (i = 0; i < n; i++)
    if (str[i] - '0' != 9) break;
  a = i;
  for (i = 0; i < m; i++) {
    if (a == n) return;
    x = str2[i] - '0';
    if (!x) return;
    for (j = a; j < n; j++) {
      y = str[j] - '0';
      if (x > y) {
        str[j] = x + '0';
        a = j + 1;
        break;
      }
    }
  }
}
int main() {
  cin >> str >> str2;
  Solve();
  cout << str << endl;
  return 0;
}
