依久依久
题号:NC229191
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

传说中,小喵和小矣是一对夫妻,他们关系很和洽。由于两位都是数学系毕业的,所以平日里他们经常一起研究数学。

最近,他们发现,一个数不仅可以被若干个不同的二进制分解,还可以被若干个斐波那契数分解!
这里定义 ,对于
但很快,他们发现分解方式并不唯一,不过只要满足分解成的斐波那契数不相邻,那么就有了唯一分解。形式化地。设 ,满足 ,则此为 的唯一分解。
例如 ,那么 ,因此
小喵定义 表示 ,即分解的斐波那契数的异或和。
小矣紧接着想知道,如果给定 ,那么 的值是多少呢?
由于小矣脑子里有许多疑惑,所以他会询问你很多次。

输入描述:

第一行,输入查询组数 
接下来 行,每行输入两个数

输出描述:

输出共  行,每行输出相应的异或和。
示例1

输入

复制
3
20 30
114 514
114514 1919810

输出

复制
15
142
792192

说明

对于第一组询问,从 x=20\sim 30\text{val} 值依次是 \text{10,21,20,23,22 ,23,16,17,18,29,28} ,异或和为 {15}

备注:

对于所有数据,数据组数均满足 
对于 的数据,
对于 的数据,
对于另外 的数据,
对于 的数据,
对于 的数据,