#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
int fast_pow(int a, int b) {
  int res = a, ret = 1;
  while (b > 0) {
    if (b % 2) ret = (ret * res) % mod;
    res = (res * res) % mod;
    b /= 2;
  }
  return ret;
}
vector<int> res;
int check(string s) {
  int N = s.length();
  if (N >= 4 && s[N - 1] == 's' && s[N - 2] == 'o' && s[N - 3] == 'i' &&
      s[N - 4] == 'l')
    return 1;
  if (N >= 5 && s[N - 1] == 'a' && s[N - 2] == 'l' && s[N - 3] == 'a' &&
      s[N - 4] == 'i' && s[N - 5] == 'l')
    return 4;
  if (N >= 3 && s[N - 1] == 'r' && s[N - 2] == 't' && s[N - 3] == 'e') return 2;
  if (N >= 4 && s[N - 1] == 'a' && s[N - 2] == 'r' && s[N - 3] == 't' &&
      s[N - 4] == 'e')
    return 5;
  if (N >= 6 && s[N - 1] == 's' && s[N - 2] == 'i' && s[N - 3] == 't' &&
      s[N - 4] == 'i' && s[N - 5] == 'n' && s[N - 6] == 'i')
    return 3;
  if (N >= 6 && s[N - 1] == 's' && s[N - 2] == 'e' && s[N - 3] == 't' &&
      s[N - 4] == 'i' && s[N - 5] == 'n' && s[N - 6] == 'i')
    return 6;
  return 0;
}
string s1;
int main() {
  while (cin >> s1) {
    int k = check(s1);
    if (k == 0) {
      cout << "NO";
      return 0;
    }
    res.push_back(k);
  }
  if (res[0] > 3) {
    for (int i = 0; i < res.size(); ++i) {
      res[i] -= 3;
      if (res[i] <= 0) {
        cout << "NO";
        return 0;
      }
    }
  }
  if (res.size() == 1) {
    cout << "YES";
    return 0;
  }
  int cat = 0;
  while (cat < res.size() && res[cat] == 1) cat++;
  if (cat == res.size() || res[cat] != 2) {
    cout << "NO";
    return 0;
  }
  cat++;
  while (cat < res.size()) {
    if (res[cat] != 3) {
      cout << "NO";
      return 0;
    }
    cat++;
  }
  cout << "YES";
  return 0;
}
