#include <bits/stdc++.h>
using namespace std;
int etr(string str) {
  return str.substr(str.length() - 3, 3) == "etr" ? 2 : -1;
}
int lios(string str) {
  return str.substr(str.length() - 4, 4) == "lios" ? 0 : -1;
}
int etra(string str) {
  return str.substr(str.length() - 4, 4) == "etra" ? 3 : -1;
}
int liala(string str) {
  return str.substr(str.length() - 5, 5) == "liala" ? 1 : -1;
}
int initis(string str) {
  return str.substr(str.length() - 6, 6) == "initis" ? 4 : -1;
}
int inites(string str) {
  return str.substr(str.length() - 6, 6) == "inites" ? 5 : -1;
}
int main() {
  string str;
  int x = -1;
  int cnt = 0;
  int tot = 0;
  while (cin >> str) {
    int f = -1;
    if (str.length() >= 3) {
      if (f == -1) f = etr(str);
    }
    if (str.length() >= 4) {
      if (f == -1) f = lios(str);
      if (f == -1) f = etra(str);
    }
    if (str.length() >= 5) {
      if (f == -1) f = liala(str);
    }
    if (str.length() >= 6) {
      if (f == -1) f = initis(str);
      if (f == -1) f = inites(str);
    }
    if (f == -1) {
      cout << "NO" << endl;
      return 0;
    }
    if (f < x) {
      cout << "NO" << endl;
      return 0;
    }
    if (x == -1) x = f;
    if ((x & 1) != (f & 1)) {
      cout << "NO" << endl;
      return 0;
    }
    x = f;
    if (x == 2 || x == 3) cnt++;
    tot++;
  }
  if (tot != 1 && cnt != 1) {
    cout << "NO" << endl;
    return 0;
  }
  cout << "YES" << endl;
  return 0;
}
