Джон — ведущий программист на эсминце, принадлежащем космическому флоту Конфедерации независимых операционных систем. Одна из его задач — проверять, не были ли повреждены электронные мозги роботов во время сражений.
Стандартный тест — приказать роботом сформировать один или несколько рядов, в каждом ряду роботы должна стоять друг за другом. После этого каждый робот доложит, сколько роботов стоит перед ним в его ряду.
Пример расположения роботов (начало рядов слева). Роботы докладывают числа, указанные над ними. \(i\)-й робот доложил число \(l_i\). К сожалению, Джон не знает, в каком ряду стоит каждый из роботов, и не может проверить доложенные числа. Определите, существует ли расположение роботов такое, что все доложенные числа корректны, или такого расположения не существует.
Выходные данные
Для каждого набора входных данных выведите «YES», если существует расстановка роботов, соответствующая заявлениям роботов. В противном случае выведите «NO».
Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.
Примечание
Пример расстановки, согласованной с утверждениями роботов из первого примера:
Пример расположения, согласованного с утверждениями роботов из второго примера, показан в условии.
В третьем входном наборе третий робот утверждает, что перед ним находятся две машины. В таком случае перед роботом, стоящим непосредственно перед ним, будет одна машина. Ни один робот не утверждает этого, поэтому нет правильного расположения.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 6 0 1 2 0 1 0 9 0 0 0 0 1 1 1 2 2 3 0 0 2 1 99 5 0 1 2 3 4
|
YES
YES
NO
NO
YES
|