#R1027. [KBC003C] Flu

[KBC003C] Flu

题目背景

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

题目描述

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

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

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

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

输入格式

  • 第一行 33 个整数 K,M,NK,M,N
  • 第二行 NN 个整数表示哪些人在第一天就被感染了。

输出格式

输出一行若干个整数,表示哪些人会在第 KK 天被感染(升序输出)。

样例 #1

样例输入 #1

1 100 3
1 2 3

样例输出 #1

1 2 3

样例 #2

样例输入 #2

2 100 3
1 2 3

样例输出 #2

1 2 3 4 6 9

样例 #3

样例输入 #3

3 101 2
5 50

样例输出 #3

24 38 63 77

提示

  • 对于 100%100\% 的数据:1K10181\leq K\leq 10^{18}3M15003\leq M\leq 1500N<MN\lt M