塔子哥参加ACM竞赛的过程中遇到过各种各样的计数题。唯独二进制计数题他整不明白。这不,今天WZ银行恰好又出了一道这种题,他还是依旧大脑空白。你可以帮助他吗?
塔子哥拿到了四个非负整数L,R,X,Y,请计算有多少个非负整数N满足以下四个条件:
1.N的二进制表示中1的个数不小于L
2.N的二进制表示中1的个数不大于R
3.N和X的按位与为X
4.N和Y的按位或为Y
第一行有一个正整数T(1≤T≤1000),代表有多少组测试数据。接下来是T组测试数据,每组由一行构成。
每一组测试数据仅包含四个整数L,R,X,Y (0≤L≤R≤30,0≤X,Y≤230−1)
T行,每行输出一个整数,代表你求得的答案。
输入
1
2 4 1 3
输出
1
输入
2
2 3 8 62
3 5 20 61
输出
10
7
扫码备注加群即可,期待您的到来~
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.