MZL's xor

Time Limit: 1000ms
Memory Limit: 65536KB
This problem will be judged on HDU. Original ID: 5344
64-bit integer IO format: %I64d      Java class name: Main

Description

MZL loves xor very much.Now he gets an array A.The length of A is n.He wants to know the xor of all ($A_i$+$A_j$)($1\leq i,j \leq n$)
The xor of an array B is defined as $B_1$ xor $B_2$...xor $B_n$

Input

Multiple test cases, the first line contains an integer T(no more than 20), indicating the number of cases.
Each test case contains four integers:$n$,$m$,$z$,$l$
$A_1=0$,$A_i=(A_{i-1}*m+z)$ $mod$ $l$
$1\leq m,z,l \leq 5*10^5$,$n=5*10^5$

Output

For every test.print the answer.

Sample Input

2
3 5 5 7
6 8 8 9

Sample Output

14
16

Source

Language: 
Theme: 
Share Code? 

Powered by NB231 | Current Style: .