import
java.util.*;
public
class
GFG {
public
static
int
findMaxXOR(
int
[] arr,
int
n)
{
int
maxXOR = Integer.MIN_VALUE;
for
(
int
i =
0
; i < n; i++) {
for
(
int
j = i +
1
; j < n; j++) {
int
firstMax = Math.max(arr[i], arr[j]);
int
secondMax = Math.min(arr[i], arr[j]);
for
(
int
k = i +
1
; k < j; k++) {
if
(arr[k] > firstMax) {
secondMax = firstMax;
firstMax = arr[k];
}
else
if
(arr[k] > secondMax) {
secondMax = arr[k];
}
}
maxXOR = Math.max(maxXOR,
firstMax ^ secondMax);
}
}
return
maxXOR;
}
public
static
void
main(String[] args)
{
int
[] arr = {
9
,
8
,
3
,
5
,
7
};
int
result1 = findMaxXOR(arr,
5
);
for
(
int
i =
0
; i < arr.length /
2
; i++) {
int
temp = arr[i];
arr[i] = arr[arr.length -
1
- i];
arr[arr.length -
1
- i] = temp;
}
int
result2 = findMaxXOR(arr,
5
);
System.out.println(Math.max(result1, result2));
}
}