题目描述
有三个整数 A,B,C,以下用 N(2) 表示 N 的二进制(没有前导 0)。
设 A(2),B(2),C(2) 的最大长度为 L,你需要构造三个正整数 X,Y,Z,满足以下条件:
- X(2),Y(2),Z(2) 的长度都不超过 L。
- A(2) 与 X(2) 中 1 的个数相同。
- B(2) 与 Y(2) 中 1 的个数相同。
- C(2) 与 Z(2) 中 1 的个数相同。
- X+Y=Z。
输入格式
第一行包含一个正整数 T,表示有 T 组测试数据。
接下来 T 行,每行三个正整数 A,B,C。
输出格式
输出共 T 行,每行一个答案。
输出最小的 Z。如果没有合法的 Z 则输出 −1。
4
7 6 9
1 1 1
1 1 4
3 3 9
10
-1
2
6
提示
数据范围及约定
- 对于 30% 的数据,满足 1≤A,B,C≤100;
- 对于 100% 的数据,满足 1≤T≤10,1≤A,B,C≤230。