#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N;
cin >> N;
string SS, SK, SH;
cin >> SS >> SK >> SH;
string S = SS;
int scoreS = 0, scoreK = 0, scoreH = 0;
for (int i = 0; i < N; i++) {
if (S[i] == SS[i]) scoreS++;
if (S[i] == SK[i]) scoreK++;
if (S[i] == SH[i]) scoreH++;
}
auto check = [&](int a, int b, int c) {
return (a > b && b > c);
};
if (check(scoreS, scoreK, scoreH)) {
cout << S << "\n";
return 0;
}
// 여러 자리를 고쳐야 할 수도 있으니 전체 탐색
for (int i = 0; i < N; i++) {
int oldS = (S[i] == SS[i]);
int oldK = (S[i] == SK[i]);
int oldH = (S[i] == SH[i]);
// 후보 1: 고돌이 답 채택 (단, 한돌이는 틀리게)
if (SK[i] != SH[i]) {
int tmpS = scoreS - oldS + (SK[i] == SS[i]);
int tmpK = scoreK - oldK + 1;
int tmpH = scoreH - oldH + (SK[i] == SH[i] ? 1 : 0);
if (tmpS > tmpK && tmpK > tmpH) {
S[i] = SK[i];
cout << S << "\n";
return 0;
}
// 일단 바꿔서 점수 저장
scoreS = tmpS;
scoreK = tmpK;
scoreH = tmpH;
S[i] = SK[i];
}
// 후보 2: 셋 다 틀리게 (제3 문자 선택)
if (!check(scoreS, scoreK, scoreH)) {
int tmpS = scoreS - (S[i] == SS[i]);
int tmpK = scoreK - (S[i] == SK[i]);
int tmpH = scoreH - (S[i] == SH[i]);
if (check(tmpS, tmpK, tmpH)) {
for (char c = 'a'; c <= 'z'; c++) {
if (c != SS[i] && c != SK[i] && c != SH[i]) {
S[i] = c;
break;
}
}
cout << S << "\n";
return 0;
}
}
}
if (check(scoreS, scoreK, scoreH)) {
cout << S << "\n";
} else {
cout << -1 << "\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IE47CiAgICBjaW4gPj4gTjsKICAgIHN0cmluZyBTUywgU0ssIFNIOwogICAgY2luID4+IFNTID4+IFNLID4+IFNIOwoKICAgIHN0cmluZyBTID0gU1M7CiAgICBpbnQgc2NvcmVTID0gMCwgc2NvcmVLID0gMCwgc2NvcmVIID0gMDsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykgewogICAgICAgIGlmIChTW2ldID09IFNTW2ldKSBzY29yZVMrKzsKICAgICAgICBpZiAoU1tpXSA9PSBTS1tpXSkgc2NvcmVLKys7CiAgICAgICAgaWYgKFNbaV0gPT0gU0hbaV0pIHNjb3JlSCsrOwogICAgfQoKICAgIGF1dG8gY2hlY2sgPSBbJl0oaW50IGEsIGludCBiLCBpbnQgYykgewogICAgICAgIHJldHVybiAoYSA+IGIgJiYgYiA+IGMpOwogICAgfTsKCiAgICBpZiAoY2hlY2soc2NvcmVTLCBzY29yZUssIHNjb3JlSCkpIHsKICAgICAgICBjb3V0IDw8IFMgPDwgIlxuIjsKICAgICAgICByZXR1cm4gMDsKICAgIH0KCiAgICAvLyDsl6zrn6wg7J6Q66as66W8IOqzoOyzkOyVvCDtlaAg7IiY64+EIOyeiOycvOuLiCDsoITssrQg7YOQ7IOJCiAgICBmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykgewogICAgICAgIGludCBvbGRTID0gKFNbaV0gPT0gU1NbaV0pOwogICAgICAgIGludCBvbGRLID0gKFNbaV0gPT0gU0tbaV0pOwogICAgICAgIGludCBvbGRIID0gKFNbaV0gPT0gU0hbaV0pOwoKICAgICAgICAvLyDtm4Trs7QgMTog6rOg64+M7J20IOuLtSDssYTtg50gKOuLqCwg7ZWc64+M7J2064qUIO2LgOumrOqyjCkKICAgICAgICBpZiAoU0tbaV0gIT0gU0hbaV0pIHsKICAgICAgICAgICAgaW50IHRtcFMgPSBzY29yZVMgLSBvbGRTICsgKFNLW2ldID09IFNTW2ldKTsKICAgICAgICAgICAgaW50IHRtcEsgPSBzY29yZUsgLSBvbGRLICsgMTsKICAgICAgICAgICAgaW50IHRtcEggPSBzY29yZUggLSBvbGRIICsgKFNLW2ldID09IFNIW2ldID8gMSA6IDApOwoKICAgICAgICAgICAgaWYgKHRtcFMgPiB0bXBLICYmIHRtcEsgPiB0bXBIKSB7CiAgICAgICAgICAgICAgICBTW2ldID0gU0tbaV07CiAgICAgICAgICAgICAgICBjb3V0IDw8IFMgPDwgIlxuIjsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyDsnbzri6gg67CU6r+U7IScIOygkOyImCDsoIDsnqUKICAgICAgICAgICAgc2NvcmVTID0gdG1wUzsKICAgICAgICAgICAgc2NvcmVLID0gdG1wSzsKICAgICAgICAgICAgc2NvcmVIID0gdG1wSDsKICAgICAgICAgICAgU1tpXSA9IFNLW2ldOwogICAgICAgIH0KCiAgICAgICAgLy8g7ZuE67O0IDI6IOyFiyDri6Qg7YuA66as6rKMICjsoJwzIOusuOyekCDshKDtg50pCiAgICAgICAgaWYgKCFjaGVjayhzY29yZVMsIHNjb3JlSywgc2NvcmVIKSkgewogICAgICAgICAgICBpbnQgdG1wUyA9IHNjb3JlUyAtIChTW2ldID09IFNTW2ldKTsKICAgICAgICAgICAgaW50IHRtcEsgPSBzY29yZUsgLSAoU1tpXSA9PSBTS1tpXSk7CiAgICAgICAgICAgIGludCB0bXBIID0gc2NvcmVIIC0gKFNbaV0gPT0gU0hbaV0pOwogICAgICAgICAgICBpZiAoY2hlY2sodG1wUywgdG1wSywgdG1wSCkpIHsKICAgICAgICAgICAgICAgIGZvciAoY2hhciBjID0gJ2EnOyBjIDw9ICd6JzsgYysrKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGMgIT0gU1NbaV0gJiYgYyAhPSBTS1tpXSAmJiBjICE9IFNIW2ldKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIFNbaV0gPSBjOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjb3V0IDw8IFMgPDwgIlxuIjsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGlmIChjaGVjayhzY29yZVMsIHNjb3JlSywgc2NvcmVIKSkgewogICAgICAgIGNvdXQgPDwgUyA8PCAiXG4iOwogICAgfSBlbHNlIHsKICAgICAgICBjb3V0IDw8IC0xIDw8ICJcbiI7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==