#include<bits/stdc++.h>
using namespace std;
using ll=long long;
constexpr int MOD=998244353;
#define rep(i,n) for(int i=0;i<(int)(n);i++)
#define rep2(i,l,r) for(int i=(l);i<(int)(r);i++)
#define all(v) v.begin(),v.end()

int main(){
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  int N;
  cin>>N;
  vector A(N,0ll);
  for(ll &i:A)cin>>i;
  vector basis(0,0ll),create(0,0ll);
  vector idx(0,0);
  rep(i,N){
    ll t=A[i],c=0;
    if(t==0){
      cout<<"1\n"<<(i+1)<<'\n';
      return 0;
    }
    rep(j,basis.size()){
      if((t^basis[j])<t){
        t^=basis[j];
        c^=create[j];
      }
    }
    if(t!=0){
      basis.push_back(t);
      create.push_back(c|(1ll<<create.size()));
      idx.push_back(i);
    }else{
      cout<<__builtin_popcountll(c)+1<<'\n';
      rep(i,60){
        if(c>>i&1)cout<<idx[i]+1<<' ';
      }
      cout<<i+1<<'\n';
      return 0;
    }
  }
  cout<<"-1\n";
}