Школьник Никита прямо сейчас участвует в олимпиаде по программированию.
Прочитав комплект задач, он очень огорчился, что
у всех задач очень длинные и запутанные условия.
Тогда он взял условие первой задачи и порезал его на кусочки так,
что каждый кусочек содержал ровно одну букву. После этого Никита
выкинул все кусочки, на которых была написана буква, отличная от
«а», «б» или «в»; так у него осталось всего n кусочков.
Из этих кусочков Никита решил составить своё собственное условие,
короче и понятнее оригинального.
Новое условие должно представлять собой одно слово, составленное из всех
n букв, размещённых в некотором порядке. Никита хочет знать, можно ли из
оставшихся букв сложить хотя бы шесть различных слов длины n. Если это
не так, он расстроится и начнёт решать другие задачи. Помогите
Никите ответить на этот животрепещущий вопрос!
Исходные данные
В первой строке записано целое число n — количество оставшихся кусочков
(1 ≤ n ≤ 100). Во второй строке следует описание этих кусочков
в виде n целых чисел от 1 до 3. Число 1 обозначает кусочек с буквой «а»,
2 — кусочек с буквой «б», 3 — кусочек с буквой «в».
Результат
Если Никита может составить из кусочков хотя бы шесть различных слов длины
n, выведите слово «Yes». Иначе выведите слово «No».
Пример
исходные данные | результат |
---|
6
1 2 2 3 3 3
| Yes
|
Автор задачи: Алексей Кунгурцев
Источник задачи: Уральская региональная командная олимпиада по программированию 2013