#18209. 位运算

位运算

题目描述

小 C 发现了一个神奇的式子:

$$((x \ \text{and} \ y) \ \text{and} \ (x \ \text{or} \ y) ) + ((x \ \text{and} \ y) \ \text{or} \ (x \ \text{or} \ y) ) = N$$

其中 and\text{and} 表示二进制按位与运算, or\text{or} 表示二进制按位或运算。

  • and\text{and} 表示按位与运算,运算符为 &\&
  • or\text{or} 表示按位或运算,运算符为 |
    现在给出 xxNN 求出 yy注意,你构造的 y 要大于等于零

输入格式

输入 xxNN

输出格式

输出满足条件的 yy
如果不存在满足条件的 yy,则输出 1-1

0 0
0
5 2
-1
3 6
3

说明/提示

对于 20%20\% 的数据,保证 0x,N100 \leq x,N \leq 10

对于 60%60\% 的数据,保证 0x,N1090 \leq x,N \leq 10^9

对于 100%100\% 的数据,保证 0x,N10180 \leq x,N \leq 10^{18}