题目描述
给定正整数 N 和 M。
找到满足以下条件的 N 个正整数序列 A=(A1,A2,dots,AN) 的数量,取模 998244353。
- 1leqA1<A2<dots<ANleqM。
- B1<B2<dots<BN,其中 Bi=A1oplusA2oplusdotsoplusAi。
这里,oplus 表示位运算异或。
什么是位运算异或?
对于非负整数 A 和 B,位运算异或 AoplusB 定义如下:
- 当将 AoplusB 用二进制表示时,第 2k 位(kgeq0)上的数字为 1,当且仅当 A 和 B 中恰好有一个数字为 1;否则为 0。
例如,我们有 3oplus5=6(二进制表示:011oplus101=110)。
通常情况下,k 个非负整数 p1,p2,p3,dots,pk 的位运算异或被定义为 $(\\dots ((p_1 \\oplus p_2) \\oplus p_3) \\oplus \\dots \\oplus p_k)$。我们可以证明,这个结果与 p1,p2,p3,dots,pk 的顺序无关。
约束条件
- 1leqNleqM<260
- 输入中的所有值均为整数。
输入
输入以标准格式给出,格式如下:
N M
输出
输出答案。
示例输入 1
2 4
示例输出 1
5
例如,(A1,A2)=(1,3) 是符合条件的,因为 A1<A2 且 B1<B2,其中 B1=A1=1,B2=A1oplusA2=2。
其他满足条件的配对有 $(A_1,\\ A_2)=(1,\\ 2),\\ (1,\\ 4),\\ (2,\\ 4),\\ (3,\\ 4)$。
示例输入 2
4 4
示例输出 2
0
示例输入 3
10 123456789
示例输出 3
205695670