ИТ-кампус Неймарк проводит множество соревнований! По итогам соревнования победители получают ценные призы, причем чем выше место, тем лучше приз (или, по крайней мере, не хуже). Иногда на соревновании дают дипломы первой степени («победители») и дипломы второй степени («призёры»). Иногда дают дипломы первой, второй, третьей степени.
Возможно, в недалеком будущем на соревнованиях будут вручать $$$m$$$ различных видов дипломов — дипломы степени $$$1$$$, дипломы степени $$$2$$$, ..., дипломы степени $$$m$$$. Чем лучше диплом (то есть, чем меньше его номер), тем более значимо достижение участника. Поэтому логично предположить, что дипломов степени $$$i$$$ будет вручено меньше, чем дипломов степени $$$j$$$ при $$$i \lt j$$$. Далее для простоты будем полагать, что на соревновании вручается ровно $$$i$$$ дипломов степени $$$i$$$ для всех $$$i$$$ от $$$1$$$ до $$$m$$$.
Сотрудники кампуса готовы к такому количеству дипломов! Более того, они запасли множество ценных призов. Всего было запасено $$$n$$$ видов призов, причем по аналогии с дипломами приз типа $$$i$$$ считается лучше, чем приз типа $$$j$$$, если $$$i \lt j$$$. Более ценные призы являются более дорогими, поэтому их было запасено меньше. А именно: было выбрано натуральное число $$$a$$$ и призов типа $$$i$$$ было заготовлено ровно $$$(i + a - 1)$$$ штук.
Наконец, настало время раздавать призы победителям! При раздаче призов должны выполняться следующие естественные условия:
От вас требуется найти количество различных способов раздать призы участникам. Два способа считаются различными, если хотя бы один участник получил приз другого типа. Поскольку ответ может быть очень большим, нужно вывести лишь его остаток от деления на $$$10^9+7$$$.
Первая строка содержит два натуральных числа — $$$n$$$ и $$$a$$$ ($$$1 \leq n \leq 5000$$$, $$$1 \leq a \leq 10^9$$$).
Вторая строка содержит одно натуральное число $$$m$$$ ($$$1 \leq m \leq n$$$). Легко видеть, что при таких ограничениях существует хотя бы один способ раздать призы.
Выведите одно число — количество различных способов раздать призы. Поскольку это число может быть очень большим, выведите лишь его остаток от деления на $$$10^9+7$$$.
| Группа | Баллы | Доп. ограничения | Система оценки |
| $$$0$$$ | $$$0$$$ | — | Тесты из условия |
| $$$1$$$ | $$$15$$$ | $$$n \leq 8$$$ и $$$a = 1$$$ | Полная группа |
| $$$2$$$ | $$$10$$$ | $$$m = 3$$$ и $$$a = 1$$$ | Полная группа |
| $$$3$$$ | $$$15$$$ | $$$m = 3$$$ | Полная группа |
| $$$4$$$ | $$$30$$$ | $$$n \leq 500 $$$ | Полная группа |
| $$$5$$$ | $$$30$$$ | — | Полная группа |
4 13
5
3 21
3
3 10003
10
В первом примере есть $$$4$$$ варианта раздать каждому виду дипломов свой тип призов (при этом один тип призов останется неиспользованным). Кроме того, есть еще один вариант: за дипломы степени $$$1$$$ и степени $$$2$$$ выдать призы типа $$$3$$$, а за диплом степени $$$3$$$ выдать призы типа $$$4$$$. Итого, получаем $$$5$$$ различных вариантов.