Олимпиадный тренинг

Задача . Декодируй массив


Задача

Темы: Битовые операции

Магистр Максимус создал массив из n неотрицательных целых чисел, но чтобы сохранить его в тайне, он преобразовал его в другой массив encoded длиной n-1. Каждый элемент encodedi был получен путем выполнения операции XOR над двумя соседними элементами arr[i] и arr[i+1]. Например, если исходный массив arr = [1,0,2,1], то полученный массив encoded = [1,2,3].

Теперь Магистр Максимус хочет передать эту тайну другому волшебнику, но ему нужно вернуться к исходному массиву arr. Однако у него есть подсказка - первый элемент arr равен first.

Помогите Магистру Максимусу восстановить исходный массив arr! Мы уверены, что ответ существует и является уникальным. Расшифруйте тайну и восстановите массив arr.



Входные данные
Программа получает на вход в первой строке число n - количество элементов исходного массива. Вторая строка содержит n-1 число encodedi - элементы закодированного массива. 
 

Ограничения

  • 2 <= n <= 104
  • Длина массива encoded == n - 1
  • 0 <= encodedi <= 105
  • 0 <= first <= 105


Выходные данные
Выведите n чисел в однй строку через пробел - элементы исходного массива arr.
 
 
Примеры
Входные данные Выходные данные
1
4 
1 2 3 
1
1 0 2 1
2
5
6 2 7 3
4
4 2 0 7 4

time 500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python23
Комментарий учителя