Bitwise XOR of Arithmetic Progression

Time Limit: 5000ms
Memory Limit: 131072KB
This problem will be judged on PKU. Original ID: 3495
64-bit integer IO format: %lld      Java class name: Main

Description

Write a program that, given three positive integers x, y and z (x, y, z < 232, xy), computes the bitwise exclusive disjunction (XOR) of the arithmetic progression x, x + z, x + 2z, …, x + kz, where k is the largest integer such that x + kzy.

Input

The input contains multiple test cases. Each test case consists of three integers x, y, z separated by single spaces on a separate line. There are neither leading or trailing blanks nor empty lines. The input ends once EOF is met.

Output

For each test case, output the value of on a separate line. There should be neither leading or trailing spaces nor empty lines.

Sample Input

2 173 11

Sample Output

48

Source

Language: 
Theme: 
Share Code? 

Powered by NB231 | Current Style: .