#P13417. [COCI 2012/2013 #4] DLAKAVAC

    ID: 13227 远端评测题 2000ms 32MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>数学递推2012递归COCI(克罗地亚)

[COCI 2012/2013 #4] DLAKAVAC

Description

在遥远的 Xanadu 城市,一场由“毛流感”病毒引发的流感疫情爆发了。该市共有 MM 位居民,每位居民都有一个唯一的个人编号,编号范围为 00M1M-1。感染这种流感后会持续恰好一天,而且由于病毒变异极快,居民在同一季节内可以多次感染(不会获得持久免疫)。

疫情爆发的第一天,流感由一批被称为“初始病人”(init-patients)的居民从另一个遥远国家带入,他们的编号是已知的。流感的传播以这些初始病人为基础。之后的每一天,编号为 pp 的居民会在且仅在存在编号为 aa 的居民在前一天感染,并且存在编号为 bb 的初始病人,使得:

(a×b)modM=p(a \times b) \bmod M = p

其中 aabb 可以相同,也可以不同。例如,假设镇上有 101101 人,初始病人编号为 555050。第一天,初始病人自然感染。第二天,感染者为 25254848250mod101250 \bmod 101)、76762500mod1012500 \bmod 101)。第三天,感染者之一为 7777,因为 (48×50)mod101=77(48 \times 50) \bmod 101 = 77

请问第 KK 天会有哪些人感染流感?

Input Format

第一行输入三个正整数 KKMMNN1K10181 \leq K \leq 10^{18}3M15003 \leq M \leq 1500N<MN < M)。

第二行输入 NN 个两两不同、递增、且不超过 M1M-1 的非负整数,表示初始病人的编号。

Output Format

输出一行,按升序输出第 KK 天感染流感的所有居民编号,用空格分隔。

1 100 3
1 2 3 
1 2 3
2 100 3
1 2 3
1 2 3 4 6 9
10 101 2
5 50
36 44 57 65

Hint

翻译由 ChatGPT-4.1 完成。