#1433. 最大的差

最大的差

Description

给你一个数组 aa,一共有 nn 个元素,其中每个元素分别为 a1,a2,a3,,ana_1,a_2,a_3,\cdots,a_n

现在你可以执行以下操作无限次:

  • 选择两个下标 i,ji,j 同时选择一个数字 kk,交换 ai,aja_i,a_j 的二进制表示下从右往左第 kk 位。

例如 ai=4=(100)2,aj=3=(11)2a_i=4=(100)_2,a_j=3=(11)_2,我们交换两个数字二进制下从右往左第 00 位,得到 ai=(101)2=5,aj=(10)2=2a_i=(101)_2=5,a_j=(10)_2=2

现在请你求 max(a)min(a)\max(a)-\min(a) 的最大值,其中 max(a)\max(a) 为数组 aa 的最大值,min(a)\min(a) 为数组 aa 的最小值。

Format

Input

第一行输入一个整数 nn

接下来一行输入 nn 个空格隔开的数字 aia_i

Output

输出可能的最大答案。

Samples

3
1 0 1
1
5
1 2 3 4 5
7

Sample 1 explain

我们不需要进行任何运算,max(a)min(a)\max(a)-\min(a) 的最大值是 10=11-0=1

Sample 2 explain

初始数组为 a = [1, 2, 3 ,4 ,5]

我们可以交换 a2,a5a_2,a_5 的二进制从右往左第 11 位。

交换前:a2=(10)2=2,a5=(101)2=5a_2=(10)_2=2,a_5=(101)_2=5

交换后:a2=(00)2=0,a5=(111)2=7a_2=(00)_2=0,a_5=(111)_2=7

此时数组 a = [1, 0, 3, 4, 7]

可以证明不需要再进行其余操作,此时答案为 70=77-0=7

Limitation

3n105,0ai1093\leq n\leq 10^5,0\leq a_i\leq 10^9