#P44. [KBC003D] Flu 2

[KBC003D] Flu 2

版权声明

本题版权归 Long Long OJ 所有。

题目背景

在遥远的幻想乡,一场智障流感爆发了。

题目描述

MM 个人居住在幻想乡,每个居民都有一个独特的互不相同的个人身份证号码,编号从 00M1M-1

在第一天的时候就有 NN 个人被感染了,我们知道他们的编号。然后在接下来的几天里,若一个人标号为 pp,他会在某天被感染当且仅当:

  1. 某个居民 aa 在前一天被感染过;
  2. 某个居民 bb 在第一天被感染过(请注意:在这里 aabb 是可以相同的);
  3. aabb 满足条件:a×bp(modM)a \times b \equiv p \pmod M

每个居民都可以被重复感染!请你写一个程序算出哪些人会在第 KK 天被感染。

输入格式

第一行三个非负整数 $K, M, N\ (1 \le K \le 10^{18}, 3 \le M \le 1500, 0 \le N \le M - 1)$。

第二行 NN 个互不相同的非负整数(范围为 [0,M1][0, M - 1])表示哪些编号的人在第一天就被感染了。

输出格式

升序输出输出一行若干个非负整数,表示哪些编号的人会在第 KK 天被感染。

样例

1 100 3
1 2 3
1 2 3
2 100 3
1 2 3
1 2 3 4 6 9
3 101 2
5 50
24 38 63 77