#include <bits/stdc++.h>
using namespace std;
const int MaxN = int(2e5);
const long double pi = 3.1415926535897932384626433832795;
int n;
string s;
string str[MaxN];
bool big[MaxN];
bool was[MaxN];
char ch;
bool eq(int i, int j, int k) {
  if (j >= (int)s.size()) return false;
  for (int x = (i); x <= (j); x++) {
    if (s[x] != str[k][x - i]) return false;
  }
  return true;
}
int main() {
  cin >> n;
  for (int i = (0); i <= (n - 1); i++) {
    cin >> str[i];
    for (int j = (0); j <= ((int)str[i].size() - 1); j++) {
      if (str[i][j] >= 'A' && str[i][j] <= 'Z') {
        str[i][j] -= 'A';
        str[i][j] += 'a';
      }
    }
  }
  cin >> s;
  for (int i = (0); i <= ((int)s.size() - 1); i++) {
    if (s[i] >= 'A' && s[i] <= 'Z') {
      big[i] = true;
      s[i] -= 'A';
      s[i] += 'a';
    }
  }
  cin >> ch;
  string ans = s;
  int len = (int)s.size();
  for (int i = (0); i <= (len - 1); i++) {
    for (int j = (0); j <= (n - 1); j++) {
      if (eq(i, i + (int)str[j].size() - 1, j)) {
        for (int k = (i); k <= (i + (int)str[j].size() - 1); k++) {
          if (was[k]) continue;
          was[k] = true;
          if (s[k] != ch)
            ans[k] = ch;
          else
            ans[k] = (ch == 'a' ? 'b' : 'a');
        }
      }
    }
  }
  for (int i = (0); i <= ((int)s.size() - 1); i++) {
    if (big[i]) ans[i] -= 'a', ans[i] += 'A';
    cout << ans[i];
  }
  return 0;
}
