#include <bits/stdc++.h>
using namespace std;
const int maxint = -1u >> 1;
template <class T>
bool get_max(T& a, const T& b) {
  return b > a ? a = b, 1 : 0;
}
template <class T>
bool get_min(T& a, const T& b) {
  return b < a ? a = b, 1 : 0;
}
int main() {
  stack<int> q;
  int n, res = -1;
  cin >> n;
  for (int i = 0; i < n; i++) {
    int x;
    cin >> x;
    for (; !q.empty(); q.pop()) {
      int v = q.top();
      res = max(res, v ^ x);
      if (v > x) break;
    }
    q.push(x);
  }
  cout << res << endl;
  return 0;
}
