Олимпиадный тренинг

Задача . A. Уроки грамматики


В третьем классе Петя увлекся грамматикой и придумал свой собственный язык, который назвал Петровский. Петя хотел создать максимально простой язык, которого бы хватило для общения с друзьями, поэтому вся грамматика языка описывается следующим набором правил:

  • Есть три части речи: прилагательное, существительное, глагол. Каждое слово языка является либо прилагательным, либо существительным, либо глаголом.
  • Есть два рода: мужской и женский. Каждое слово языка имеет либо мужской, либо женский род.
  • Прилагательные мужского рода заканчиваются на -lios, а женского — на -liala.
  • Существительные мужского рода заканчиваются на -etr, а женского — на -etra.
  • Глаголы мужского рода заканчиваются на -initis, а женского — на -inites.
  • Таким образом, каждое слово Петровского языка имеет одно из шести описанных выше окончаний. Других слов в Петровском языке нет.
  • Допускается, что слово целиком состоит из окончания. То есть слова «lios», «liala», «etr» и так далее принадлежат Петровскому языку.
  • Знаки препинания, времена, числа и прочее в этом языке отсутствуют.
  • Предложение — это либо ровно одно слово любой части речи Петровского языка, либо ровно одно словосочетание.

Словосочетание — это любая последовательность слов Петровского языка, удовлетворяющая следующим условиям:

  • Слова в словосочетании идут в следующем порядке (слева направо): ноль или более прилагательных, затем ровно одно существительное, затем ноль или более глаголов.
  • Все части слова в словосочетании должны быть одного рода.

После того, как Петин друг Вася написал instant messenger (программу для быстрого обмена сообщениями) с поддержкой Петровского языка, Пете захотелось добавить в программу подсветку синтаксиса и грамматики. Так как Вася был в деревне, а ждать Пете не хотелось, то он попросил вас помочь ему с этой задачей. Ваша задача — по заданному набору слов определить, верно ли, что данный текст представляет собой ровно одно предложение на Петровском языке.

Входные данные

В первой строке записано одно или несколько слов, состоящих из строчных латинских букв. Общее количество символов (считая буквы и пробелы) не превосходит 105.

Гарантируется, что любые два последовательных слова разделены ровно одним пробелом, а других пробелов входные данные не содержат. Слова не обязательно принадлежат Петровскому языку.

Выходные данные

Если какое-то слово заданного текста не принадлежит Петровскому языку, или в тексте содержится более одного предложения, выведите «NO» (без кавычек). В противном случае выведите «YES» (без кавычек).


Примеры
Входные данныеВыходные данные
1 petr
YES
2 etis atis animatis etis atis amatis
NO
3 nataliala kataliala vetra feinites
YES

time 5000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя