#include <bits/stdc++.h>
using namespace std;
const long long N = 100005;
vector<long long> male[3];
vector<long long> fe[3];
string ms[3] = {"lios", "etr", "initis"};
string fs[3] = {"liala", "etra", "inites"};
string s;
long long n = 0;
long long m = 0, f = 0;
void check() {
  long long flag = 0;
  for (long long i = 0; i < 3; i++) {
    if (s.size() >= ms[i].size() &&
        s.substr(s.size() - ms[i].size()) == ms[i]) {
      male[i].push_back(n);
      m = 1;
      flag = 1;
    }
  }
  for (long long i = 0; i < 3; i++) {
    if (s.size() >= fs[i].size() &&
        s.substr(s.size() - fs[i].size()) == fs[i]) {
      fe[i].push_back(n);
      f = 1;
      flag = 1;
    }
  }
  if (!flag) {
    cout << "NO";
    exit(0);
  }
}
int32_t main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  while (cin >> s) {
    check();
    n++;
  }
  if (m && f) {
    cout << "NO";
    return 0;
  }
  long long req[n];
  long long cur = 0, flag = 1;
  for (long long i = 0; i < 3; i++) {
    for (auto it : male[i]) {
      if (it != cur) {
        cout << "NO";
        return 0;
      } else
        cur++;
    }
  }
  for (long long i = 0; i < 3; i++) {
    for (auto it : fe[i]) {
      if (it != cur) {
        cout << "NO";
        return 0;
      } else
        cur++;
    }
  }
  if (n == 1)
    cout << "YES";
  else if (f && fe[1].size() != 1)
    cout << "NO";
  else if (m && male[1].size() != 1)
    cout << "NO";
  else
    cout << "YES";
  return 0;
}
