#include <bits/stdc++.h>
using namespace std;
long long int a[200001];
void solve() {
  long long int n, k, i, j, l, m, q = 0;
  string second, t;
  cin >> second;
  cin >> t;
  n = second.length();
  m = t.length();
  vector<long long int> fa(26), fb(26);
  vector<long long int> pos;
  for (i = 0; i < n; i++) {
    if (second[i] == '?') {
      pos.push_back(i);
      q++;
      continue;
    }
    fa[second[i] - 'a']++;
  }
  for (i = 0; i < m; i++) {
    fb[t[i] - 'a']++;
  }
  long long int ans = 0;
  while (1) {
    long long int flag = 0;
    for (i = 0; i < 26; i++) {
      if (fa[i] < fb[i]) {
        long long int dif = fb[i] - fa[i];
        if (dif > q) {
          flag = 1;
          break;
        } else {
          q -= dif;
        }
        for (j = 0; j < dif; j++) {
          second[pos.back()] = i + 'a';
          pos.pop_back();
        }
        fa[i] = 0;
      } else {
        fa[i] -= fb[i];
      }
    }
    if (flag) break;
    ans++;
  }
  for (auto &it : second) {
    if (it == '?') {
      it = 'a';
    }
  }
  cout << second << "\n";
}
int main() {
  long long int t = 1, i = 1;
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  while (i <= t) {
    solve();
    i++;
  }
  return 0;
}
