#include <cstdio>
#include <algorithm>
using namespace std;
int arr[100000];
long long ans(int l,int r,int bit) {
if (bit==-1) {
return 0;
}
int cut;
bool flag=false;
int prev=(arr[l]>>bit)%2;
if ((arr[l]>>bit)%2==1||(arr[r]>>bit)%2==0) {
return ans(l,r,bit-1);
}
for(int i=l;i<=r;i++) {
if ((arr[i]>>bit)%2==1) {
cut=i;
break;
}
}
return (1<<bit)+min(ans(l,cut-1,bit-1),ans(cut,r,bit-1));
}
int main(void) {
int n;
scanf("%d\n",&n);
for(int i=0;i<n;i++) {
scanf("%d ",&arr[i]);
}
sort(arr,arr+n);
printf("%lld",ans(0,n-1,29));
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGFsZ29yaXRobT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAppbnQgYXJyWzEwMDAwMF07CiAKbG9uZyBsb25nIGFucyhpbnQgbCxpbnQgcixpbnQgYml0KSB7CiAgICBpZiAoYml0PT0tMSkgewogICAgICAgIHJldHVybiAwOwogICAgfQogICAgaW50IGN1dDsKICAgIGJvb2wgZmxhZz1mYWxzZTsKICAgIGludCBwcmV2PShhcnJbbF0+PmJpdCklMjsKICAgIGlmICgoYXJyW2xdPj5iaXQpJTI9PTF8fChhcnJbcl0+PmJpdCklMj09MCkgewogICAgICAgIHJldHVybiBhbnMobCxyLGJpdC0xKTsKICAgIH0KICAgIGZvcihpbnQgaT1sO2k8PXI7aSsrKSB7CiAgICAgICAgaWYgKChhcnJbaV0+PmJpdCklMj09MSkgewogICAgICAgICAgICBjdXQ9aTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuICgxPDxiaXQpK21pbihhbnMobCxjdXQtMSxiaXQtMSksYW5zKGN1dCxyLGJpdC0xKSk7Cn0KIAppbnQgbWFpbih2b2lkKSB7CiAgICBpbnQgbjsKICAgIHNjYW5mKCIlZFxuIiwmbik7CiAgICBmb3IoaW50IGk9MDtpPG47aSsrKSB7CiAgICAgICAgc2NhbmYoIiVkICIsJmFycltpXSk7CiAgICB9CiAgICBzb3J0KGFycixhcnIrbik7CiAgICBwcmludGYoIiVsbGQiLGFucygwLG4tMSwyOSkpOwogICAgcmV0dXJuIDA7Cn0=