#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  stack<int> stk;
  long long mx = 0;
  for (int i = 0; i < n; i++) {
    long long val;
    cin >> val;
    if (stk.empty()) {
      stk.push(val);
    } else {
      if (!stk.empty() && stk.top() > val) {
        mx = max(mx, val ^ stk.top());
        stk.push(val);
      } else if (!stk.empty() && stk.top() < val) {
        while (!stk.empty() && stk.top() < val) {
          mx = max(mx, val ^ stk.top());
          stk.pop();
        }
        if (!stk.empty()) mx = max(mx, val ^ stk.top());
        stk.push(val);
      }
    }
  }
  cout << mx << endl;
  return 0;
}
