#include <bits/stdc++.h>
using namespace std;
int n;
char l;
string w;
vector<string> nope;
char get(const char c) {
  if (tolower(l) != tolower(c)) {
    if (!isupper(c))
      return tolower(l);
    else
      return toupper(l);
  } else {
    if (isupper(c)) {
      if (c == 'A')
        return 'B';
      else
        return 'A';
    } else {
      if (c == 'a')
        return 'b';
      else
        return 'a';
    }
  }
}
int main() {
  cin >> n;
  nope = vector<string>(n);
  for (int i = 0; i < n; i++) cin >> nope[i];
  cin >> w >> l;
  string ret = w;
  for (int i = 0; i < w.size(); i++) {
    for (int j = 0; j < n; j++) {
      if ((i + nope[j].size() - 1) >= w.size()) continue;
      string str = "";
      for (int s = 0; s < nope[j].size(); s++) {
        if (tolower(nope[j][s]) == tolower(w[i + s]))
          str += get(w[i + s]);
        else
          break;
      }
      if (str.size() == nope[j].size()) {
        for (int a = 0; a < str.size(); a++) ret[i + a] = str[a];
      }
    }
  }
  cout << ret << endl;
}
