编程题
### 问题描述
沉迷于数学的知识海洋的苏苏构造了一个新的数学符号 $\Upsilon$,定义 $A \Upsilon B = (A \bigodot B) - (A \bigotimes B)$,其中 $\bigodot$ 表示按位或,$\bigotimes$ 表示按位与。
现在苏苏有一个长度为 $n$ 的数组 $a$,苏苏想让你找出一段区间 $[l,r](1 \leq l \leq r \leq n)$,使得区间内 $a_l \Upsilon a_{l+1} \Upsilon \dotsc \Upsilon a_r$ 的值最大,并输出这个区间的左端点 $l$ 和 右端点 $r$ 以及这个区间的值。
注:如果最大值的区间有多段,请输出其中最小的左端点 $l$ 的区间的 $l,r$,如果最小的左端点 $l$ 的区间也有多对,则请输出其中最小的右端点的 $r$ 的区间的 $l,r$。
### 输入格式
第一行包含一个整数 $n$,表示数组 $a$ 的长度。
第二行包含 $n$ 个整数 $a_1,a_2,a_3,\dots a_n$,$a_i$ 表示数组 $a$ 的第 $i$ 个元素。
### 输出格式
输出包含三个整数 $l,r,ans$,分别表示区间的左端点和右端点以及区间 $[l,r]$ 的值。
### 样例输入
```text
5
1 2 3 4 5
```
### 样例输出
```text
3 4 7
```
### 评测数据规模
对于所有的评测数据,$1\leq n \leq 2 \times 10^3$,$1\leq a_i \leq 10^6$。