#include <bits/stdc++.h>
using namespace std;
int main() {
  long int n;
  cin >> n;
  long long int a[n], ans = 0;
  for (long int i = 0; i < n; i++) cin >> a[i];
  stack<long int> s;
  for (long int i = 0; i < n; i++) {
    if (s.empty())
      s.push(i);
    else {
      if (a[i] < a[s.top()])
        s.push(i);
      else {
        long long int t;
        while (!s.empty() && a[i] > a[s.top()]) {
          t = a[s.top()];
          s.pop();
          ans = max(ans, a[i] ^ t);
          if (!s.empty()) ans = max(ans, t ^ a[s.top()]);
        }
        s.push(i);
      }
    }
  }
  while (s.size() > 1) {
    long long int t = a[s.top()];
    s.pop();
    ans = max(ans, t ^ a[s.top()]);
  }
  cout << ans;
  return 0;
}
