#ATarc133d. [ARC133D] Range XOR
[ARC133D] Range XOR
题目描述
给定整数 。请你求满足以下两个条件的整数对 的个数,并将结果对 取模后输出。
这里, 表示按位异或(XOR)运算。
按位异或(XOR)运算是这样定义的:对于非负整数 , 的二进制表示中,每一位 ()上的数,如果 和 的该位中恰好有一个是 ,则结果的该位为 ,否则为 。
例如,(二进制表示为:)。 一般来说, 个非负整数 的按位异或为 $(\dots((p\_1 \oplus p\_2) \oplus p\_3) \oplus \dots \oplus p\_k)$,并且可以证明,这个结果与 的顺序无关。
输入格式
输入从标准输入读取,格式如下:
输出格式
输出答案。
样例 1
输入
1 3 3
输出
2
样例 2
输入
10 20 0
输出
6
样例 3
输入
1 1 1
输出
1
样例 4
输入
12345 56789 34567
输出
16950
说明/提示
限制
- 输入的所有值均为整数
样例解释 1
满足条件的有 和 ,共 个。
由 ChatGPT 4.1 翻译