#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, k;
  cin >> n >> k;
  vector<string> words(4 * n);
  string S;
  int aabb = 0, abab = 0, abba = 0, aaaa = 0, NO = 0;
  for (int i = (0); i < (4 * n); ++i) {
    cin >> S;
    int size = S.size();
    int Kth = 0;
    string newS = "";
    bool canRhyme = false;
    for (int j = size - 1; j >= 0; --j) {
      if (S[j] == 'a' || S[j] == 'e' || S[j] == 'i' || S[j] == 'u' ||
          S[j] == 'o') {
        ++Kth;
      }
      newS = S[j] + newS;
      if (Kth == k) {
        canRhyme = true;
        break;
      }
    }
    if (canRhyme)
      words[i] = newS;
    else {
      stringstream out;
      out << i;
      words[i] = out.str();
    }
  }
  for (int i = 0; i < n; ++i) {
    if (words[4 * i].compare(words[4 * i + 1]) == 0 &&
        words[4 * i + 2].compare(words[4 * i + 3]) == 0) {
      if (words[4 * i].compare(words[4 * i + 2]) == 0) {
        ++aaaa;
        ++aabb;
        ++abab;
        ++abba;
      } else
        ++aabb;
    } else if (words[4 * i].compare(words[4 * i + 2]) == 0 &&
               words[4 * i + 1].compare(words[4 * i + 3]) == 0)
      ++abab;
    else if (words[4 * i].compare(words[4 * i + 3]) == 0 &&
             words[4 * i + 1].compare(words[4 * i + 2]) == 0)
      ++abba;
    else
      ++NO;
  }
  if (NO)
    cout << "NO" << endl;
  else {
    if (aaaa == n)
      cout << "aaaa" << endl;
    else if (aabb == n)
      cout << "aabb" << endl;
    else if (abab == n)
      cout << "abab" << endl;
    else if (abba == n)
      cout << "abba" << endl;
    else
      cout << "NO" << endl;
  }
}
