#JCPC2023F. 记不起原序列了

记不起原序列了

Time limit: 1 second

Memory limit: 256 megabytes

题目描述

定义序列 AA 的价值为 f(A)=i=1AAif(A) = \displaystyle \sum_{i = 1}^{|A|}A_i,即 AA 中所有元素之和,其中 A|A| 表示序列 AA 的长度。

Kirito 得到了一个长度为 n1n - 1 的序列 bb,现在他知道序列 bb 是由一个长度为 nn 的初始序列 aa 通过以下操作得到的:

对于所有 i=1,2,,n1i = 1, 2, \ldots, n-1,均有 bi=aiai+1b_i = a_i \oplus a_{i + 1} 成立,其中 \oplus 表示 按位异或运算

现在 Kirito 想知道构成序列 bb 的所有初始序列 aa价值最小 的序列的价值是多少。

按位异或运算:将两个整数作为二进制数,对二进制表示中的每一位逐一运算。其中 $0 \oplus 0 = 0,0 \oplus 1 = 1,1 \oplus 0 = 1,1 \oplus 1 = 0$。

例:56=(101)2(110)2=(011)2=35 \oplus 6 = (101)_2 \oplus (110)_2 = (011)_2 = 3

输入

第一行一个正整数 nn,意义如题面描述。 第二行包含 n1n - 1 个由空格分隔的整数 b1,b2,,bn1b_1, b_2, \ldots, b_{n-1},为数组 bb 的元素。

输出

输出一个整数,为构成序列 bb 的所有初始序列 aa价值最小 的序列的价值。

限制

1n21051 \le n \le 2 \cdot 10^5

0bi1090 \le b_i \le 10^{9}

5
1 2 3 4
8

样例解释

一种可能的初始序列 a={0,1,3,0,4}a=\{0,1,3,0,4\},其中 f(a)=8f(a)=8