GTW likes czf

Accepts: 6
Submissions: 29
Time Limit: 4000/2000 MS (Java/Others)
Memory Limit: 131072/131072 K (Java/Others)
问题描述
从前,有两个人名叫GTW,DSY。一天,他们为了争夺DSY的妹子CZF,决定进行一次决斗。首先,CZF会给出一个区间$l,l+1,l+2......r$,和两个数$G,T$。现在,CZF会在$G,T$两个数中随机一个数$X$,在区间$l,r$中随机一个数Y,进行一种特殊的运算@。CZF想要快速知道有多少数字可能会是答案。
然而GTW并不会做这道题,但是为了赢得CZF,他就来寻求你的帮助。
由于答案可能会很大,所以把最终的答案模1000000007。
我们规定运算X @ Y =((X and Y) or Y) xor X.
输入描述
第1行 一个整数$Test$,表示有$Test$组数据。$(Test\leq 10000) $
第2行到第$Test+1$行,每行4个整数,$l,r,G,T$ ($1\leq l,r,G,T\leq 10^{18},l\leq r$)
输出描述
共$Test$行,每行一个数字,表示答案。
输入样例
1
2 4 2 4
输出样例
4
Hint
2 xor 2=0,2 xor 3=1,2 xor 4=6
4 xor 2=6,4 xor 3=7,4 xor 4=0
总共有4个数字是 0 1 6 7