У ЛКШ есть несколько сетевых маршрутизаторов (свитчей). Каждый из них характеризуется целым числом $$$a_i$$$ — серийным номером модели $$$i$$$-го свитча.
Админ Артем хочет из них сконструировать сеть «SIS», расположив свитчи в разных точках базы. Между свитчами с номерами $$$i$$$ и $$$j$$$ можно поднять канал, который будет обладать уровнем помех $$$a_i \oplus a_j$$$, где $$$\oplus$$$ обозначает побитовое исключающее или (xor).
Требуется построить топологию сети, такую что любые два свитча будут связны друг с другом каналами (возможно не напрямую), а суммарный уровень помех будет минимален. Суммарным уровнем помех в сети является сумма уровней помех во всех построенных каналах.
Однако, не всё так просто: Артем постоянно работает над совершенствованием сети. Изначально, в сети есть $$$0$$$ свитчей, после чего он последовательно по одному добавляет новые свитчи. После добавления нового свитча сеть может быть перестроена произвольным образом: Артем может убрать и добавить произвольное число каналов между свитчами.
Требуется после каждого добавления свитча определять минимальный суммарный уровень помех в оптимальной сети.
В первой строке дано одно целое число $$$n$$$ ($$$2 \le n \le 100\,000$$$) — суммарное количество свитчей, которые в итоге будут добавлены в сеть.
В следующей строке даны $$$n$$$ целых чисел $$$a_i$$$ ($$$0 \le a_i \le 200\,000$$$) — серийные номера свитчей, в порядке их добавления в сеть.
Выведите $$$n$$$ целых чисел: минимальный суммарный уровень помех в оптимальной сети после каждого добавления.
6 4 0 2 2 9 4
0 4 6 6 15 15
| Название |
|---|


