#include <bits/stdc++.h>
using namespace std;
int f(string S) {
  int n = S.size();
  if (n > 3 && S[n - 4] == 'l' && S[n - 3] == 'i' && S[n - 2] == 'o' &&
      S[n - 1] == 's') {
    return 1;
  }
  if (n > 2 && S[n - 3] == 'e' && S[n - 2] == 't' && S[n - 1] == 'r') {
    return 2;
  }
  if (n > 5 && S[n - 6] == 'i' && 'n' == S[n - 5] && 'i' == S[n - 4] &&
      't' == S[n - 3] && 'i' == S[n - 2] && 's' == S[n - 1]) {
    return 3;
  }
  if (n > 4 && S[n - 5] == 'l' && S[n - 4] == 'i' && S[n - 3] == 'a' &&
      S[n - 2] == 'l' && S[n - 1] == 'a') {
    return 4;
  }
  if (n > 3 && S[n - 4] == 'e' && S[n - 3] == 't' && S[n - 2] == 'r' &&
      S[n - 1] == 'a') {
    return 5;
  }
  if (n > 5 && S[n - 6] == 'i' && 'n' == S[n - 5] && 'i' == S[n - 4] &&
      't' == S[n - 3] && 'e' == S[n - 2] && 's' == S[n - 1]) {
    return 6;
  }
  return -1;
}
int main() {
  string S;
  int phase = 0;
  int n = 0;
  bool valid = true;
  int G = -1;
  int F;
  while (cin >> S) {
    ++n;
    F = f(S);
    if (F > 3 && G == 0) {
      valid = false;
    } else if (F <= 3 && G == 1) {
      valid = false;
    }
    G = ((F > 3) ? 1 : 0);
    if (F > 3) F -= 3;
    if (F == 2 && phase == 0) {
      phase = 1;
    } else if (F == 3 && phase == 1) {
      phase = 2;
    } else if (!((F == 1 && phase == 0) || (F == 3 && phase == 2))) {
      valid = false;
    }
  }
  if ((n == 1 && f(S) != -1) || (valid && phase != 0)) {
    cout << "YES\n";
  } else
    cout << "NO\n";
  return 0;
}
