#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll solve(const vector<ll>& a, ll x) {
int n = (int)a.size();
if (n < 2) return 0;
ll dp0 = 0, dp1 = 0;
for (int i = 1; i < n; ++i) {
ll ndp0 = max(dp0 + (a[i - 1] ^ a[i]),
dp1 + ((a[i - 1] + x) ^ a[i]));
ll ndp1 = max(dp0 + (a[i - 1] ^ (a[i] + x)),
dp1 + ((a[i - 1] + x) ^ (a[i] + x)));
dp0 = ndp0;
dp1 = ndp1;
}
return max(dp0, dp1);
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
ll x;
cin >> n >> x;
vector<ll> a(n);
for (int i = 0; i < n; ++i) cin >> a[i];
cout << solve(a, x) << '\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp1c2luZyBsbCA9IGxvbmcgbG9uZzsKCmxsIHNvbHZlKGNvbnN0IHZlY3RvcjxsbD4mIGEsIGxsIHgpIHsKICAgIGludCBuID0gKGludClhLnNpemUoKTsKICAgIGlmIChuIDwgMikgcmV0dXJuIDA7CgogICAgbGwgZHAwID0gMCwgZHAxID0gMDsKCiAgICBmb3IgKGludCBpID0gMTsgaSA8IG47ICsraSkgewogICAgICAgIGxsIG5kcDAgPSBtYXgoZHAwICsgKGFbaSAtIDFdIF4gYVtpXSksCiAgICAgICAgICAgICAgICAgICAgICBkcDEgKyAoKGFbaSAtIDFdICsgeCkgXiBhW2ldKSk7CgogICAgICAgIGxsIG5kcDEgPSBtYXgoZHAwICsgKGFbaSAtIDFdIF4gKGFbaV0gKyB4KSksCiAgICAgICAgICAgICAgICAgICAgICBkcDEgKyAoKGFbaSAtIDFdICsgeCkgXiAoYVtpXSArIHgpKSk7CgogICAgICAgIGRwMCA9IG5kcDA7CiAgICAgICAgZHAxID0gbmRwMTsKICAgIH0KCiAgICByZXR1cm4gbWF4KGRwMCwgZHAxKTsKfQoKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwoKICAgIGludCBuOwogICAgbGwgeDsKICAgIGNpbiA+PiBuID4+IHg7CgogICAgdmVjdG9yPGxsPiBhKG4pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIGNpbiA+PiBhW2ldOwoKICAgIGNvdXQgPDwgc29sdmUoYSwgeCkgPDwgJ1xuJzsKICAgIHJldHVybiAwOwp9