#include <bits/stdc++.h>
using namespace std;
int main() {
int huruf, jumlah;
char tag, ketag;
bool ada = false;
string jawab;
cin >> huruf;
vector<vector<char>> data(3,vector<char>(huruf));
for (int a = 0; a < 3; a++) {
for (int b = 0; b < huruf; b++) {
cin >> data[a][b];
}
}
vector<char> sudah;
for (int a = 0; a < huruf; a++) {
tag = data[1][a];
ketag = data[0][a];
if (find(sudah.begin(), sudah.end(), tag) != sudah.end()) continue;
sudah.push_back(tag);
for (int b = a; b < huruf; b++) {
if (data[1][b] == tag && data[0][b] != ketag) {
cout << "Pak Dengklek bingung";
return 0;
}
}
}
vector<char> sudahh;
for (int a = 0; a < huruf; a++) {
tag = data[0][a];
ketag = data[1][a];
if (find(sudahh.begin(), sudahh.end(), tag) != sudahh.end()) continue;
sudahh.push_back(tag);
for (int b = a; b < huruf; b++) {
if (data[0][b] == tag && data[1][b] != ketag) {
cout << "Pak Dengklek bingung";
return 0;
}
}
}
for (int a = 0; a < huruf; a++) {
for (int b = 0; b < huruf; b++) {
if (data[2][a] == data[1][b]) {
jawab += data[0][b];
ada = true;
break;
}
}
if (!ada) jawab += "?";
ada = false;
}
cout << jawab;
}
CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgaHVydWYsIGp1bWxhaDsKCWNoYXIgdGFnLCBrZXRhZzsKCWJvb2wgYWRhID0gZmFsc2U7CglzdHJpbmcgamF3YWI7CgljaW4gPj4gaHVydWY7CgkKCXZlY3Rvcjx2ZWN0b3I8Y2hhcj4+IGRhdGEoMyx2ZWN0b3I8Y2hhcj4oaHVydWYpKTsKCWZvciAoaW50IGEgPSAwOyBhIDwgMzsgYSsrKSB7CgkJZm9yIChpbnQgYiA9IDA7IGIgPCBodXJ1ZjsgYisrKSB7CgkJCWNpbiA+PiBkYXRhW2FdW2JdOwoJCX0KCX0KCQoJdmVjdG9yPGNoYXI+IHN1ZGFoOwoJZm9yIChpbnQgYSA9IDA7IGEgPCBodXJ1ZjsgYSsrKSB7CgkJdGFnID0gZGF0YVsxXVthXTsKCQlrZXRhZyA9IGRhdGFbMF1bYV07CgkJaWYgKGZpbmQoc3VkYWguYmVnaW4oKSwgc3VkYWguZW5kKCksIHRhZykgIT0gc3VkYWguZW5kKCkpIGNvbnRpbnVlOwoJCXN1ZGFoLnB1c2hfYmFjayh0YWcpOwoJCQoJCWZvciAoaW50IGIgPSBhOyBiIDwgaHVydWY7IGIrKykgewoJCQlpZiAoZGF0YVsxXVtiXSA9PSB0YWcgJiYgZGF0YVswXVtiXSAhPSBrZXRhZykgewoJCQkJY291dCA8PCAiUGFrIERlbmdrbGVrIGJpbmd1bmciOwoJCQkJcmV0dXJuIDA7CgkgICAgIAl9CgkJfQoJCQoJfQoJCgl2ZWN0b3I8Y2hhcj4gc3VkYWhoOwoJZm9yIChpbnQgYSA9IDA7IGEgPCBodXJ1ZjsgYSsrKSB7CgkJdGFnID0gZGF0YVswXVthXTsKCQlrZXRhZyA9IGRhdGFbMV1bYV07CgkJaWYgKGZpbmQoc3VkYWhoLmJlZ2luKCksIHN1ZGFoaC5lbmQoKSwgdGFnKSAhPSBzdWRhaGguZW5kKCkpIGNvbnRpbnVlOwoJCXN1ZGFoaC5wdXNoX2JhY2sodGFnKTsKCQkKCQlmb3IgKGludCBiID0gYTsgYiA8IGh1cnVmOyBiKyspIHsKCQkJaWYgKGRhdGFbMF1bYl0gPT0gdGFnICYmIGRhdGFbMV1bYl0gIT0ga2V0YWcpIHsKCQkJCWNvdXQgPDwgIlBhayBEZW5na2xlayBiaW5ndW5nIjsKCQkJCXJldHVybiAwOwoJICAgICAJfQoJCX0KCQkKCX0KCQoJZm9yIChpbnQgYSA9IDA7IGEgPCBodXJ1ZjsgYSsrKSB7CgkJZm9yIChpbnQgYiA9IDA7IGIgPCBodXJ1ZjsgYisrKSB7CgkJCWlmIChkYXRhWzJdW2FdID09IGRhdGFbMV1bYl0pIHsKCQkJCWphd2FiICs9IGRhdGFbMF1bYl07CgkJCQlhZGEgPSB0cnVlOwoJCQkJYnJlYWs7CgkJCX0gCgkJfQoJCWlmICghYWRhKSBqYXdhYiArPSAiPyI7CgkJYWRhID0gZmFsc2U7Cgl9Cgljb3V0IDw8IGphd2FiOwp9CgkJCgkKCQk=