#include <bits/stdc++.h>
using namespace std;
int arr[222222], v[32], ans;
int main(void) {
  int n, tot = 0;
  scanf("%d", &n);
  for (int e = 0; e < n; e++) {
    scanf("%d", &arr[e]);
    tot ^= arr[e];
  }
  if (tot == 0) {
    printf("-1");
    return 0;
  }
  for (int e = 31; e >= 0; e--) {
    for (int r = 0; r < n; r++) {
      if (arr[r] & (1 << e)) {
        if (v[e])
          arr[r] ^= v[e];
        else {
          v[e] = arr[r];
          arr[r] = 0;
        }
      }
    }
    if (v[e]) ans++;
  }
  printf("%d", ans);
  return 0;
}
