#L2183. 「SDOI2015」序列统计

「SDOI2015」序列统计

「SDOI2015」序列统计

题目描述

小 C 有一个集合 SS,里面的元素都是小于 MM 的非负整数。
他有一个数列生成器,可以生成长度为 NN 的数列,数列中的每个数都属于集合 SS

给定整数 xx,求所有可以生成的,且满足 数列中所有数的乘积 modM\bmod M 的值等于 xx 的不同的数列的个数。
两个数列不同当且仅当至少存在一个位置 ii,满足 AiBiA_i \neq B_i

答案对 10045358091004535809 取模。


输入格式

第一行:N,M,x,SN, M, x, |S|
第二行:S|S| 个整数,表示集合 SS 中的所有元素。


输出格式

一行,一个整数,表示答案 mod1004535809\bmod 1004535809


样例

输入:

4 3 1 2
1 2

输出:

8

数据范围与提示

对于 1010% 的数据,1N10001 \leq N \leq 1000

对于 3030% 的数据,3M1003 \leq M \leq 100

对于 6060% 的数据,3M8003 \leq M \leq 800

对于全部的数据,1N1091 \leq N \leq 10^93M80003 \leq M \leq 8000MM 为质数,1xM11 \leq x \leq M-1,输入数据保证集合 SS 中元素不重复。