题目描述
给定正整数 N 和 K。找到满足以下条件的整数序列 bigl(f(0),f(1),ldots,f(2N−1)bigr) 的个数(对 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)$。
这里的 mathrmAND 和 mathrmOR 分别表示按位与和按位或。
约束条件
- 1≤N≤3×105
- 1≤K≤1018
输入
从标准输入读入输入数据,输入格式如下:
N K
输出
输出满足条件的整数序列的个数(对 998244353 取模)。
示例 1
2 1
示例 1 输出
6
满足条件的整数序列有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)
示例 2
2 2
示例 2 输出
19
示例 3
100 123456789123456789
示例 3 输出
34663745