#aBC278Exid264. Ex - make 1

Ex - make 1

AT_abc278_h [ABC278Ex] make 1

题目描述

我们称满足下列条件的非负整数序列 SS好序列

  • 存在 SS 的一个(不一定连续的)非空子序列 TT,使得 TT 的所有元素的按位异或结果为 11

现有一个空序列 AA,以及 2B2^B 张卡片,每张卡片上写有一个 002B12^B-1 之间的整数,且每个数各出现一次。
你可以重复以下操作,直到 AA 变成好序列为止:

  • 任意选择一张卡片,将卡片上的数添加到 AA 的末尾,并吃掉这张卡片(被吃掉的卡片不能再选)。

在所有可能的操作后,长度为 NNAA 有多少种不同的取法?请输出答案对 998244353998244353 取模后的结果。

什么是按位异或?非负整数 A, BA,\ B 的按位异或 ABA\oplus B 定义如下:

  • ABA\oplus B 的二进制表示中,第 2k2^k 位(k0k\geq 0)的数,如果 AABB 的二进制表示中该位只有一个为 11,则为 11,否则为 00

例如,35=63\oplus 5 = 6(二进制表示为:011101=110011\oplus 101 = 110)。

输入格式

输入通过标准输入给出,格式如下:

NN BB

输出格式

请输出答案。

输入输出样例 #1

输入 #1

2 2

输出 #1

5

输入输出样例 #2

输入 #2

2022 1119

输出 #2

293184537

输入输出样例 #3

输入 #3

200000 10000000

输出 #3

383948354

说明/提示

数据范围

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1B1071 \leq B \leq 10^7
  • N2BN \leq 2^B
  • N, BN,\ B 为整数

样例解释 1

所有可能的长度为 22AA 如下,共有 55 种:

  • (0,1)(0, 1)
  • (2,1)(2, 1)
  • (2,3)(2, 3)
  • (3,1)(3, 1)
  • (3,2)(3, 2)

由 ChatGPT 4.1 翻译