#include <bits/stdc++.h>
using namespace std;
int main() {
  char i, j, dizi[100005], dizi1[100005];
  int a = 10000, a1, b = -1, b1, arr[100005], arr1[100005];
  cin >> dizi >> dizi1;
  int u, u1;
  u = strlen(dizi);
  u1 = strlen(dizi1);
  for (i = 0; i < u; i++) arr[i] = dizi[i] - '0';
  for (i = 0; i < u1; i++) arr1[i] = dizi1[i] - '0';
  sort(arr1, arr1 + u1);
  b1 = u1 - 1;
  for (i = 0; i < u; i++)
    if (arr[i] < arr1[b1]) {
      arr[i] = arr1[b1];
      b1--;
    }
  for (i = 0; i < u; i++) cout << arr[i];
  getchar();
  getchar();
}
