#include <bits/stdc++.h>
using namespace std;
int n;
inline int max(int a, int b) { return a > b ? a : b; }
int main() {
  int z, ans = 0;
  stack<int> stk;
  scanf("%d", &n);
  while (n--) {
    scanf("%d", &z);
    if (stk.empty())
      stk.push(z);
    else {
      while (!stk.empty() && z > stk.top()) {
        ans = max(ans, z ^ stk.top());
        stk.pop();
      }
      if (!stk.empty()) ans = max(ans, z ^ stk.top());
      stk.push(z);
    }
  }
  printf("%d\n", ans);
  return 0;
}
