Problem K: 寻找最小 z

Problem K: 寻找最小 z

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MiB

Description

给定整数 x,寻找最小的正整数 z,使得等式:

(x & z)+(x | z)=1500 成立。 如果 1~1500 范围内没有满足条件的 z,输出 -1

说明:&按位与,|按位或。 

数据范围:0 <= x <1500

Input

一行一个整数 x。

Output

输出最小正整数 z;不存在输出 -1

Sample Input Copy

500

Sample Output Copy

1000

HINT

样例输入 1

500 

样例输出 1

1000 

解释:枚举 z 从 1 向上,第一个满足 \((500\&z)+(500|z)=1500\) 的数字是 1000。

样例输入 2

1200 

样例输出 2

300