Bike loves looking for the second maximum element in the sequence. The second maximum element in the sequence of distinct numbers *x*<sub class="lower-index">1</sub>, *x*<sub class="lower-index">2</sub>, ..., *x*<sub class="lower-index">*k*</sub> (*k* &gt; 1) is such maximum element *x*<sub class="lower-index">*j*</sub>, that the following inequality holds: <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/41e9a774451aa769280692592b29103e0a6ecf97.png" style="max-width: 100.0%;max-height: 100.0%;"/>.

The lucky number of the sequence of distinct positive integers *x*<sub class="lower-index">1</sub>, *x*<sub class="lower-index">2</sub>, ..., *x*<sub class="lower-index">*k*</sub> (*k* &gt; 1) is the number that is equal to the bitwise excluding OR of the maximum element of the sequence and the second maximum element of the sequence.

You've got a sequence of distinct positive integers *s*<sub class="lower-index">1</sub>, *s*<sub class="lower-index">2</sub>, ..., *s*<sub class="lower-index">*n*</sub> (*n* &gt; 1). Let's denote sequence *s*<sub class="lower-index">*l*</sub>, *s*<sub class="lower-index">*l* + 1</sub>, ..., *s*<sub class="lower-index">*r*</sub> as *s*[*l*..*r*] (1 ≤ *l* &lt; *r* ≤ *n*). Your task is to find the maximum number among all lucky numbers of sequences *s*[*l*..*r*].

Note that as all numbers in sequence *s* are distinct, all the given definitions make sence.
The first line contains integer *n* (1 &lt; *n* ≤ 10<sup class="upper-index">5</sup>). The second line contains *n* distinct integers *s*<sub class="lower-index">1</sub>, *s*<sub class="lower-index">2</sub>, ..., *s*<sub class="lower-index">*n*</sub> (1 ≤ *s*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>).
import collections
import os
import sys
from collections import Counter

# print(sys.hexversion)
# if os.getenv('LOCALCFTEST'):
#     sys.stdin = open('cfinput.txt')
# else:
#     input = sys.stdin.readline
from itertools import product

if sys.hexversion == 50924784:
    sys.stdin = open('cfinput.txt')
else:
    input = sys.stdin.readline
MOD = 10 ** 9 + 7


def solve(n, s):
    left = [-1] * n
    stack = []
    for i, v in enumerate(s):
        while stack and s[stack[-1]] < v:
            stack.pop()
        if stack:
            left[i] = stack[-1]
        stack.append(i)
    right = [n] * n
    stack = []
    for i in range(n - 1, -1, -1):
        v = s[i]
        while stack and s[stack[-1]] < v:
            stack.pop()
        if stack:
            right[i] = stack[-1]
        stack.append(i)

    ans = 0
    for v,l, r in zip(s,left, right):
        if l > 0:
            ans = max(ans,v^s[l])
        if r < n:
            ans = max(ans,v^s[r])

    print(ans)


if __name__ == '__main__':
    n = int(input())
    s = list(map(int, input().split()))
    solve(n, s)
