#aBC278Exid264. Ex - make 1
Ex - make 1
AT_abc278_h [ABC278Ex] make 1
题目描述
我们称满足下列条件的非负整数序列 为好序列:
- 存在 的一个(不一定连续的)非空子序列 ,使得 的所有元素的按位异或结果为 。
现有一个空序列 ,以及 张卡片,每张卡片上写有一个 到 之间的整数,且每个数各出现一次。
你可以重复以下操作,直到 变成好序列为止:
- 任意选择一张卡片,将卡片上的数添加到 的末尾,并吃掉这张卡片(被吃掉的卡片不能再选)。
在所有可能的操作后,长度为 的 有多少种不同的取法?请输出答案对 取模后的结果。
什么是按位异或?非负整数 的按位异或 定义如下:
- 的二进制表示中,第 位()的数,如果 和 的二进制表示中该位只有一个为 ,则为 ,否则为 。
例如,(二进制表示为:)。
输入格式
输入通过标准输入给出,格式如下:
输出格式
请输出答案。
输入输出样例 #1
输入 #1
2 2
输出 #1
5
输入输出样例 #2
输入 #2
2022 1119
输出 #2
293184537
输入输出样例 #3
输入 #3
200000 10000000
输出 #3
383948354
说明/提示
数据范围
- 为整数
样例解释 1
所有可能的长度为 的 如下,共有 种:
由 ChatGPT 4.1 翻译