2635: 例7.6-2 sequence

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:0

题目描述

C有一个集合S,里面的元素都是小于M的非负整数。他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S。小C用这个生成器生成了许多这样的数列。但是小C有一个问题需要你的帮助:给定整数x,求所有可以生成出的,且满足数列中所有数的乘积mod M的值等于x的不同的数列的有多少个。小C认为,两个数列{Ai}{Bi}不同,当且仅当至少存在一个整数i,满足AiBi。另外,小C认为这个问题的答案可能很大,因此他只需要你帮助他求出答案mod 1004535809的值就可以了。

输入

第一行四个整数,NMx|S|,其中|S|为集合S中元素个数。

第二行,|S|个整数,表示集合S中的所有元素。

输出

一行一个整数,表示你求出的权值和 mod 1004535809的值。

样例输入 复制

4 3 1 2
1 2

样例输出 复制

8

提示

【样例说明】

可以生成的满足要求的不同的数列有(1111)、(1122)、(1212)、(1221)、(2112)、(2121)、(2211)、(2222)。

 

 

【数据规模和约定】

对于10%的数据,1N1000

对于30%的数据,3M100

对于60%的数据,3M800

对于全部的数据,1N1093M8000M为质数,1xM-1,输入数据保证集合S中元素不重复。