func_code_string: #include <bits/stdc++.h>   using namespace std;   bool vowel(char c) {     string s =  aeiou ;     for (int i = 0; i < 5; i++)       if (c == s[i]) return true;     return false;   }   bool rhyme(string s1, string s2, int k) {     int i = s1.size() - 1, j = s2.size() - 1;     int cnt = 0;     while (i >= 0 && j >= 0) {       if (s1[i] != s2[j]) return false;       if (vowel(s1[i])) cnt++;       if (cnt == k) return true;       i--;       j--;     }     return false;   }   int main() {     int n, k;     cin >> n >> k;     string scheme[4] = { aabb ,  abab ,  abba ,  aaaa };     int ans = -1;     for (int i = 0; i < n; i++) {       string s[4];       cin >> s[0] >> s[1] >> s[2] >> s[3];       int temp = -1;       if (rhyme(s[0], s[1], k) && rhyme(s[2], s[3], k) && rhyme(s[0], s[2], k)) {         temp = 3;       } else if (rhyme(s[0], s[1], k) && rhyme(s[2], s[3], k)) {         temp = 0;       } else if (rhyme(s[0], s[2], k) && rhyme(s[1], s[3], k)) {         temp = 1;       } else if (rhyme(s[0], s[3], k) && rhyme(s[1], s[2], k)) {         temp = 2;       } else {         ans = -1;         break;       }       if (ans < 0)         ans = temp;       else if (temp == 3 && ans >= 0 && ans <= 2)         continue;       else if (ans == 3 && temp >= 0 && temp <= 2)         ans = temp;       else if (temp != ans) {         ans = -1;         break;       }     }     if (ans >= 0)       cout << scheme[ans] << endl;     else       cout <<  NO  << endl;     return 0;   }   