编程题
### 问题描述
古希腊某位数学家对其弟子提出了这样一个问题,给出一个整数 $F$,找到最小的整数 $x$,使得 $2^{2x}$ 严格大于 $F$。
这样的问题对于古希腊时代的学者计算量十分庞大,但如今我们可以运用现代知识去解决这一问题,我们需要找出所有满足以下条件的非负整数对 $(M,N)$:
- $M$ 和 $N$ 都小于 $2^x$。
- $M$ 和 $N$ 的二进制形式按位进行异或操作的结果等于 $F$。
这里请找到所有满足以上条件的整数对 $(M, N)$,并计算出其中乘积(即 $M \times N$)的最大值。
### 输入格式
输入的第一行包含一个整数 $S$,表示有 $S$ 组测试数据。
每组测试数据只有一行,包含一个整数 $F$。
数据范围保证:$1 \leq S \leq 10^2$ ,$1 \leq F \leq 10^3$。
### 输出格式
对于每组测试数据,输出一行,包含一个整数,表示满足条件的整数对 $(M, N)$ 的乘积 $M \times N$ 的最大值。
### 输入样例
```text
2
13
10
```
### 输出样例
```text
70
91
```
### 说明
对于第一组测试数据,$F = 13$ 的二进制形式为 "1101"。我们可以取 $M = 10$(二进制形式为 "1010")和 $N = 7$(二进制形式为 "0111")。这样,$M$ 和 $N$ 的二进制形式按位进行异或操作的结果等于 $F$,而且 $M \times N = 70$ 是满足条件的整数对的乘积的最大值。
对于第二组测试数据,$F = 10$ 的二进制形式为 "1010"。我们可以取 $M = 13$(二进制形式为 "1101")和 $N = 7$(二进制形式为 "0111")。这样,$M$ 和 $N$ 的二进制形式按位进行异或操作的结果等于 $F$,而且 $M \times N = 91$ 是满足条件的整数对的乘积的最大值。