#include <bits/stdc++.h>
using namespace std;
int k;
bool isVow(char c) {
  return c == 'a' || c == 'o' || c == 'e' || c == 'u' || c == 'i';
}
int getSt(string& a) {
  for (int i = a.size() - 1, j = k; i >= 0; i--) {
    if (isVow(a[i])) j--;
    if (!j) return i;
  }
  return -1;
}
bool isR(string& a, string b) {
  int st1 = getSt(a);
  int st2 = getSt(b);
  if (st1 == -1 || st2 == -1 || a.size() - st1 != b.size() - st2) return false;
  for (int i = 0; st1 + i < a.size(); i++)
    if (a[st1 + i] != b[st2 + i]) return false;
  return true;
}
int main() {
  set<string> st;
  int n;
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    string a, b, c, d;
    cin >> a >> b >> c >> d;
    if (isR(a, b) && isR(c, d) && isR(a, c))
      st.insert("aaaa");
    else if (isR(a, b) && isR(c, d))
      st.insert("aabb");
    else if (isR(a, c) && isR(b, d))
      st.insert("abab");
    else if (isR(a, d) && isR(b, c))
      st.insert("abba");
    else {
      st.insert("NO");
    }
  }
  if (st.size() == 1)
    cout << *st.begin() << endl;
  else if (st.size() == 2 && st.count("aaaa")) {
    st.erase("aaaa");
    cout << *st.begin() << endl;
  } else
    cout << "NO" << endl;
  return 0;
}
