#10237. 「一本通 6.6 练习 8」礼物

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 1bentong

题目描述

原题来自:BZOJ 2142

一年一度的圣诞节快要来到了。每年的圣诞节小 E 都会收到许多礼物,当然他也会送出许多礼物。不同的人物在小 E 心目中的重要性不同,在小 E 心中分量越重的人,收到的礼物会越多。

小 E 从商店中购买了 n 件礼物,打算送给 m 个人,其中送给第 i 个人礼物数量为 w_i 。请你帮忙计算出送礼物的方案数(两个方案被认为是不同的,当且仅当存在某个人在这两种方案中收到的礼物不同)。由于方案数可能会很大,你只需要输出模 P 后的结果。

输入格式

输入的第一行包含一个正整数 P ,表示模数;

第二行包含两个正整数 n m ,分别表示小 E 从商店购买的礼物数和接受礼物的人数;

以下 m 行每行仅包含一个正整数 w_i ,表示小 E 要送给第 i 个人的礼物数量。

输出格式

若不存在可行方案,则输出 Impossible,否则输出一个整数,表示模 P 后的方案数。

样例

样例输入

100
4 2
1
2

样例输出

12

样例说明

12 种方案详情如下: \{1\}\{2,3\},\{1\}\{2,4\},\{1\}\{3,4\},\{2\}\{1,3\},\{2\}\{1,4\},\{2\}\{3,4\},\{3\}\{1,2\},\{3\}\{1,4\},\{3\}\{2,4\},\{4\}\{1,2\},\{4\}\{1,3\},\{4\}\{2,3\}

数据范围与提示

P=p_1^{c_1} \times p_2^{c_2} \times p_3^{c_3} \times \cdots \times p_t ^{ c_t} p_i 为质数。

对于 100\% 的数据, 1\le n\le 10^9,1\le m\le 5,1\le p_i^{c_i}\le 10^5