#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++) {
// 셋 다 같은 경우: 맞추면 전원 +1 → 절대 불가능, 따라서 다른 글자
if (SS[i] == SK[i] && SK[i] == SH[i]) {
ans[i] = (SS[i] == 'a' ? 'b' : 'a');
continue;
}
// 숭돌이와 한돌이가 같으면: 숭돌이 답을 고르면 H도 같이 득점 → 위험
// 차라리 고돌이 답을 주자 (S 고정이 불리할 수 있음)
if (SS[i] == SH[i] && SS[i] != SK[i]) {
ans[i] = SK[i];
continue;
}
// 고돌이와 한돌이가 같으면: 고+한 같이 득점하면 K>H 안 만들어짐
// 숭돌이 답을 선택
if (SK[i] == SH[i] && SS[i] != SK[i]) {
ans[i] = SS[i];
continue;
}
// 숭돌이와 고돌이가 같으면: S=K 동점 → 조심
// 그냥 틀리게 해서 분리
if (SS[i] == SK[i] && SS[i] != SH[i]) {
ans[i] = (SS[i] == 'a' ? 'b' : 'a');
continue;
}
// 셋 다 다르면 숭돌이 답 선택
ans[i] = SS[i];
}
// 점수 계산
auto calc = [&](string &A) {
int s=0,k=0,h=0;
for (int i=0;i<N;i++) {
if (A[i]==SS[i]) s++;
if (A[i]==SK[i]) k++;
if (A[i]==SH[i]) h++;
}
return tuple<int,int,int>(s,k,h);
};
tie(scoreS,scoreK,scoreH) = calc(ans);
// 만약 조건 불만족이면, 일부 자리 바꿔서 조정
if (!(scoreS > scoreK && scoreK > scoreH)) {
for (int i = 0; i < N; i++) {
char old = ans[i];
int oldS = (old == SS[i]);
int oldK = (old == SK[i]);
int oldH = (old == SH[i]);
for (char c : {SS[i], SK[i], SH[i], 'a'}) {
if (c == old) continue;
int newS = scoreS - oldS + (c == SS[i]);
int newK = scoreK - oldK + (c == SK[i]);
int newH = scoreH - oldH + (c == SH[i]);
if (newS > newK && newK > newH) {
ans[i] = c;
scoreS = newS;
scoreK = newK;
scoreH = newH;
goto done;
}
}
}
}
done:;
if (scoreS > scoreK && scoreK > scoreH) {
cout << ans << "\n";
} else {
cout << -1 << "\n";
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IE47CiAgICBjaW4gPj4gTjsKICAgIHN0cmluZyBTUywgU0ssIFNIOwogICAgY2luID4+IFNTID4+IFNLID4+IFNIOwoKICAgIHN0cmluZyBhbnMoTiwgJ2EnKTsKICAgIGludCBzY29yZVMgPSAwLCBzY29yZUsgPSAwLCBzY29yZUggPSAwOwoKICAgIC8vIOyasOyEoDog7Iit64+M7J207JmAIOqzoOuPjOydtCDsoJDsiJjrpbwg6rWs67aEIOynk+uKlCDqsowg6rSA6rG0CiAgICBmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykgewogICAgICAgIC8vIOyFiyDri6Qg6rCZ7J2AIOqyveyasDog66ee7LaU66m0IOyghOybkCArMSDihpIg7KCI64yAIOu2iOqwgOuKpSwg65Sw65287IScIOuLpOuluCDquIDsnpAKICAgICAgICBpZiAoU1NbaV0gPT0gU0tbaV0gJiYgU0tbaV0gPT0gU0hbaV0pIHsKICAgICAgICAgICAgYW5zW2ldID0gKFNTW2ldID09ICdhJyA/ICdiJyA6ICdhJyk7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgLy8g7Iit64+M7J207JmAIO2VnOuPjOydtOqwgCDqsJnsnLzrqbQ6IOyIreuPjOydtCDri7XsnYQg6rOg66W066m0IEjrj4Qg6rCZ7J20IOuTneygkCDihpIg7JyE7ZeYCiAgICAgICAgLy8g7LCo652866asIOqzoOuPjOydtCDri7XsnYQg7KO87J6QIChTIOqzoOygleydtCDrtojrpqztlaAg7IiYIOyeiOydjCkKICAgICAgICBpZiAoU1NbaV0gPT0gU0hbaV0gJiYgU1NbaV0gIT0gU0tbaV0pIHsKICAgICAgICAgICAgYW5zW2ldID0gU0tbaV07CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgLy8g6rOg64+M7J207JmAIO2VnOuPjOydtOqwgCDqsJnsnLzrqbQ6IOqzoCvtlZwg6rCZ7J20IOuTneygkO2VmOuptCBLPkgg7JWIIOunjOuTpOyWtOynkAogICAgICAgIC8vIOyIreuPjOydtCDri7XsnYQg7ISg7YOdCiAgICAgICAgaWYgKFNLW2ldID09IFNIW2ldICYmIFNTW2ldICE9IFNLW2ldKSB7CiAgICAgICAgICAgIGFuc1tpXSA9IFNTW2ldOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CgogICAgICAgIC8vIOyIreuPjOydtOyZgCDqs6Drj4zsnbTqsIAg6rCZ7Jy866m0OiBTPUsg64+Z7KCQIOKGkiDsobDsi6wKICAgICAgICAvLyDqt7jrg6Ug7YuA66as6rKMIO2VtOyEnCDrtoTrpqwKICAgICAgICBpZiAoU1NbaV0gPT0gU0tbaV0gJiYgU1NbaV0gIT0gU0hbaV0pIHsKICAgICAgICAgICAgYW5zW2ldID0gKFNTW2ldID09ICdhJyA/ICdiJyA6ICdhJyk7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgLy8g7IWLIOuLpCDri6TrpbTrqbQg7Iit64+M7J20IOuLtSDshKDtg50KICAgICAgICBhbnNbaV0gPSBTU1tpXTsKICAgIH0KCiAgICAvLyDsoJDsiJgg6rOE7IKwCiAgICBhdXRvIGNhbGMgPSBbJl0oc3RyaW5nICZBKSB7CiAgICAgICAgaW50IHM9MCxrPTAsaD0wOwogICAgICAgIGZvciAoaW50IGk9MDtpPE47aSsrKSB7CiAgICAgICAgICAgIGlmIChBW2ldPT1TU1tpXSkgcysrOwogICAgICAgICAgICBpZiAoQVtpXT09U0tbaV0pIGsrKzsKICAgICAgICAgICAgaWYgKEFbaV09PVNIW2ldKSBoKys7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0dXBsZTxpbnQsaW50LGludD4ocyxrLGgpOwogICAgfTsKICAgIHRpZShzY29yZVMsc2NvcmVLLHNjb3JlSCkgPSBjYWxjKGFucyk7CgogICAgLy8g66eM7JW9IOyhsOqxtCDrtojrp4zsobHsnbTrqbQsIOydvOu2gCDsnpDrpqwg67CU6r+U7IScIOyhsOyglQogICAgaWYgKCEoc2NvcmVTID4gc2NvcmVLICYmIHNjb3JlSyA+IHNjb3JlSCkpIHsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykgewogICAgICAgICAgICBjaGFyIG9sZCA9IGFuc1tpXTsKICAgICAgICAgICAgaW50IG9sZFMgPSAob2xkID09IFNTW2ldKTsKICAgICAgICAgICAgaW50IG9sZEsgPSAob2xkID09IFNLW2ldKTsKICAgICAgICAgICAgaW50IG9sZEggPSAob2xkID09IFNIW2ldKTsKCiAgICAgICAgICAgIGZvciAoY2hhciBjIDoge1NTW2ldLCBTS1tpXSwgU0hbaV0sICdhJ30pIHsKICAgICAgICAgICAgICAgIGlmIChjID09IG9sZCkgY29udGludWU7CiAgICAgICAgICAgICAgICBpbnQgbmV3UyA9IHNjb3JlUyAtIG9sZFMgKyAoYyA9PSBTU1tpXSk7CiAgICAgICAgICAgICAgICBpbnQgbmV3SyA9IHNjb3JlSyAtIG9sZEsgKyAoYyA9PSBTS1tpXSk7CiAgICAgICAgICAgICAgICBpbnQgbmV3SCA9IHNjb3JlSCAtIG9sZEggKyAoYyA9PSBTSFtpXSk7CiAgICAgICAgICAgICAgICBpZiAobmV3UyA+IG5ld0sgJiYgbmV3SyA+IG5ld0gpIHsKICAgICAgICAgICAgICAgICAgICBhbnNbaV0gPSBjOwogICAgICAgICAgICAgICAgICAgIHNjb3JlUyA9IG5ld1M7CiAgICAgICAgICAgICAgICAgICAgc2NvcmVLID0gbmV3SzsKICAgICAgICAgICAgICAgICAgICBzY29yZUggPSBuZXdIOwogICAgICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KZG9uZTo7CgogICAgaWYgKHNjb3JlUyA+IHNjb3JlSyAmJiBzY29yZUsgPiBzY29yZUgpIHsKICAgICAgICBjb3V0IDw8IGFucyA8PCAiXG4iOwogICAgfSBlbHNlIHsKICAgICAgICBjb3V0IDw8IC0xIDw8ICJcbiI7CiAgICB9Cn0=