#include <bits/stdc++.h>
using namespace std;
int N;
string SS, SK, SH;
string ans;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> N >> SS >> SK >> SH;
ans.resize(N);
int s=0,k=0,h=0;
for(int i=0;i<N;i++){
if(SS[i]==SK[i] && SK[i]==SH[i]){
// 셋 다 같으면 점수 줄 수 없음 → 틀리게
char c='a';
if(c==SS[i]) c='b';
ans[i]=c;
}
else if(SS[i]==SK[i] && SK[i]!=SH[i]){
// (S,K)
ans[i]=SS[i]; // S,K 점수
s++; k++;
}
else if(SS[i]==SH[i] && SK[i]!=SS[i]){
// (S,H)
ans[i]=SS[i]; // 기본은 S,H 점수
s++; h++;
}
else if(SK[i]==SH[i] && SS[i]!=SK[i]){
// (K,H)
ans[i]=SS[i]; // S 점수만
s++;
}
else{
// all different
ans[i]=SS[i];
s++;
}
}
// 현재 점수 (s,k,h)
if(s>k && k>h){
cout << ans << "\n";
return 0;
}
// 조정 단계
// K < H 이면 K를 늘리거나 H를 줄여야 함
for(int i=0;i<N && !(s>k && k>h);i++){
char best=ans[i];
int oldS=(ans[i]==SS[i]);
int oldK=(ans[i]==SK[i]);
int oldH=(ans[i]==SH[i]);
int bestS=s, bestK=k, bestH=h;
for(char c : {SS[i], SK[i], SH[i], 'a'}){
int ns=s-oldS+(c==SS[i]);
int nk=k-oldK+(c==SK[i]);
int nh=h-oldH+(c==SH[i]);
if(ns>nk && nk>nh){
ans[i]=c;
s=ns; k=nk; h=nh;
break;
}
}
}
if(s>k && k>h) cout << ans << "\n";
else cout << -1 << "\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgTjsKc3RyaW5nIFNTLCBTSywgU0g7CnN0cmluZyBhbnM7CgppbnQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKCiAgICBjaW4gPj4gTiA+PiBTUyA+PiBTSyA+PiBTSDsKICAgIGFucy5yZXNpemUoTik7CgogICAgaW50IHM9MCxrPTAsaD0wOwoKICAgIGZvcihpbnQgaT0wO2k8TjtpKyspewogICAgICAgIGlmKFNTW2ldPT1TS1tpXSAmJiBTS1tpXT09U0hbaV0pewogICAgICAgICAgICAvLyDshYsg64ukIOqwmeycvOuptCDsoJDsiJgg7KSEIOyImCDsl4bsnYwg4oaSIO2LgOumrOqyjAogICAgICAgICAgICBjaGFyIGM9J2EnOwogICAgICAgICAgICBpZihjPT1TU1tpXSkgYz0nYic7CiAgICAgICAgICAgIGFuc1tpXT1jOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKFNTW2ldPT1TS1tpXSAmJiBTS1tpXSE9U0hbaV0pewogICAgICAgICAgICAvLyAoUyxLKQogICAgICAgICAgICBhbnNbaV09U1NbaV07IC8vIFMsSyDsoJDsiJgKICAgICAgICAgICAgcysrOyBrKys7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoU1NbaV09PVNIW2ldICYmIFNLW2ldIT1TU1tpXSl7CiAgICAgICAgICAgIC8vIChTLEgpCiAgICAgICAgICAgIGFuc1tpXT1TU1tpXTsgLy8g6riw67O47J2AIFMsSCDsoJDsiJgKICAgICAgICAgICAgcysrOyBoKys7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoU0tbaV09PVNIW2ldICYmIFNTW2ldIT1TS1tpXSl7CiAgICAgICAgICAgIC8vIChLLEgpCiAgICAgICAgICAgIGFuc1tpXT1TU1tpXTsgLy8gUyDsoJDsiJjrp4wKICAgICAgICAgICAgcysrOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICAvLyBhbGwgZGlmZmVyZW50CiAgICAgICAgICAgIGFuc1tpXT1TU1tpXTsKICAgICAgICAgICAgcysrOwogICAgICAgIH0KICAgIH0KCiAgICAvLyDtmITsnqwg7KCQ7IiYIChzLGssaCkKICAgIGlmKHM+ayAmJiBrPmgpewogICAgICAgIGNvdXQgPDwgYW5zIDw8ICJcbiI7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgLy8g7KGw7KCVIOuLqOqzhAogICAgLy8gSyA8IEgg7J2066m0IEvrpbwg64qY66as6rGw64KYIEjrpbwg7KSE7Jes7JW8IO2VqAogICAgZm9yKGludCBpPTA7aTxOICYmICEocz5rICYmIGs+aCk7aSsrKXsKICAgICAgICBjaGFyIGJlc3Q9YW5zW2ldOwogICAgICAgIGludCBvbGRTPShhbnNbaV09PVNTW2ldKTsKICAgICAgICBpbnQgb2xkSz0oYW5zW2ldPT1TS1tpXSk7CiAgICAgICAgaW50IG9sZEg9KGFuc1tpXT09U0hbaV0pOwogICAgICAgIGludCBiZXN0Uz1zLCBiZXN0Sz1rLCBiZXN0SD1oOwogICAgICAgIGZvcihjaGFyIGMgOiB7U1NbaV0sIFNLW2ldLCBTSFtpXSwgJ2EnfSl7CiAgICAgICAgICAgIGludCBucz1zLW9sZFMrKGM9PVNTW2ldKTsKICAgICAgICAgICAgaW50IG5rPWstb2xkSysoYz09U0tbaV0pOwogICAgICAgICAgICBpbnQgbmg9aC1vbGRIKyhjPT1TSFtpXSk7CiAgICAgICAgICAgIGlmKG5zPm5rICYmIG5rPm5oKXsKICAgICAgICAgICAgICAgIGFuc1tpXT1jOwogICAgICAgICAgICAgICAgcz1uczsgaz1uazsgaD1uaDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGlmKHM+ayAmJiBrPmgpIGNvdXQgPDwgYW5zIDw8ICJcbiI7CiAgICBlbHNlIGNvdXQgPDwgLTEgPDwgIlxuIjsKfQ==