#include <bits/stdc++.h>
using namespace std;
long long int solve(vector<long long int> v) {
  int n = v.size();
  long long int res = v[0] ^ v[1];
  vector<long long int> s;
  for (int i = 0; i < n; i++) {
    while (!s.empty() && s.back() < v[i]) {
      s.pop_back();
      if (s.empty()) break;
    }
    s.push_back(v[i]);
    if (s.size() >= 2) {
      res = max(res, s[s.size() - 1] ^ s[s.size() - 2]);
    }
  }
  return res;
}
int main() {
  ios::sync_with_stdio(false);
  int n;
  vector<long long int> v;
  cin >> n;
  for (int i = 0; i < n; i++) {
    long long int x;
    cin >> x;
    v.push_back(x);
  }
  long long int res = solve(v);
  reverse(v.begin(), v.end());
  cout << max(res, solve(v)) << endl;
  return 0;
}
