建通道
题号:NC200175
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在无垠的宇宙中,有 n 个星球,第 i 个星球有权值 v_i
由于星球之间距离极远,因此想在有限的时间内在星际间旅行,就必须要在星球间建立传送通道。
任意两个星球之间均可以建立传送通道,不过花费并不一样。第 i 个星球与第 j 个星球的之间建立传送通道的花费是 ,其中  为二进制异或,而  为 x 二进制最低位 1 对应的值,例如 。特殊地,
牛牛想在这 n 个星球间穿梭,于是――你需要告诉 牛牛,要使这 n 个星球相互可达,需要的花费最少是多少。

输入描述:

第一行,一个正整数 n 。
第二行,n 个非负整数  。
保证

输出描述:

输出一行,一个整数表示答案。
示例1

输入

复制
2
1 2

输出

复制
1

说明

\text{}1、2 号点之间建立通道,v_1 \oplus v_2=3, \text{lowbit}(3)=1