#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
template<typename T>
void maximize(T& a, const T& b) {
if (a < b) a = b;
}
// Ký hiệu: x - giá trị lớn nhất
// y - giá trị lớn nhì
// Đây là một bài với ý tưởng khá educational
// Ta sẽ thử cho từng a(i) làm giá trị y
// Gọi l(i) = phần tử gần nhất bên trái > a(i)
// r(i) = phần tử gần nhất bên phải > a(i)
// Ta có l(i), a(i) lần lượt là x, y của đoạn [l(i), a[i]]
// Tương tự ta cũng có r(i), a(i) lần lượt là x, y của đoạn [a[i], r[i]]
// Bằng cách này ta có thể duyệt qua được mọi cặp x, y của mọi đoạn có thể có
const int N = 1e5 + 5;
int n;
int a[N];
int l[N];
int r[N];
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i];
vector<int> st;
for (int i = 1; i <= n; i++) {
while (!st.empty() && a[st.back()] <= a[i]) st.pop_back();
l[i] = st.empty() ? 0 : st.back();
st.push_back(i);
}
st.clear();
for (int i = n; i >= 1; i--) {
while (!st.empty() && a[st.back()] <= a[i]) st.pop_back();
r[i] = st.empty() ? n + 1 : st.back();
st.push_back(i);
}
int ans = 0;
for (int i = 1; i <= n; i++) {
if (l[i] > 0) maximize(ans, a[l[i]] ^ a[i]);
if (r[i] <= n) maximize(ans, a[r[i]] ^ a[i]);
}
cout << ans << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgIAoKdHlwZWRlZiBsb25nIGxvbmcgbGw7ICAKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsgIAoKY29uc3QgaW50IElORiA9IDFlOTsgIApjb25zdCBsbCBMSU5GID0gMWUxODsgIAoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kdm9pZCBtYXhpbWl6ZShUJiBhLCBjb25zdCBUJiBiKSB7CglpZiAoYSA8IGIpIGEgPSBiOyAgCn0KCi8vIEvDvSBoaeG7h3U6IHggLSBnacOhIHRy4buLIGzhu5tuIG5o4bqldAovLyAgICAgICAgICB5IC0gZ2nDoSB0cuG7iyBs4bubbiBuaMOsCi8vIMSQw6J5IGzDoCBt4buZdCBiw6BpIHbhu5tpIMO9IHTGsOG7n25nIGtow6EgZWR1Y2F0aW9uYWwKLy8gVGEgc+G6vSB0aOG7rSBjaG8gdOG7q25nIGEoaSkgbMOgbSBnacOhIHRy4buLIHkKLy8gR+G7jWkgbChpKSA9IHBo4bqnbiB04butIGfhuqduIG5o4bqldCBiw6puIHRyw6FpID4gYShpKSAKLy8gICAgIHIoaSkgPSBwaOG6p24gdOG7rSBn4bqnbiBuaOG6pXQgYsOqbiBwaOG6o2kgPiBhKGkpCi8vIFRhIGPDsyBsKGkpLCBhKGkpIGzhuqduIGzGsOG7o3QgbMOgIHgsIHkgY+G7p2EgxJFv4bqhbiBbbChpKSwgYVtpXV0KLy8gVMawxqFuZyB04buxIHRhIGPFqW5nIGPDsyByKGkpLCBhKGkpIGzhuqduIGzGsOG7o3QgbMOgIHgsIHkgY+G7p2EgxJFv4bqhbiBbYVtpXSwgcltpXV0KLy8gQuG6sW5nIGPDoWNoIG7DoHkgdGEgY8OzIHRo4buDIGR1eeG7h3QgcXVhIMSRxrDhu6NjIG3hu41pIGPhurdwIHgsIHkgY+G7p2EgbeG7jWkgxJFv4bqhbiBjw7MgdGjhu4MgY8OzCmNvbnN0IGludCBOID0gMWU1ICsgNTsgCgppbnQgbjsgCmludCBhW05dOyAKCmludCBsW05dOyAKaW50IHJbTl07CgppbnQgbWFpbigpIHsKCWlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgCgljaW4udGllKG51bGxwdHIpOyAJCgljaW4gPj4gbjsgCglmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIGNpbiA+PiBhW2ldOyAKCgl2ZWN0b3I8aW50PiBzdDsgCglmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKCQl3aGlsZSAoIXN0LmVtcHR5KCkgJiYgYVtzdC5iYWNrKCldIDw9IGFbaV0pIHN0LnBvcF9iYWNrKCk7IAoJCWxbaV0gPSBzdC5lbXB0eSgpID8gMCA6IHN0LmJhY2soKTsgCgkJc3QucHVzaF9iYWNrKGkpOyAKCX0KCglzdC5jbGVhcigpOyAgCglmb3IgKGludCBpID0gbjsgaSA+PSAxOyBpLS0pIHsKCQl3aGlsZSAoIXN0LmVtcHR5KCkgJiYgYVtzdC5iYWNrKCldIDw9IGFbaV0pIHN0LnBvcF9iYWNrKCk7IAoJCXJbaV0gPSBzdC5lbXB0eSgpID8gbiArIDEgOiBzdC5iYWNrKCk7IAoJCXN0LnB1c2hfYmFjayhpKTsgCgl9CgkKCWludCBhbnMgPSAwOyAKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCWlmIChsW2ldID4gMCkgbWF4aW1pemUoYW5zLCBhW2xbaV1dIF4gYVtpXSk7ICAKCQlpZiAocltpXSA8PSBuKSBtYXhpbWl6ZShhbnMsIGFbcltpXV0gXiBhW2ldKTsKCX0KCgljb3V0IDw8IGFucyA8PCAnXG4nOyAKfQ==