1900. A⊕B 问题

i=0nix(modp)\sum_{i=0}^ni\oplus x \pmod p,其中 \oplus 是异或,质数 p=109+7p=10^9+7

输入

输入一行两个整数 n,x(1n,x1012)n,x(1\le n,x\le10^{12})

输出

输出一行一个整数,代表你的答案

样例

标准输入 复制文本
4 5
标准输出 复制文本
23

提示

定义两个整数的异或 aba\oplus b 为先将 a,ba,b 转化为二进制,然后对每一位,若 a,ba,b 该位不同则该位结果为 11,否则为 00,各位都这么操作后得到结果。如 35=(011)2(101)2=(110)2=63\oplus 5=(011)_2\oplus(101)_2=(110)_2=6

对样例,(05)+(15)+(25)+(35)+(45)=5+4+7+6+1=23(0\oplus5)+(1\oplus5)+(2\oplus5)+(3\oplus5)+(4\oplus5)=5+4+7+6+1=23,而 23modp=2323\bmod p=23

来源

2022CS杯预选赛

登录以提交代码。
单点时限 1 秒
内存限制 256 MB
提交 26
通过 4