P1633 二进制

题目描述

有三个整数 $A,B,C$,以下用 $N_{(2)}$ 表示 $N$ 的二进制(没有前导 $0$)。 设 $A_{(2)},B_{(2)},C_{(2)}$ 的最大长度为 $L$,你需要构造三个正整数 $X,Y,Z$,满足以下条件: 1. $X_{(2)},Y_{(2)},Z_{(2)}$ 的长度都不超过 $L$。 2. $A_{(2)}$ 与 $X_{(2)}$ 中 $1$ 的个数相同。 3. $B_{(2)}$ 与 $Y_{(2)}$ 中 $1$ 的个数相同。 4. $C_{(2)}$ 与 $Z_{(2)}$ 中 $1$ 的个数相同。 5. $X+Y=Z$。

输入格式

第一行包含一个正整数 $T$,表示有 $T$ 组测试数据。 接下来 $T$ 行,每行三个正整数 $A,B,C$。

输出格式

输出共 $T$ 行,每行一个答案。 输出最小的 $Z$。如果没有合法的 $Z$ 则输出 $-1$。

说明/提示

### 数据范围及约定 - 对于 $30\%$ 的数据,满足 $1 \le A,B,C \le 100$; - 对于 $100\%$ 的数据,满足 $1 \le T \le 10$,$1 \le A,B,C \le 2^{30}$。