#F0197. #2183. 「SDOI2015」序列统计
#2183. 「SDOI2015」序列统计
题目描述
小 C 有一个集合 ,里面的元素都是小于 的非负整数。他用程序编写了一个数列生成器,可以生成一个长度为 的数列,数列中的每个数都属于集合 。
小 C 用这个生成器生成了许多这样的数列。但是小 C 有一个问题需要你的帮助:给定整数 ,求所有可以生成出的,且满足数列中所有数的乘积 modM 的值等于 的不同的数列的有多少个。小 C 认为,两个数列 和 不同,当且仅当至少存在一个整数 ,满足 。另外,小 C 认为这个问题的答案可能很大,因此他只需要你帮助他求出答案 mod1004535809 的值就可以了。
输入格式
第一行,四个整数,、、、,其中 为集合 中元素个数。
第二行, 个整数,表示集合 中的所有元素。
输出格式
一行,一个整数,表示你求出的种类数 mod1004535809 的值。
样例
样例输入
4 3 1 2
1 2样例输出
8样例解释
可以生成的满足要求的不同的数列有 、、、、、、、。
数据范围与提示
对于 的数据,;
对于 的数据,;
对于 的数据,;
对于全部的数据,,为质数,,输入数据保证集合 中元素不重复。
题目来源:fps-loj-small-pics.zip;FPS 共享题包,题包内第 85 题。保留原作者与原赛事署名。