#include <bits/stdc++.h>
using namespace std;
int n, cnt[100];
char s[1000010], t[1000010];
queue<char> q;
int main() {
  int i;
  scanf("%s %s", s, t);
  n = strlen(t);
  for (i = 0; s[i]; ++i) {
    if (s[i] == '?')
      ++cnt[27];
    else
      ++cnt[s[i] - 'a'];
  }
  for (i = 0; cnt[27]; i = (i + 1) % n) {
    if (cnt[t[i] - 'a'])
      --cnt[t[i] - 'a'];
    else
      --cnt[27], q.push(t[i]);
  }
  for (i = 0; s[i]; ++i) {
    if (s[i] == '?') {
      if (!q.empty())
        s[i] = q.front(), q.pop();
      else
        s[i] = 'a';
    }
  }
  printf("%s\n", s);
  return 0;
}
