问题 D: A+B Problem

内存限制:256 MB 时间限制:2 S
题面:传统 评测方式:文本比较 上传者:
提交:1 通过:1

题目描述

本题有 TT 组数据。对于一组数据,有 qq 组询问,每次询问给定两个非负整数 a,ba,b,输出 (a+b)mod232(a+b)mod232

你需要“离线”回答每组询问。具体地,记第 ii 次回答的答案为 ansiansi,在第 ii 组询问中你读入 ai′,bi′ai,bi 后,真正询问的值为 ai=ai′ xor ansi−1ai=ai xor ansi1bi=bi′ xor ansi−1bi=bi xor ansi1。特殊地,记 ans0=ansqans0=ansq

请求出 ans1,...,ansqans1,...,ansq 并输出。如果存在多组解,请输出字典序最小的解。

对于两个长度为 qq 的序列 Q1,Q2Q1,Q2,称 Q1Q1 字典序小于 Q2Q2 当且仅当存在 i∈[1,q]i[1,q] 满足以下两个条件:

  • ∀1≤j<i,Q1,j=Q2,j∀1j<iQ1,j=Q2,j
  • Q1,i<Q2,iQ1,i<Q2,i

输入格式

本题有多组数据。第一行一个正整数 TT1≤T≤2×1041T2×104),表示测试数据组数。

对于每组数据,第一行一个正整数 qq1≤q≤3×1051q3×105)。

接下来 qq 行,第 ii 行两个非负整数 ai′,bi′ai,bi0≤ai′,bi′≤232−10ai,bi2321)。

数据保证 ∑q≤3×105q3×105,保证有解。

输出格式

对于一组数据,输出 qq 行,第 ii 行表示第 ii 组询问的答案 ansiansi

输入样例 复制

2
2
0 1
1 0
3
3 2
0 0
3 0

输出样例 复制

1
1
1
2
3