编程题
### 问题描述
某银行保险箱的密码是一个整数 $C$,且保险箱一旁留有一段文字:“找到最小的整数 $d$,使得 $2^{2d}$ 严格大于 $C$”。
为了破解这个密码,你需要找出所有满足一下条件的非负整数对 $(A,B)$:
- $A$ 和 $B$ 都小于 $2^d$。
- $A$ 和 $B$ 的二进制形式按位进行异或操作的结果等于 $C$。
请你找到所有满足以上条件的整数对 $(A, B)$,并计算出其中乘积(即 $A \times B$)的最大值。
### 输入格式
输入一行包含一个整数 $C$($1 \leq C \leq 10^9$)。
### 输出格式
输出一行,包含一个整数,表示满足条件的整数对 $(A, B)$ 的乘积 $A \times B$ 的最大值。
### 输入样例
```text
13
```
### 输出样例
```text
70
91
```
### 说明
$C = 13$ 的二进制形式为 "1101"。我们可以取 $A = 10$(二进制形式为 "1010")和 $B = 7$(二进制形式为 "0111")。这样,$A$ 和 $B$ 的二进制形式按位进行异或操作的结果等于 $C$,而且 $A \times B = 70$ 是满足条件的整数对的乘积的最大值。