#include <bits/stdc++.h>
using namespace std;
const long long oo = 2e18;
const long long MOD = (long long)1e9 + 7;
vector<long long> v;
set<long long> st;
set<long long>::iterator it;
pair<long long, long long> p[202020];
long long a[2020202], b[2020202], f[2020202];
long long q, t, n, m, k, z, x, y, d, sum, cnt, mx;
string s;
int main() {
  ios::sync_with_stdio(0), cin.tie(NULL), cout.tie(NULL);
  cin >> t;
  while (t--) {
    long long ans = 0;
    cin >> x >> y;
    int x1 = x, y1 = y;
    int cnt = 0;
    while (x || y) {
      int ox = (x & 1);
      int oy = (y & 1);
      x = x >> 1;
      y = y >> 1;
      if (ox == oy) ans += ox * (1 << cnt);
      cnt++;
    }
    cout << (x1 ^ ans) + (y1 ^ ans) << '\n';
  }
}

### Prompt

Generate a Cpp solution to the following problem:

In order to celebrate Twice's 5th anniversary, Tzuyu and Sana decided to play a game.

Tzuyu gave Sana two integers a and b and a really important quest.

In order to complete the quest, Sana has to output the smallest possible value of (a ⊕ x) + (b ⊕ x) for any given x, where ⊕ denotes the [bitwise XOR operation](http://en.wikipedia.org/wiki/Bitwise_operation#XOR). 

Input

Each test contains multiple test cases. The first line contains the number of test cases t (1 ≤ t ≤ 10^{4}). Description of the test cases follows.

The only line of each test case contains two integers a and b (1 ≤ a, b ≤ 10^{9}).

Output

For each testcase, output the smallest possible value of the given expression.

Example

Input


6
6 12
4 9
59 832
28 14
4925 2912
1 1


Output


10
13
891
18
6237
0

Note

For the first test case Sana can choose x=4 and the value will be (6 ⊕ 4) + (12 ⊕ 4) = 2 + 8 = 10. It can be shown that this is the smallest possible value.

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
const long long oo = 2e18;
const long long MOD = (long long)1e9 + 7;
vector<long long> v;
set<long long> st;
set<long long>::iterator it;
pair<long long, long long> p[202020];
long long a[2020202], b[2020202], f[2020202];
long long q, t, n, m, k, z, x, y, d, sum, cnt, mx;
string s;
int main() {
  ios::sync_with_stdio(0), cin.tie(NULL), cout.tie(NULL);
  cin >> t;
  while (t--) {
    long long ans = 0;
    cin >> x >> y;
    int x1 = x, y1 = y;
    int cnt = 0;
    while (x || y) {
      int ox = (x & 1);
      int oy = (y & 1);
      x = x >> 1;
      y = y >> 1;
      if (ox == oy) ans += ox * (1 << cnt);
      cnt++;
    }
    cout << (x1 ^ ans) + (y1 ^ ans) << '\n';
  }
}

```