luogu#P9920. 「RiOI-03」变换,反演

    ID: 13887 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>数论洛谷原创Special Judge素数判断,质数,筛法洛谷月赛

「RiOI-03」变换,反演

题目背景

为了题目要求,我们对积性函数进行重定义:不保证 f(1)=1f(1)=1

题目描述

这是一道非传统题。

给定一个积性函数 f(d)f(d)。对于每一个测试点,我们会在附件中给出 g(n)=dnf(d)g(n)=\sum_{d|n}f(d) 的其中 kkmod 998244353\bmod\ 998244353 的值,这部分也会在输入中出现。接着,对于每一个测试点,有 tt 组数据。对于每组数据,输入 dd,请输出 f(d)mod998244353f(d)\bmod998244353 的值。

输入格式

第一行为 kk,接下来每一行会有两个正整数,分别为 ddg(d)g(d)

之后输入两个数 t,idt,id,分别表示数据组数与数据点编号。对于每组数据,输入一个正整数 nn

输出格式

对于每组数据,输出一个非负整数表示答案。

10
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10

3 -1
1
2
3

1
1
2

提示

【样例解释】

由于 g(d)=dg(d)=d,因此 f(d)=φ(d)f(d)=\varphi(d),结果正确。

【数据范围】

对于每个测试点:

如果你正确回答了 nkn\le k 的测试数据,你将得到 20%20\% 的分数。

如果你正确回答了所有测试数据,你将得到剩余 80%80\% 的分数。所以,如果你无法正确回答,也请随机输出一个数来保证格式正确。

【数据范围】

Id\text{Id} Name\text{Name} Score\text{Score} nn\leq k=k= t=t=
00 Epsilon\text{Epsilon} 55 10610^6 100100 1010
11 Division\text{Division} 10910^9
22 Unknown\text{Unknown} 101810^{18} 11
33 Random\text{Random} 1010 10510^5
44 Double\text{Double} 10910^9 100100 1010
55 Hack\text{Hack} 3162331623 11
66 Square\text{Square} 1515 101810^{18} 100100 55
77 Poly\text{Poly} 2020 10910^9 10510^5 100100
88 Thanks\text{Thanks} 10510^5 44 10510^5