voidinsert(ll x) { for (int i = 63; ~i; i--) { if (!(x >> i)) continue; if (!p[i]) { p[i] = x; return; } else x ^= p[i]; } }
intmain() { scanf("%lld", &n); for (int i = 1; i <= n; i++) { scanf("%lld", &a[i]); insert(a[i]); } for (int i = 63; ~i; i--) ans = max(ans, ans ^ p[i]); printf("%lld", ans); return0; }