Bike loves looking for the second maximum element in the sequence. The second maximum element in the sequence of distinct numbers x1, x2, ..., xk (k > 1) is such maximum element xj, that the following inequality holds: <image>.

The lucky number of the sequence of distinct positive integers x1, x2, ..., xk (k > 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 s1, s2, ..., sn (n > 1). Let's denote sequence sl, sl + 1, ..., sr as s[l..r] (1 ≤ l < 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.

Input

The first line contains integer n (1 < n ≤ 105). The second line contains n distinct integers s1, s2, ..., sn (1 ≤ si ≤ 109).

Output

Print a single integer — the maximum lucky number among all lucky numbers of sequences s[l..r].

Examples

Input

5
5 2 1 4 3


Output

7


Input

5
9 8 3 5 7


Output

15

Note

For the first sample you can choose s[4..5] = {4, 3} and its lucky number is (4 xor 3) = 7. You can also choose s[1..2].

For the second sample you must choose s[2..5] = {8, 3, 5, 7}.
'''
    Auther: ghoshashis545 Ashis Ghosh
    College: Jalpaiguri Govt Enggineering College
'''
from os import path
import sys
from functools import cmp_to_key as ctk
from collections import deque,defaultdict as dd 
from bisect import bisect,bisect_left,bisect_right,insort,insort_left,insort_right
from itertools import permutations
from datetime import datetime
from math import ceil,sqrt,log,gcd
def ii():return int(input())
def si():return input()
def mi():return map(int,input().split())
def li():return list(mi())
abc='abcdefghijklmnopqrstuvwxyz'
abd={'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4, 'f': 5, 'g': 6, 'h': 7, 'i': 8, 'j': 9, 'k': 10, 'l': 11, 'm': 12, 'n': 13, 'o': 14, 'p': 15, 'q': 16, 'r': 17, 's': 18, 't': 19, 'u': 20, 'v': 21, 'w': 22, 'x': 23, 'y': 24, 'z': 25}
mod=1000000007
#mod=998244353
inf = float("inf")
vow=['a','e','i','o','u']
dx,dy=[-1,1,0,0],[0,0,1,-1]

def bo(i):
    return ord(i)-ord('a')



def solve():
    
    
    n=ii()
    a=li()
    b=[]
    for j in range(31,-1,-1):
        for i in range(n):
            if (a[i]>>j)&1:
                b.append(i)
        if(len(b)<n and len(b)>0):
            break
        b=[]
        
    
        
    if len(b)==n or len(b)==0:
        print(0)
        exit(0)
        
    ans=0
    x=0
    
    for j in range(len(b)-1):
        
        mx=0
        x1=a[b[j]]
        for i in range(b[j]-1,x-1,-1):
            mx=max(mx,a[i])
            ans=max(ans,x1^mx)
        mx=0
        for i in range(b[j]+1,b[j+1]):
            mx=max(mx,a[i])
            ans=max(ans,x1^mx)
        x=b[j]+1
    
    
       
    mx=0
    x1=a[b[len(b)-1]]
    for i in range(b[len(b)-1]-1,x-1,-1):
        mx=max(mx,a[i])
        ans=max(ans,x1^mx)
    
    mx=0
    for i in range(b[len(b)-1]+1,n):
            mx=max(mx,a[i])
            ans=max(ans,x1^mx)
            
    print(ans)
    
    
    
    
    
    
    
    
if __name__ =="__main__":
    
    solve()
    
