E题线性基然后直接暴力就行吧 ```c++ ll c[60], k, a, ans; int cnt[60]; void add(ll a) {     per (i, 59, 0) if (a >> i & 1) {         if (!c[i]) { c[i] = a; break; }         else a ^= c[i];     } } int main() {     IOS; cin >> n >> k;     rep (i, 1, n) cin >> a, add(a);     rep (i, 0, 59) cnt[i] = cnt[i - 1] + (c[i] != 0);     per (i, 59, 1) if (!(k >> i & 1) && c[i])         ans += (1ll << cnt[i - 1]);     if (!(k & 1) && c[0]) ++ans;     cout << ans;     return 0; } ```