Підготовка змагання
Одного разу Арті попросили підготувати кілька змагань з програмування. Оскільки він дуже ледачий, то вирішив трохи схитрувати. Арті підготував задач, а для -ї задачі підготував умов. Тепер він хоче зібрати конкурси з цих завдань за такими правилами:
кожну задачу можна використовувати в змаганні тільки один раз;
змагання повинно містити від до задач;
два змагання вважаються різними, якщо є хоча б одна задача, яка присутня в одному змаганні, а не в іншому, або якщо є хоча б одна задача з різними формулюваннями в цих змаганнях;
важливий тільки набір задач, а не їх порядок.
Порахуйте, скільки різних змагань може підготувати Арті. Оскільки це число може бути дуже великим, виведіть його за модулем .
Вхідні дані
Перша рядок містить , , ).
Друга рядок містить цілих чисел ().
Вихідні дані
Виведіть один рядок — кількість різних змагань, які Арті може підготувати за модулем .