XOR Construction

题意翻译

给定长度为 $n-1$ 的数列 $a$,构造长度为 $n$ 的数列 $b$ 同时满足: - $b$ 是 $0$ 到 $n-1$ 的排列。 - $\forall i \in [1,n-1],a_i=b_i⊕b_{i+1}$,其中 ⊕ 表示异或运算。 $2\leq n\leq 2\cdot 10^5$,$1\leq a_i\leq 2n$。保证有解。

题目描述

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.

输入输出样例

输入样例 #1

4
2 1 2

输出样例 #1

0 2 3 1

输入样例 #2

6
1 6 1 4 1

输出样例 #2

2 3 5 4 0 1