题目描述
给定正整数 N 和 K。请计算满足以下所有条件的整数序列 (f(0), f(1), …, f(2N−1)) 的个数,并将答案对 998244353 取模后输出。
- 对于任意非负整数 x(0≤x≤2N−1),都有 0≤f(x)≤K。
- 对于任意非负整数 x, y(0≤x,y≤2N−1),都有 $f(x) + f(y) = f(x\ \mathrm{AND}\ y) + f(x\ \mathrm{OR}\ y)$。
其中,AND 和 OR 分别表示按位与和按位或运算。
输入格式
输入为一行,包含两个整数 N 和 K。
输出格式
输出满足条件的整数序列的个数,对 998244353 取模后的结果。
样例 1
输入
2 1
输出
6
样例 2
输入
2 2
输出
19
样例 3
输入
100 123456789123456789
输出
34663745
说明/提示
数据范围
- 1≤N≤3×105
- 1≤K≤1018
样例解释 1
满足条件的整数序列共有 6 个:
- (0,0,0,0)
- (0,1,0,1)
- (0,0,1,1)
- (1,0,1,0)
- (1,1,0,0)
- (1,1,1,1)
由 ChatGPT 4.1 翻译