Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ACM-ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

C. Magic Formulas

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputPeople in the Tomskaya region like magic formulas very much. You can see some of them below.

Imagine you are given a sequence of positive integer numbers *p*_{1}, *p*_{2}, ..., *p*_{n}. Lets write down some magic formulas:

Here, "mod" means the operation of taking the residue after dividing.

The expression means applying the bitwise *xor* (excluding "OR") operation to integers *x* and *y*. The given operation exists in all modern programming languages. For example, in languages C++ and Java it is represented by "^", in Pascal — by "xor".

People in the Tomskaya region like magic formulas very much, but they don't like to calculate them! Therefore you are given the sequence *p*, calculate the value of *Q*.

Input

The first line of the input contains the only integer *n* (1 ≤ *n* ≤ 10^{6}). The next line contains *n* integers: *p*_{1}, *p*_{2}, ..., *p*_{n} (0 ≤ *p*_{i} ≤ 2·10^{9}).

Output

The only line of output should contain a single integer — the value of *Q*.

Examples

Input

3

1 2 3

Output

3

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Aug/17/2017 22:15:37 (c3).

Desktop version, switch to mobile version.

User lists

Name |
---|