OUPC2025 OPENコンテスト 2026/03/29 09:00 ~ 2026/03/29 14:00 5:00:00.000

H Distinct Coordinates Game

問題
制限時間: 2 sec メモリ制限: 1024 MB
Distinct Coordinates Game
Statement

以下のゲームを考えます。

数直線上で座標が正整数であるような相異なる \(N\) 点に石が \(1\) 個ずつ置かれています。 最初、\(i\) 個目の石は座標 \(X_i\) に置かれています。 \(2\) 人のプレイヤーがゲームをします。 先手と後手が交互に以下の操作を繰り返し、操作を行えなくなった方の負けです。
  • 座標 \(x\) に石が置かれているような \(x\) と、座標 \(y\) に石が置かれていないような \(x\) 未満の正整数 \(y\) を選び、座標 \(x\) の石を座標 \(y\) に移動させる。

このゲームは有限回の操作で終了することが証明できます。 以下の条件を満たす正整数列 \(X\) の個数を \(998244353\) で割った余りを求めてください。

  • \(|X| = N\)
  • \(\sum_{i=1}^{|X|}{X_i} = S\)
  • \(X\) の要素は互いに相異なる。
  • 上記のゲームで、先手と後手が互いに最善を尽くすと先手が勝つ。

\(1\) つの入力につき \(T\) 個のテストケースが与えられるので、それぞれについて解いてください。

Input

入力は以下の形式で標準入力から与えられます。

\(T\)
\(\mathrm{case}_{1}\)
\(\mathrm{case}_{2}\)
\(\vdots\)
\(\mathrm{case}_{T}\)

\(t\) 番目のテストケース \(\mathrm{case}_t\) は以下の形式で与えられます。

\(N~S\)

入力は以下の制約をすべて満たします。

  • \(1 \leq T \leq 10^4\)
  • \(1 \leq N \leq \mathbf{4}\)
  • \(1 \leq S \leq 10^{18}\)

Output

\(T\) 行出力してください。

\(t\) 行目に \(\mathrm{case}_t\) に対する答えを出力してください。

Scoring

以下の追加制約を満たすデータセットに正解した場合、部分点が与えられます。

  • (20点): \(N\leq 2\)
  • (20点): \(N\leq 3,\;S\leq 500\)
  • (60点): 追加制約はありません。

Example

Input 1
7
1 8
2 8
3 8
4 8
3 29
2 100
4 1000000000000000000
Output 1
1
6
12
0
336
98
990355765