Cidoai的映射数列
题号:NC277708
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给出两个整数 n,k,有一个正整数集合 X=\{1,2,3,\cdots,n-1,n\}。你需要求出满足以下条件的映射 f: X \to X 的个数模 998244353 的值:

  • f \circ f=I_X,即 f(f(x))=x

  • |f(x)-x| \le k

多组询问。

输入描述:

第一行一个整数 T 表示询问次数。
接下来 T 行,每行两个整数 n,k

输出描述:

对于每组询问给出一个整数表示答案。
示例1

输入

复制
3
1 2
2 2
10 2

输出

复制
1
2
401
示例2

输入

复制
17
139754416593073275 0
833765607755589325 1
185041629421702226 1
953031153271052631 4
786720619080856843 5
577621338034224248 7
675652244815921328 1
231244666266874950 6
240969306492599296 5
509638228083054282 4
593821090139623660 3
816334807743313535 7
619044893793794333 4
374611401577643223 7
232433692850847851 3
453644240040088758 3
325789550856755047 7

输出

复制
1
582941273
280129160
136060256
779006836
97870039
95557880
68654365
811083393
978374457
112909173
911189580
197634020
514851466
231182803
820857264
126377224

备注:

1 \le T \le 500,1 \le n \le 10^{18},0 \le k \le 7