1489 : 无题
时间限制Time Limit
1
秒Sec
内存限制Memory Limit
128
兆MB
提交次数Submitted
0 次Times
通过次数Solved
0 次Times
标准评测 Standard
从标准输入读入,结果写到标准输出。评测将输出拆成 token,与标准答案逐项比较,不按整段逐字节比对。
Read from standard input and write to standard output. The judge splits the output into tokens and compares them with the official answer; it does not compare raw bytes.
| 比对Compare | token 相同即通过。中间的空格、制表符、换行可多可少。Matching tokens pass. Extra spaces, tabs, or newlines between them are ignored. |
|---|---|
| 不同则错Differs | token 个数或内容不同即错误。23 与 2 3、02 与 2、2.0 与 2 均视为不同。A different token count or value is wrong. 23 vs 2 3, 02 vs 2, and 2.0 vs 2 all differ. |
| 输入Input | 标准输入,格式见题面。Standard input; format as in the statement. |
| 输出Output | 标准输出。Standard output. |
题目描述Description
现有数字 n 和 c,使用它们来生成一个无限序列 A ,其中:
A_1=n,A_i= gcd(i,c)+{\textstyle \sum_{j=1}^{i-1}} A_j\ \ (i>1)
gcd(i,c) 表示 i 和 c 的最大公因数。
从该序列中挑出任意数字作和,接着将所有求和得到的结果去重后,求其中的第 k 小。
输入格式Input
第一行为三个整数,n、c 和 q。(1\le n,c,q \le 10^5)
随后 q 行,每行为一个正整数 k 。(1\le k \le 10^{18})
输出格式Output
输出 q 行,对于询问的每个 k,求第 k 小。
由于结果可能很大,请将结果对 1e9+7 取模后输出。