Лижні гонки#741

Лижні гонки

6 секунд
64 мегабайти
Складна

Міжнародна федерація лижного спорту постійно працює над підвищенням привабливості лижних гонок. Останніми роками створюються й випробовуються різноманітні дисципліни — спринти, мас-старти, естафети на зміну лиж тощо. Багато з них уже були представлені на Олімпіаді у Ванкувері. Важливим аспектом підвищення видовищності є посилення безпосередньої боротьби на трасі, як це відбувається у спринтах і мас-стартах. Для таких змагань особливо важливою є організація старту, а особливо — розташування спортсменів.

На майбутній зимовій Олімпіаді запропоновано нову схему розміщення спортсменів на стартовому полі. Як і раніше, лижників розташовують у кілька колон уздовж стартової лінії. Тепер, однак, кількість учасників у кожній колоні визначає регламент змагань. Додатково до цього лижники з однієї країни підпорядковуються таким обмеженням:

Федерація просить вас написати програму, яка визначить, скількома способами можна розташувати на старті спортсменів з однієї країни.

Вхідні дані

У першому рядку задано цілі числа і (1 \leq N, K \leq 400). У другому рядку йдуть додатних цілих чисел, розділених пробілами, які описують стартові колонки. -те число означає кількість місць у -ій колонці. Числа не перевищують .

Вихідні дані

Виведіть одне число — кількість способів. Відповідь виведіть по модулю 10^9+7.

Приклади

Приклад 1

Loading
Loading