#include <bits/stdc++.h>
using namespace std;
const int N = 2e6 + 10;
const int md = 1e9 + 7;
int a[N], b[N], c[N], p[N];
int i, j, n, m, ans, x, y, t, z, k;
vector<int> v;
int d;
int prov(string st) {
  int n = st.size();
  if (n > 3 && st.substr(n - 4, 4) == "lios") return 0;
  if (n > 4 && st.substr(n - 5, 5) == "liala") return 1;
  if (n > 2 && st.substr(n - 3, 3) == "etr") return 2;
  if (n > 3 && st.substr(n - 4, 4) == "etra") return 3;
  if (n > 5 && st.substr(n - 6, 6) == "initis") return 4;
  if (n > 5 && st.substr(n - 6, 6) == "inites") return 5;
  return -2;
}
int main() {
  string st, s = "";
  getline(cin, st);
  st += ' ';
  t = -1;
  x = -1;
  int x1 = 0;
  for (i = 0; i < (int)st.size(); i++)
    if (st[i] == ' ') {
      k = prov(s);
      if (k < 0) {
        cout << "NO";
        return 0;
      }
      if (x == -1)
        x = k & 1;
      else if (x != (k & 1)) {
        cout << "NO";
        return 0;
      }
      m++;
      if (k / 2 == 1) x1++;
      if (k / 2 < t) {
        cout << "NO";
        return 0;
      } else
        t = k / 2;
    } else
      s += st[i];
  if (x1 == 1 || m == 1)
    cout << "YES";
  else
    cout << "NO";
}
