#include <bits/stdc++.h>
using namespace std;
bool bad[105];
string A[105];
bool check(string a, string b) {
  if ((int)a.size() != (int)b.size()) return false;
  for (int i = 0; i < (int)a.size(); i++)
    if (tolower(a[i]) != tolower(b[i])) return false;
  return true;
}
int main() {
  int n, i, j, k;
  char c, c2;
  string s;
  cin >> n;
  for (i = 0; i < n; i++) cin >> A[i];
  cin >> s >> c;
  for (i = 0; i < n; i++) {
    for (j = 0; j < (int)s.size(); j++)
      if (check(s.substr(j, (int)A[i].size()), A[i]))
        for (k = j; k < j + (int)A[i].size(); k++) bad[k] = true;
  }
  for (i = 0; i < (int)s.size(); i++)
    if (bad[i]) {
      if (isupper(s[i]))
        c2 = toupper(c);
      else
        c2 = tolower(c);
      if (s[i] == c2) {
        if (isupper(s[i])) {
          for (c2 = 'A'; c2 <= 'Z'; c2++)
            if (c2 != s[i]) {
              s[i] = c2;
              break;
            }
        } else {
          for (c2 = 'a'; c2 <= 'z'; c2++)
            if (c2 != s[i]) {
              s[i] = c2;
              break;
            }
        }
      } else
        s[i] = c2;
    }
  cout << s;
  return 0;
}
