brz的杯子
题号:NC212174
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

蒟蒻 有 n 只杯子,现在 拿了一些数字,要求蒟蒻 装到杯子里。

拿了 1 ~ m 这些数字,每个数字有无限个,但每个杯子里只能放一个数。 很挑剔,对于两个编号为 x,y 的杯子,假如满足 ,那么第 x 个杯子里的数一定要比第 y 个杯子里的大。
但是小蒟蒻 不知道到底存不存在一个放数字的方案,所以只好求助于你。

输入描述:

第一行一个整数,表示有T次询问。

每组询问内有两个整数n,m,意义如上所述。

输出描述:

对于第 i 个询问,如果存在一个放数字的方案,那么贡献为 i,否则为 i-1,令 ans 等于所有询问的贡献异或和,最后你只需要输出 ans 即可。
示例1

输入

复制
2
3 3
2 1

输出

复制
0

说明

对于第一组样例,可以在第一个杯子里放 1,在第二个杯子里放 2,在第三个杯子里放 3,贡献为 1。

对于第二组样例,在第一个杯子里放 1 后,由于第二个杯子里的数要比第一个杯子里的数大,但是又没有比 1 大的数可以放了,所以不存在一种方案,贡献为 2-1=1。

答案为 1 xor 1=0。