#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int N = 5000005;
int n, m = 0, F[N][3];
int res = 0;
bool get_bit(int x, int i) { return (x >> i) & 1; }
void DFS(int u, int x) {
  if (F[u][0] == 0 && F[u][1] == 0) {
    res = max(res, x);
    return;
  }
  if (F[u][0] && F[u][1]) x++;
  for (int i = 0; i < 2; i++) {
    if (F[u][i]) {
      DFS(F[u][i], x);
    }
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n;
  for (int i = 0; i < n; i++) {
    int x;
    cin >> x;
    int cur = 0;
    for (int i = 29; i >= 0; i--) {
      int t = get_bit(x, i);
      if (!F[cur][t]) F[cur][t] = ++m;
      cur = F[cur][t];
    }
  }
  DFS(0, 1);
  cout << n - res;
  return 0;
}
