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