#P4851. 「POI 2021/2022 R2」Liczby względnie pierwsze

「POI 2021/2022 R2」Liczby względnie pierwsze

题目描述

题目译自 XXIX Olimpiada Informatyczna – II etap Liczby względnie pierwsze

最近,Bajtazar 迷上了互质数的研究。所谓自然数 xx 与自然数 yy 互质,是指它们的最大公约数为 11。例如,与 1010 互质的数字包括:

1,3,7,9,11,13,17,1, 3, 7, 9, 11, 13, 17, \ldots

Bajtazar 将所有与数字 nn 互质的数字按升序写了出来,把这个列表装裱起来,从此称之为「Bajtazar 列表」。

在将这份作品挂上墙前,他想先检查一下列表的正确性。由于这个列表是无穷长的,他决定只抽查其中一段长度为 cc 的片段,从第 kk 个位置开始。列表中的元素从 11 开始依次编号。你愿意帮助他完成这个任务吗?

输入格式

输入的第一行包含三个自然数 nn, kk, cc (2n10142 \leq n \leq 10^{14}, 1k10141 \leq k \leq 10^{14}, 1c1000001 \leq c \leq 100000),分别表示 Bajtazar 选定的数字、检查片段的起始位置以及片段的长度。

输出格式

你的程序应输出一行,包含 cc 个自然数,用单个空格分隔,表示 Bajtazar 列表中第 kk, (k+1)(k+1), (k+2)(k+2), \ldots, (k+c1)(k+c-1) 个位置上的元素。提醒一下,这个列表包含所有与 nn 互质的数字,按升序排列。

样例 1

输入

10 3 4

输出

7 9 11 13

解释:Bajtazar 询问列表中第 33, 44, 55, 66 个位置的元素。对于 n=10n=10,Bajtazar 列表依次为 11, 33, 77, 99, 1111, 1313, 1717, \ldots

样例 2 见附加文件下 lic1.in 和 lic1.out。

该样例满足 n=215n=2^{15}, k=1000k=1000, c=15300c=15300

样例 3 见附加文件下 lic2.in 和 lic2.out。

该样例满足 n=257040n=257040, k=100k=100, c=100c=100

样例 4 见附加文件下 lic3.in 和 lic3.out。

该样例满足 nn, kk[1013,1014][10^{13}, 10^{14}] 范围内随机,c=100c=100

样例 5 见附加文件下 lic4.in 和 lic4.out。

该样例满足 nn, kk[1013,1014][10^{13}, 10^{14}] 范围内随机,c=100000c=100000

数据范围与提示

详细子任务附加限制及分值如下表所示。

其中,MM 表示输出中最后一个数字,f(n)f(n) 表示不超过 nn 且与 nn 不互质的数字个数。

子任务编号 附加限制 分值
1 n1000000n \leq 1000000MnM \leq n 10
2 f(n)1000000f(n) \leq 1000000MnM \leq n 36
3 n,k1014n, k \leq 10^{14}c100c \leq 100 30
4 无附加限制 24