func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long Maxn = 1e5 + 7;   const long long Max = 1e3 + 7;   const long long Mod = 1e9 + 7;   const long long Inf = 1e9 + 7;   string s[Maxn], V[Maxn];   long long ans[5];   long long check(char t) {     if (t ==  u  || t ==  o  || t ==  a  || t ==  i  || t ==  e ) return true;     return false;   }   void f(long long a, long long b, long long c, long long d) {     if (V[a] == V[b] && V[c] == V[d])       ;     else       ans[1] = 0;     if (V[a] == V[c] && V[b] == V[d])       ;     else       ans[2] = 0;     if (V[a] == V[d] && V[c] == V[b])       ;     else       ans[3] = 0;     if (V[a] == V[b] && V[c] == V[d] && V[c] == V[b])       ;     else       ans[4] = 0;   }   void print(long long i) {     if (i == 1) cout <<  aabb  << endl;     if (i == 2) cout <<  abab  << endl;     if (i == 3) cout <<  abba  << endl;     if (i == 4) cout <<  aaaa  << endl;   }   int main() {     long long n, k;     cin >> n >> k;     for (long long i = 1; i <= 4 * n; i++) {       cin >> s[i];       long long K = k;       for (long long j = s[i].size() - 1; K && j >= 0; j--) {         V[i] += s[i][j];         if (check(s[i][j])) K--;       }       if (K) {         cout <<  NO  << endl;         return 0;       }     }     ans[1] = ans[2] = ans[3] = ans[4] = 1;     for (long long i = 1; i <= n; i++) {       long long st = (i - 1) * 4;       f(st + 1, st + 2, st + 3, st + 4);     }     for (long long i = 4; i >= 1; i--) {       if (ans[i]) {         print(i);         return 0;       }     }     cout <<  NO  << endl;     return 0;   }   