#include <bits/stdc++.h>
using namespace std;
const int MAX_BUF_SIZE = 16384;
char BUFOR[MAX_BUF_SIZE];
int BUF_SIZE, BUF_POS;
char ZZZ;
const int MXN = 100010;
const int C = 262144;
const int INF = 1000000001;
string a[MXN];
int aa;
int typ[MXN], gender[MXN];
string fem[3] = {"liala", "etra", "inites"};
string masc[3] = {"lios", "etr", "initis"};
string mowa[6] = {"lios", "etr", "initis", "liala", "etra", "inites"};
int n;
void test() {
  string tmp;
  while (cin >> tmp) a[aa++] = tmp;
  n = aa;
  bool czy = 1;
  for (int i = 0; i < aa; i++) {
    int dec = -1;
    gender[i] = -1;
    for (int j = 0; j < 3; j++) {
      string w = masc[j];
      if (w.length() <= a[i].length() &&
          w == string(a[i], (int)(a[i]).size() - (int)(w).size(),
                      (int)(w).size()))
        dec = 1;
      gender[i] = dec;
    }
    dec = -1;
    for (int j = 0; j < 3; j++) {
      string w = fem[j];
      if (w.length() <= a[i].length() &&
          w == string(a[i], (int)(a[i]).size() - (int)(w).size(),
                      (int)(w).size()))
        dec = 0;
      if (gender[i] == -1) gender[i] = dec;
    }
    for (int j = 0; j < 6; j++) {
      string w = mowa[j];
      typ[i] = -1;
      if (w.length() <= a[i].length() &&
          w == string(a[i], (int)(a[i]).size() - (int)(w).size(),
                      (int)(w).size())) {
        typ[i] = j % 3;
        break;
      }
    }
    if (gender[i] == -1 || typ[i] == -1) czy = 0;
  }
  int iter = 0;
  while (iter < n && typ[iter] == 0) iter++;
  if (typ[iter] == 1)
    iter++;
  else if (n > 1)
    czy = 0;
  while (czy && iter < n)
    if (typ[iter++] != 2) czy = 0;
  for (int i = 1; i < n; i++)
    if (gender[0] != gender[i]) czy = 0;
  if (czy)
    printf("YES\n");
  else
    printf("NO\n");
}
int main() {
  int te = 1;
  while (te--) test();
}
