#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, temp, xorVal = 0, maxXorVal = 0;
  cin >> n;
  stack<long long int> st;
  for (int i = 0; i < n; i++) {
    cin >> temp;
    if (st.empty() || st.top() > temp) {
      if (!st.empty()) xorVal = temp ^ st.top();
    } else {
      while (!st.empty()) {
        xorVal = temp ^ st.top();
        if (st.top() > temp) break;
        st.pop();
        maxXorVal = max(xorVal, maxXorVal);
      }
    }
    st.push(temp);
    maxXorVal = max(xorVal, maxXorVal);
  }
  cout << maxXorVal;
  return 0;
}
