#include <bits/stdc++.h>
using namespace std;
int sol[100005], sag[100005], n;
int d[100005];
int cevap;
stack<int> st;
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d", &d[i]);
  }
  for (int i = 0; i < n; i++) {
    while (st.size() && st.top() < d[i]) st.pop();
    if (st.size()) cevap = max(cevap, d[i] ^ st.top());
    st.push(d[i]);
  }
  while (st.size()) st.pop();
  reverse(d, d + n);
  for (int i = 0; i < n; i++) {
    while (st.size() && st.top() < d[i]) st.pop();
    if (st.size()) cevap = max(cevap, d[i] ^ st.top());
    st.push(d[i]);
  }
  printf("%d\n", cevap);
}
