Contest Duration: ~ (local time)
E - Enormous XOR Rectangle

Time Limit: 2 sec / Memory Limit: 256 MB

### Problem

Cat Snuke received a paper that has been divided into grids having H horizontal rows and W vertical columns as a birthday gift. For each block a number is written as shown in the figure below.

More precisely, the number, which is written in the i_{th} row from the top of the rectangle paper and j_{th} column from the left of the rectangle paper, is (i - 1) \times W + (j - 1).

Cat Snuke wants to choose a partial rectangle from this rectangle paper, then find the value obtained by bitwise xor for all the numbers in this partial rectangle. Specifically, Cat Snuke will choose integers t,b(1≦t≦b≦H),l,r(1≦l≦r≦W), then calculate the value obtained by bitwise xor for all the numbers in the area from the top of the rectangle between the t_{th} row and the b_{th} row (including both ends), form the left of the rectangle between the l_{th} column and r_{th} column (including both ends).

Cat Snuke is able to choose any values for t,b,l,r. Please calculate the maximum value that can be obtained.

### Input

Inputs will be given by standard input in following format

H W

• At the first line, H(1≦H≦1,000,000,000), W(1≦W≦1,000,000,000) , will be given divided by space.

### Output

Please calculate the maximum value that can be obtained, then output it in one line.

Print a newline at the end of output.

### Input Example 1

4 5


### Output Example 1

31


For example, the obtained value of t=3,b=4,l=3,r=5 is 12 xor 13 xor 14 xor 17 xor 18 xor 19 = 31, this is the maximum value that can be obtained in this case.

### Input Example 2

314159265 358979323


### Output Example 2

144115188075855871