题号:NC229191
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
传说中,小喵和小矣是一对夫妻,他们关系很和洽。由于两位都是数学系毕业的,所以平日里他们经常一起研究数学。
最近,他们发现,一个数不仅可以被若干个不同的二进制分解,还可以被若干个斐波那契数分解!
这里定义

,对于

有

。
但很快,他们发现分解方式并不唯一,不过只要满足分解成的斐波那契数不相邻,那么就有了唯一分解。形式化地。设

,满足
%2Ca_i%2B1%3Ca_%7Bi%2B1%7D)
,则此为

的唯一分解。
例如

,那么

,因此
%3Dfib_4%20%5Coplus%20fib_1%3D4)
。
小喵定义
)
表示

,即分解的斐波那契数的异或和。
小矣紧接着想知道,如果给定

,那么
)
的值是多少呢?
由于小矣脑子里有许多疑惑,所以他会询问你很多次。
输入描述:
第一行,输入查询组数
。
接下来
行,每行输入两个数
。
输出描述:
输出共
行,每行输出相应的异或和。
示例1
输入
复制
3
20 30
114 514
114514 1919810
备注:
对于所有数据,数据组数均满足
。
对于
的数据,
;
对于
的数据,
;
对于另外
的数据,
;
对于
的数据,
;
对于
的数据,
。