#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 ans(N, 'a');
int scoreS = 0, scoreK = 0, scoreH = 0;
for (int i = 0; i < N; i++) {
// case: 세 명 다 같은 글자
if (SS[i] == SK[i] && SK[i] == SH[i]) {
// 셋 다 맞추면 동점 → 틀리게
char c = (SS[i] == 'a' ? 'b' : 'a');
ans[i] = c;
continue;
}
// case: 둘만 같은 경우
if (SS[i] == SK[i] && SS[i] != SH[i]) {
// 숭+고 동시에 점수 → 위험 (동점 발생할 수 있음)
// 기본은 숭돌이만 주고 싶은데 불가능.
// 여기선 일단 틀리게 해서 점수 안 줌.
ans[i] = (SS[i] == 'a' ? 'b' : 'a');
if (ans[i] == SS[i]) scoreS++;
if (ans[i] == SK[i]) scoreK++;
if (ans[i] == SH[i]) scoreH++;
continue;
}
if (SS[i] == SH[i] && SS[i] != SK[i]) {
// 숭+한 같이 점수 → 절대 주면 안됨
// 따라서 고돌이 답 선택
ans[i] = SK[i];
if (ans[i] == SS[i]) scoreS++;
if (ans[i] == SK[i]) scoreK++;
if (ans[i] == SH[i]) scoreH++;
continue;
}
if (SK[i] == SH[i] && SS[i] != SK[i]) {
// 고+한 같이 점수 → 위험
// 숭돌이 답 선택
ans[i] = SS[i];
if (ans[i] == SS[i]) scoreS++;
if (ans[i] == SK[i]) scoreK++;
if (ans[i] == SH[i]) scoreH++;
continue;
}
// case: 셋 다 다름
// 숭돌이 답 우선
ans[i] = SS[i];
if (ans[i] == SS[i]) scoreS++;
if (ans[i] == SK[i]) scoreK++;
if (ans[i] == SH[i]) scoreH++;
}
// 최종 점검
if (scoreS > scoreK && scoreK > scoreH) {
cout << ans << "\n";
} else {
cout << -1 << "\n";
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IE47CiAgICBjaW4gPj4gTjsKICAgIHN0cmluZyBTUywgU0ssIFNIOwogICAgY2luID4+IFNTID4+IFNLID4+IFNIOwoKICAgIHN0cmluZyBhbnMoTiwgJ2EnKTsKICAgIGludCBzY29yZVMgPSAwLCBzY29yZUsgPSAwLCBzY29yZUggPSAwOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKSB7CiAgICAgICAgLy8gY2FzZTog7IS4IOuqhSDri6Qg6rCZ7J2AIOq4gOyekAogICAgICAgIGlmIChTU1tpXSA9PSBTS1tpXSAmJiBTS1tpXSA9PSBTSFtpXSkgewogICAgICAgICAgICAvLyDshYsg64ukIOunnuy2lOuptCDrj5nsoJAg4oaSIO2LgOumrOqyjAogICAgICAgICAgICBjaGFyIGMgPSAoU1NbaV0gPT0gJ2EnID8gJ2InIDogJ2EnKTsKICAgICAgICAgICAgYW5zW2ldID0gYzsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQoKICAgICAgICAvLyBjYXNlOiDrkZjrp4wg6rCZ7J2AIOqyveyasAogICAgICAgIGlmIChTU1tpXSA9PSBTS1tpXSAmJiBTU1tpXSAhPSBTSFtpXSkgewogICAgICAgICAgICAvLyDsiK0r6rOgIOuPmeyLnOyXkCDsoJDsiJgg4oaSIOychO2XmCAo64+Z7KCQIOuwnOyDne2VoCDsiJgg7J6I7J2MKQogICAgICAgICAgICAvLyDquLDrs7jsnYAg7Iit64+M7J2066eMIOyjvOqzoCDsi7bsnYDrjbAg67aI6rCA64qlLgogICAgICAgICAgICAvLyDsl6zquLDshKAg7J2864uoIO2LgOumrOqyjCDtlbTshJwg7KCQ7IiYIOyViCDspIwuCiAgICAgICAgICAgIGFuc1tpXSA9IChTU1tpXSA9PSAnYScgPyAnYicgOiAnYScpOwogICAgICAgICAgICBpZiAoYW5zW2ldID09IFNTW2ldKSBzY29yZVMrKzsKICAgICAgICAgICAgaWYgKGFuc1tpXSA9PSBTS1tpXSkgc2NvcmVLKys7CiAgICAgICAgICAgIGlmIChhbnNbaV0gPT0gU0hbaV0pIHNjb3JlSCsrOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYgKFNTW2ldID09IFNIW2ldICYmIFNTW2ldICE9IFNLW2ldKSB7CiAgICAgICAgICAgIC8vIOyIrSvtlZwg6rCZ7J20IOygkOyImCDihpIg7KCI64yAIOyjvOuptCDslYjrkKgKICAgICAgICAgICAgLy8g65Sw65287IScIOqzoOuPjOydtCDri7Ug7ISg7YOdCiAgICAgICAgICAgIGFuc1tpXSA9IFNLW2ldOwogICAgICAgICAgICBpZiAoYW5zW2ldID09IFNTW2ldKSBzY29yZVMrKzsKICAgICAgICAgICAgaWYgKGFuc1tpXSA9PSBTS1tpXSkgc2NvcmVLKys7CiAgICAgICAgICAgIGlmIChhbnNbaV0gPT0gU0hbaV0pIHNjb3JlSCsrOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYgKFNLW2ldID09IFNIW2ldICYmIFNTW2ldICE9IFNLW2ldKSB7CiAgICAgICAgICAgIC8vIOqzoCvtlZwg6rCZ7J20IOygkOyImCDihpIg7JyE7ZeYCiAgICAgICAgICAgIC8vIOyIreuPjOydtCDri7Ug7ISg7YOdCiAgICAgICAgICAgIGFuc1tpXSA9IFNTW2ldOwogICAgICAgICAgICBpZiAoYW5zW2ldID09IFNTW2ldKSBzY29yZVMrKzsKICAgICAgICAgICAgaWYgKGFuc1tpXSA9PSBTS1tpXSkgc2NvcmVLKys7CiAgICAgICAgICAgIGlmIChhbnNbaV0gPT0gU0hbaV0pIHNjb3JlSCsrOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CgogICAgICAgIC8vIGNhc2U6IOyFiyDri6Qg64uk66aECiAgICAgICAgLy8g7Iit64+M7J20IOuLtSDsmrDshKAKICAgICAgICBhbnNbaV0gPSBTU1tpXTsKICAgICAgICBpZiAoYW5zW2ldID09IFNTW2ldKSBzY29yZVMrKzsKICAgICAgICBpZiAoYW5zW2ldID09IFNLW2ldKSBzY29yZUsrKzsKICAgICAgICBpZiAoYW5zW2ldID09IFNIW2ldKSBzY29yZUgrKzsKICAgIH0KCiAgICAvLyDstZzsooUg7KCQ6rKACiAgICBpZiAoc2NvcmVTID4gc2NvcmVLICYmIHNjb3JlSyA+IHNjb3JlSCkgewogICAgICAgIGNvdXQgPDwgYW5zIDw8ICJcbiI7CiAgICB9IGVsc2UgewogICAgICAgIGNvdXQgPDwgLTEgPDwgIlxuIjsKICAgIH0KfQ==