#include <bits/stdc++.h>
using namespace std;
void prnt(stack<int> S) {
  while (!S.empty()) {
    cout << S.top() << " ";
    S.pop();
  }
  cout << endl;
}
int main() {
  int n;
  scanf("%d", &n);
  stack<int> S;
  int maxs = 0;
  for (int i = 1; i <= n; i++) {
    int x;
    scanf("%d", &x);
    if (S.empty())
      S.push(x);
    else {
      int tp = S.top();
      if (x <= S.top()) {
        maxs = max(maxs, tp ^ x);
        S.push(x);
      } else {
        while (x > S.top()) {
          tp = S.top();
          maxs = max(maxs, tp ^ x);
          S.pop();
          if (S.empty()) break;
        }
        if (S.empty()) {
          S.push(x);
        } else {
          tp = S.top();
          maxs = max(maxs, tp ^ x);
          S.push(x);
        }
      }
    }
  }
  cout << maxs;
}
