#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t;
  cin >> t;
  vector<long long> arr(t);
  for (int i = 0; i < t; i++) {
    int x;
    cin >> x;
    arr.push_back(x);
  }
  stack<long long> s;
  long long maxx = -1;
  for (auto a : arr) {
    while (!s.empty() && s.top() <= a) s.pop();
    if (!s.empty()) {
      if ((a ^ s.top()) > maxx) maxx = (a ^ s.top());
    }
    s.push(a);
  }
  stack<long long> c;
  reverse(arr.begin(), arr.end());
  for (int i = 0; i < t; i++) {
    while (!c.empty() && c.top() <= arr[i]) c.pop();
    if (!c.empty()) {
      if ((arr[i] ^ c.top()) > maxx) maxx = (arr[i] ^ c.top());
    }
    c.push(arr[i]);
  }
  cout << maxx;
}
