#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;
}
