克洛涅修女来到了这所孤儿院。Sister 很快就和大家打成一片,开始了捉迷藏的游戏。
Sister 今天藏起来了一个 n 次的多项式 F(x)。同时,作为线索,她给出了一个 m 次的多项式 G(x) 。这里 m < n 。她又给出了一个有恰好 n 个不同元素的集合 S 。Sister 说,她藏起来的多项式满足两个性质:
1. 最高次项系数为 1 。
2. 对于所有 S 中的元素 x ,都有 F(x) = G(x) 。即,
%3DG(x))
。
有了这些线索和条件, Sister 藏起来的多项式就可以被唯一确定了。诺曼心中已有了答案。那么,你能不能找得比诺曼更快呢?
为了方便,你只需要回答将 x=k 代入 Sister 的多项式后的值除以 998244353 后的余数即可。也就是
%20%5Cbmod%20998244353)
的值。
由于读入文件较大,请使用较快的读入方式。
这里给出一个 C++ 的快速读入板子:
namespace io {
const int SIZE = 1e7 + 10;
char inbuff[SIZE];
char *l, *r;
inline void init() {
l = inbuff;
r = inbuff + fread(inbuff, 1, SIZE, stdin);
}
inline char gc() {
if (l == r) init();
return (l != r) ? *(l++) : EOF;
}
void read(int &x) {
x = 0; char ch = gc();
while(!isdigit(ch)) ch = gc();
while(isdigit(ch)) x = x * 10 + ch - '0', ch = gc();
}
} using io::read;
在主程序中 read(x); 即可。