「MCOI-09」Greedy Deletion

题目描述

小于等于 $n$ 的正整数形成集合 $S_n=\{1,2,\dots,n\}$。 删除值为 $i$ 的元素代价为 $i^k$,其中每一个元素至多被删一次。 给定正整数 $n$ 和 $k$,求:最小代价使 $S_n$ 乘积变为完全平方数是什么?答案对 $998244353$ 取模。 **注意你需要求最小代价,模 $998244353$,而不是模 $998244353$ 后的代价的最小值。** 你需要回答 $T$ 组询问,其中所有 $k$ 相同。

输入输出格式

输入格式


第一行三个正整数 $T$,$k$,$\max n$,分别表示询问数量,给定 $k$,以及最大 $n$。 接下来 $T$ 行,每行一个正整数 $n$。

输出格式


输出 $T$ 行,第 $i$ 行输出第 $i$ 组数据的答案。

输入输出样例

输入样例 #1

2 2 6
1
6

输出样例 #1

0
25

说明

#### 样例 1 解释 对于 $n=1$,$S_1$ 乘积为完全平方数,不需要删除。 对于 $n=6$,可以删除 $5$ 使得 $S_6$ 乘积变为完全平方数。 #### 数据规模与约定 - Subtask 1(7 pts):$\max n\le 20$。 - Subtask 2(37 pts):$\max n\le 1000$。 - Subtask 3(11 pts):$T\le 1000$。 - Subtask 4(45 pts):无额外限制。 对于 $100\%$ 的数据,$1\le \max n\le 5\times 10^6$,$1\le T\le 5\times 10^5$,$1\le k< 998244353$。 **保证** $1\le n\le \max n$。