typedef long long ll; typedef long double ld; #include using namespace std; signed main(){ ll n; std::cin >> n; vector a(n); for (int i = 0; i < n; i++) { std::cin >> a[i]; } map val; set s; for (int i = 0; i < n; i++) { ll mi = a[i]; for (auto e : s) { mi = min(mi, mi^val[e]); } if(mi!=0){ s.insert(i); val[i] = mi; }else{ vector res; res.push_back(i); for (auto e : s) { if((val[e]^a[i])