#include <bits/stdc++.h>   using namespace std;   int tag[10];   int main() {     string a, b;     while (cin >> a >> b) {       memset(tag, 0, sizeof(tag));       ;       int len = a.size();       int len1 = b.size();       for (int i = 0; i < len1; i++) {         int num = b[i] -  0 ;         tag[num]++;       }       for (int i = 0; i < len; i++) {         int p = a[i] -  0 ;         int j = 9;         while (j > p) {           if (!tag[j]) j--;           if (tag[j] && j > p) {             a[i] = j +  0 ;             tag[j]--;             break;           }         }       }       for (int i = 0; i < len; i++) cout << a[i];       cout << endl;     }     return 0;   }   