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

Задача . A. Шахматы для троих


Задача

Темы: реализация *900

Алексей, Борис и Василий скоро примут участие в командном шахматном соревновании. Так как они все в одной команде, они решали вместе потренироваться перед турниром. Однако, это оказалось сделать не так просто, ведь шахматы — игра для двух человек.

Тогда они решили играть по следующим правилам:

  • Алексей и Борис играют первую игру, Василий наблюдает;
  • Когда игра заканчивается, проигравший становится наблюдателем, а предыдущий наблюдатель садится играть против победителя.

Алексей, Борис и Василий играют таким образом, что ничьих не случается.

Сегодня они сыграли n игр, после каждой запоминали победителя. Они решили записать историю игр, описывающую, кто победил в каждой из них. Но теперь они сомневаются, что записанная информация корректна, и хотят узнать, могла ли получиться такая история (то есть, нет таких игр, в которых побеждает игрок, следящий за матчем). Помогите им проверить это!

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

В первой строке записано целое число n (1 ≤ n ≤ 100) — количество игр, сыгранных Алексеем, Борисом и Василием.

Далее идет n строк, описывающие историю игр. i-я строка содержит одно целое число ai (1 ≤ ai ≤ 3), равное 1, если Алексей победил в i-й игре, 2 — Борис победил в i-й игре и 3 — Василий победил в i-й игре.

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

Выведите YES, если такая история игр возможна. В противном случае выведите NO.

Примечание

В первом примере возможна следующая ситуация:

  1. Алексей выигрывает, следующую партию вместо Бориса играет Василий;
  2. Алексей выигрывает, Борис заменяет Василия;
  3. Борис выигрывает.

Ситуация во втором примере невозможна, так как Борис проигрывает первую партию и поэтому не может участвовать во второй.


Примеры
Входные данныеВыходные данные
1 3
1
1
2
YES
2 2
1
2
NO

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

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