#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, res1, res2;
  cin >> n;
  vector<int> a(n);
  for (int i = 0; i < n; i++) cin >> a[i];
  res1 = a[0] ^ a[1];
  vector<int> st;
  for (int i = 0; i < n; i++) {
    while (!st.empty() && st.back() < a[i]) st.pop_back();
    st.push_back(a[i]);
    if (st.size() >= 2) res1 = max(res1, st[st.size() - 1] ^ st[st.size() - 2]);
  }
  res2 = a[n - 1] ^ a[n - 2];
  vector<int> st1;
  for (int i = n - 1; i >= 0; i--) {
    while (!st1.empty() && st1.back() < a[i]) st1.pop_back();
    st1.push_back(a[i]);
    if (st1.size() >= 2)
      res2 = max(res2, st1[st1.size() - 1] ^ st1[st1.size() - 2]);
  }
  cout << max(res1, res2);
}
