#include <bits/stdc++.h>
using namespace std;
long long int ans = 0;
void solve(vector<long long int> v) {
  ans = max(ans, v[0] ^ v[1]);
  vector<long long int> st;
  for (int i = 0; i < v.size(); i++) {
    while (!st.empty() && st[st.size() - 1] < v[i]) st.pop_back();
    st.push_back(v[i]);
    if (st.size() >= 2) ans = max(ans, st[st.size() - 1] ^ st[st.size() - 2]);
  }
}
int main() {
  long long int n;
  cin >> n;
  vector<long long int> v(n);
  for (int i = 0; i < n; i++) cin >> v[i];
  solve(v);
  reverse(v.begin(), v.end());
  solve(v);
  cout << ans;
}
