#include <bits/stdc++.h>
using namespace std;
map<char, int> ms;
map<char, int> mt;
string s, t;
char k[1123456];
int m, n;
int z = 0;
int mini = 1e7;
int counter = 0;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> s >> t;
  m = s.size();
  n = t.size();
  for (int i = 0; i < m; i++) ms[s[i]]++;
  for (int i = 0; i < n; i++) mt[t[i]]++;
  for (auto i : mt) mini = min(mini, ms[i.first] / i.second);
  while (ms['?']) {
    int tester = 0;
    for (auto i : mt) {
      if (ms[i.first] / i.second <= mini) {
        ms['?']--;
        k[z] = i.first;
        z++;
        ms[i.first]++;
        tester++;
      }
      if (ms['?'] == 0) break;
    }
    if (tester == 0) mini++;
  }
  z--;
  for (int i = 0; i < m; i++) {
    if (s[i] == '?') {
      cout << k[z];
      z--;
    } else
      cout << s[i];
  }
  return 0;
}
