#include <bits/stdc++.h>
using namespace std;
const long long oo = 0x7FFFFFFF;
int n;
char bad[105][105];
int len[105];
char st[105];
int leng;
char let[5], letter;
bool mai[105];
bool alterar[105];
void read() {
  scanf("%d", &n);
  char *c;
  for (int i = 0; i < n; i++) {
    scanf("%s", bad[i]);
    c = bad[i];
    while (*c) {
      if ('A' <= *c && *c <= 'Z') *c = *c - 'A' + 'a';
      c++;
    }
    len[i] = c - bad[i];
  }
  scanf("%s%s", st, let);
  leng = 0;
  while (st[leng]) {
    if ('a' <= st[leng] && st[leng] <= 'z')
      mai[leng] = false;
    else
      mai[leng] = true;
    alterar[leng] = false;
    if (mai[leng]) st[leng] = st[leng] - 'A' + 'a';
    leng++;
  }
  letter = let[0];
}
void comp(int k) {
  int lasts = leng - len[k] + 1;
  for (int i = 0; i < lasts; i++) {
    bool igual = true;
    for (int j = 0; j < len[k]; j++)
      if (st[i + j] != bad[k][j]) {
        igual = false;
        break;
      }
    if (!igual) continue;
    for (int j = 0; j < len[k]; j++) alterar[i + j] = true;
  }
}
void process() {
  for (int i = 0; i < n; i++) comp(i);
  char prox = 'a';
  if (letter == 'a') prox = 'b';
  for (int i = 0; i < leng; i++) {
    if (alterar[i]) {
      if (st[i] == letter)
        st[i] = prox;
      else
        st[i] = letter;
    }
    if (mai[i]) st[i] = st[i] + 'A' - 'a';
  }
  printf("%s\n", st);
}
int main() {
  read();
  process();
  return 0;
}
