D. XOR-конструктив
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Даны $$$n-1$$$ целых чисел $$$a_1, a_2, \dots, a_{n-1}$$$.

Ваша задача — построить массив $$$b_1, b_2, \dots, b_n$$$ такой, что:

  • каждое целое число от $$$0$$$ до $$$n-1$$$ встречается в $$$b$$$ ровно один раз;
  • для каждого $$$i$$$ от $$$1$$$ до $$$n-1$$$, $$$b_i \oplus b_{i+1} = a_i$$$ (где $$$\oplus$$$ обозначает побитовое исключающее ИЛИ).
Входные данные

Первая строка содержит одно целое число $$$n$$$ ($$$2 \le n \le 2 \cdot 10^5$$$).

Вторая строка содержит $$$n-1$$$ целых чисел $$$a_1, a_2, \dots, a_{n-1}$$$ ($$$0 \le a_i \le 2n$$$).

Дополнительное ограничение на входные данные: возможно построить как минимум один допустимый массив $$$b$$$ для заданной последовательности $$$a$$$.

Выходные данные

Выведите $$$n$$$ целых чисел $$$b_1, b_2, \dots, b_n$$$. Если существует несколько массивов, подходящих под условие задачи, вы можете вывести любой из них.

Примеры
Входные данные
4
2 1 2
Выходные данные
0 2 3 1 
Входные данные
6
1 6 1 4 1
Выходные данные
2 3 5 4 0 1