#include <bits/stdc++.h>
using namespace std;
int n, ans;
vector<int> ar;
void go() {
  stack<int> st;
  int i;
  for (i = 0; i < n; i++) {
    while (!st.empty()) {
      if (ar[st.top()] < ar[i]) {
        st.pop();
      } else {
        break;
      }
    }
    if (!st.empty()) {
      ans = max(ans, ar[i] ^ ar[st.top()]);
    }
    st.push(i);
  }
}
int main() {
  int i, t, j, tmp, m, k, cnt, fl, ind;
  cin >> n;
  ar.resize(n);
  for (i = 0; i < n; i++) {
    scanf("%d", &ar[i]);
  }
  ans = 0;
  go();
  reverse(ar.begin(), ar.end());
  go();
  cout << ans << endl;
}
