# XOR

# XOR

You are given numbers **n**, **x** and a sequence of **n** numbers. Find the largest possible interval of consequently following elements, such that "**xor**" of these elements is not less than **x**. I.e., more formally, find such **i** and **k** that

`a`

_{i}**xor**`a`

_{i+1}**xor** ... **xor**`a`

≥ _{i+k-1}**x**, **1** ≤ **i** ≤ **i** + **k** - **1** ≤ **n**,

and **k** is largest possible positive number.

It's guaranteed that for each test from the testset such an interval exists.

We remind you that **xor** operation is applied to numbers in binary representation, so that for each pair of bits the following is true:

**0** xor **0** = **0**

**0** xor **1** = **1**

**1** xor **0** = **1**

**1** xor **1** = **0**

The result of this operation doesn't depend on the order of operands **a** xor **b** = **b** xor **a**. Moreover (**a** xor (**a** xor **b**)) = **b**.

In Pascal this operation is represented as **xor**. In C/C++/Java as **^**.

##### Input

The first line contains **n** (**1** ≤ **n** ≤ **250 000**) and **x** (**0** ≤ **x** ≤ `10`

). The second line contains ^{9}**n** non-negative numbers not exceeding `10`

.^{9}

#### Output

The first line must contain two numbers: **i** and **k**. In case of many solutions output the one with the smallest **i**.

4 6 6 1 2 4

2 3