B. Петя и лестницы
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

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

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

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

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

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

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

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

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