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

Задача . B. Петя и лестницы


Мальчик Петя очень любит лестницы, при этом ему скучно по ним просто ходить — он любит перепрыгивать некоторые ступеньки. Стоя на какой-то ступеньке, он может прыгнуть на следующую ступеньку, перепрыгнуть через одну ступеньку или сразу через две. Но некоторые ступеньки слишком грязные, и Петя не хочет на них наступать.

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

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

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

В первой строке записаны два целых числа n и m (1 ≤ n ≤ 109, 0 ≤ m ≤ 3000) — количество ступенек в лестнице и количество грязных ступенек соответственно. Во второй строке через пробел записаны m различных целых чисел d1, d2, ..., dm (1 ≤ di ≤ n) — номера грязных ступенек (в произвольном порядке).

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

Выведите «YES», если Петя может добраться до ступеньки с номером n, наступая только на чистые ступеньки. В противном случае выведите «NO».


Примеры
Входные данныеВыходные данные
1 10 5
2 4 8 3 6
NO
2 10 5
2 4 5 7 9
YES

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

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