#include <bits/stdc++.h>
using namespace std;
stack<long long> st;
long long num[100009];
int main() {
  long long i, j, k, l, t, m, n, x, y;
  scanf("%lld", &n);
  x = 0;
  for (i = 0; i < n; i++) {
    scanf("%lld", &num[i]);
  }
  for (i = 0; i < n; i++) {
    while (1) {
      if (st.size() == 0) break;
      if (st.top() > num[i]) break;
      st.pop();
    }
    if (st.size() > 0) x = max(x, num[i] ^ st.top());
    st.push(num[i]);
  }
  reverse(num, num + n);
  for (i = 0; i < n; i++) {
    while (1) {
      if (st.size() == 0) break;
      if (st.top() > num[i]) break;
      st.pop();
    }
    if (st.size() > 0) x = max(x, num[i] ^ st.top());
    st.push(num[i]);
  }
  printf("%lld", x);
  return 0;
}
