2099 - 位运算
Description

给定一个正整数 n,请你求出最小的正整数 m ,使得同时满足以下三个条件:

n&m!=0
n|m!=0
n^m!=0

式中:&表示两数与,是指两数在二进制形式下按位做与运算

∣表示两数或,是指两数在二进制形式下按位做或运算

^表示两数异或,是指两数在二进制形式下按位做异或运算,所谓异或,是指不同值异或结果为1,相同值异或结果为0,即:

0^1=1
1^0=1
1^1=0
0^0=0



Input

输入一个正整数 nn

Output

输出一个正整数 ,表示满足最小的正整数 m


Examples

Input

2

Output

3
Hint

对于30%的数据:1\leq n \leq 100

对于60%的数据:1\leq n \leq 10^5

对于100%的数据:1\leq n \leq 2 \times 10^9

样例说明:

m取1时,2&1=0,不满足

m取2时,2^2=0 (^指异或运算),不满足

m取3时,满足条件:

2&3=2

2|3=3

2^3=1


题目参数
Time Limit 1 second
Memory Limit 128 MB
提交次数 45
通过次数 17