#include <bits/stdc++.h>
using namespace std;
const int maxn=2e5+5;
int a[maxn];
int n,idx;
int son[maxn*35][2];
int f[maxn*35];
void insert(int x){
int p=0;
for(int i=31;i>=0;i--){
int t=(x>>i)&1;
if(!son[p][t]) son[p][t]=++idx;
p=son[p][t];
}
}
void dfs(int u){
int l=son[u][0],r=son[u][1];
if(l) dfs(son[u][0]);
if(r) dfs(son[u][1]);
if(!l&&!r) f[u]=1;
else if(!l&&r) f[u]=f[r];
else if(l&&!r) f[u]=f[l];
else f[u]=max(f[l]+1,f[r]+1);
}
void solve(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
insert(a[i]);
}
dfs(0);
cout<<n-f[0]<<endl;
int a[]={0,1,1,1};
// for(int u=0,i=0;i<4;i++){
// u=son[u][a[i]];
// cout<<f[u]<<endl;
// }
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
int t;t=1;
while(t--) solve();
return 0;
}