codeforces#P1895D. XOR Construction

    ID: 34177 远端评测题 2000ms 512MiB 尝试: 3 已通过: 3 难度: 10 上传者: 标签>bitmasksconstructive algorithmsdata structuresmathtrees

XOR Construction

Description

You are given $n-1$ integers $a_1, a_2, \dots, a_{n-1}$.

Your task is to construct an array $b_1, b_2, \dots, b_n$ such that:

  • every integer from $0$ to $n-1$ appears in $b$ exactly once;
  • for every $i$ from $1$ to $n-1$, $b_i \oplus b_{i+1} = a_i$ (where $\oplus$ denotes the bitwise XOR operator).

The first line contains one integer $n$ ($2 \le n \le 2 \cdot 10^5$).

The second line contains $n-1$ integers $a_1, a_2, \dots, a_{n-1}$ ($0 \le a_i \le 2n$).

Additional constraint on the input: it's always possible to construct at least one valid array $b$ from the given sequence $a$.

Print $n$ integers $b_1, b_2, \dots, b_n$. If there are multiple such arrays, you may print any of them.

Input

The first line contains one integer $n$ ($2 \le n \le 2 \cdot 10^5$).

The second line contains $n-1$ integers $a_1, a_2, \dots, a_{n-1}$ ($0 \le a_i \le 2n$).

Additional constraint on the input: it's always possible to construct at least one valid array $b$ from the given sequence $a$.

Output

Print $n$ integers $b_1, b_2, \dots, b_n$. If there are multiple such arrays, you may print any of them.

4
2 1 2
6
1 6 1 4 1
0 2 3 1
2 3 5 4 0 1