#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int nums[N];
int check(int n) {
  int res = 0;
  stack<int> stk;
  for (int i = 1; i <= n; i++) {
    while (!stk.empty() && stk.top() < nums[i]) stk.pop();
    if (!stk.empty()) res = max(res, stk.top() ^ nums[i]);
    stk.push(nums[i]);
  }
  return res;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) cin >> nums[i];
  int r1 = check(n);
  reverse(nums + 1, nums + n + 1);
  int r2 = check(n);
  cout << max(r1, r2) << "\n";
  return 0;
}
