#P7704. 「MCOI-09」Greedy Deletion

「MCOI-09」Greedy Deletion

题目描述

小于等于 nn 的正整数形成集合 Sn={1,2,,n}S_n=\{1,2,\dots,n\}

删除值为 ii 的元素代价为 iki^k,其中每一个元素至多被删一次。

给定正整数 nnkk,求:最小代价使 SnS_n 乘积变为完全平方数是什么?答案对 998244353998244353 取模。

注意你需要求最小代价,模 998244353998244353,而不是模 998244353998244353 后的代价的最小值。

你需要回答 TT 组询问,其中所有 kk 相同。

输入格式

第一行三个正整数 TTkkmaxn\max n,分别表示询问数量,给定 kk,以及最大 nn

接下来 TT 行,每行一个正整数 nn

输出格式

输出 TT 行,第 ii 行输出第 ii 组数据的答案。

2 2 6
1
6
0
25

提示

样例 1 解释

对于 n=1n=1S1S_1 乘积为完全平方数,不需要删除。

对于 n=6n=6,可以删除 55 使得 S6S_6 乘积变为完全平方数。

数据规模与约定

  • Subtask 1(7 pts):maxn20\max n\le 20
  • Subtask 2(37 pts):maxn1000\max n\le 1000
  • Subtask 3(11 pts):T1000T\le 1000
  • Subtask 4(45 pts):无额外限制。

对于 100%100\% 的数据,1maxn5×1061\le \max n\le 5\times 10^61T5×1051\le T\le 5\times 10^51k<9982443531\le k< 998244353

保证 1nmaxn1\le n\le \max n