AT_arc021_2 [ARC021B] Your Numbers are XORed...

题目描述

有两个序列 $a$ 和 $b$。 已知序列 $b$ 的构造方法: - 对于 $1 \le i < L$ 的情况,$b_i = a_i \operatorname{xor} a_{i + 1}$,其中 $\operatorname{xor}$ 表示异或; - $b_L = a_L \operatorname{xor} a_1$。 给定序列 $b$ 的长度 $L$ ,以及序列 $b$,求序列 $a$,如果没有一个满足的序列 $a$,请输出`-1`。 如果你不知道什么是异或,请点[这个链接](https://baike.baidu.com/item/%E5%BC%82%E6%88%96/10993677)。

输入格式

第一行一个整数 $L$。 第二行到第 $L + 1$ 行,每行一个整数,代表 $b_i$。

输出格式

输出符合要求的 $a$ 数列,一行一个数,如果没有,输出`-1`。

说明/提示

对于 $100\%$ 的数据: - $2 \le L \le 10^5$; - $0 \le b_i < 2^{31}$。