11216. Сходи
Є сходи з \(N\) східцями. Степан стоїть біля підніжжя сходів, тобто на 0-й сходинці.
Він може підніматися на одну чи дві сходинки одночасно.
Проте \(a_1\), \(a_2\), \(a_3\), ..., \(a_M\) сходинки зламані, тому ступати на ці сходинки небезпечно. Скільки є способів, щоб піднятися на верхню сходинку, тобто на \(N\)-ту сходинку, не ступаючи на розбиті сходинки?
Знайдіть цю кількість за модулем 1 000 000 007.
Формат вхідних даних
Вхідний потік містить у першому рядку цілі числа \(N,M\) (\(1 \le N \le 10^5\), \(0 \le M \le N-1\)).
Наступні \(M\) рядків містять цілі числа \(a_i\) (\(1 \le a_1 < a_2 < ... < a_M \le N-1\)). Числа розділяються пропуском.
Формат вихідних даних
У вихідний потік вивести кількість способів піднятися по сходах за модулем 1 000 000 007.
Примітка
До прикладу 1:
Є чотири способи піднятися по сходах, а саме:
0→1→2→4→5→6
0→1→2→4→6
0→2→4→5→6
0→2→4→6
Приклад вхідних даних
6 1
3
Приклад вихідних даних
4
Приклад вхідних даних
10 2
4
5
Приклад вихідних даних
0
Приклад вхідних даних
100 5
1
23
45
67
89
Приклад вихідних даних
608200469
Коментарі