func_code_string: #include <bits/stdc++.h>   using namespace std;   const int INF = 1e9 + 7;   using namespace std;   const string tp[4] = { aaaa ,  aabb ,  abab ,  abba };   int n, k;   int m;   string w[10000];   int prime(int x) {     if (x == 1) return 0;     for (int i = 2; i * i <= x; i++)       if (x % i == 0) return 0;     return 1;   }   int check(int x, int y) {     if (x > n || x < 1 || y >= m || y < 0) return 0;     return 1;   }   long long gcd(long long a, long long b) {     if (b == 0) {       return a;     }     return gcd(b, a % b);   }   int vowel(char t) {     if (t ==  a  || t ==  e  || t ==  i  || t ==  o  || t ==  u ) return 1;     return 0;   }   int main() {     cin >> n >> k;     int bad = 0;     for (int i = 0; i < n * 4; i++) {       string s;       cin >> s;       w[i] =   ;       int l = 0;       while (l < k and s.size()) {         char c = s[s.size() - 1];         w[i] += c;         s.erase(s.size() - 1);         l += vowel(c);       }       if (l < k) {         bad = 1;       }     }     if (!bad) {       for (int t = 0; t < 4; t++) {         int ok2 = 1;         for (int i = 0; i < n * 4; i += 4) {           int ok = 1;           for (int p = 0; p < 4 and ok; p++) {             for (int q = p + 1; q < 4 and ok; q++) {               if (tp[t][p] == tp[t][q] and w[i + p] != w[i + q]) {                 ok = 0;               }             }           }           if (!ok) {             ok2 = 0;             break;           }         }         if (ok2) {           cout << tp[t];           return 0;         }       }     }     cout <<  NO ;     return 0;   }   