XOR#7485

XOR

2 секунди
244,244 мегабайта
Середня

Вам дано число і послідовність із чисел. Потрібно знайти найдовший підрядний інтервал елементів цієї послідовності, такий що xor всіх цих елементів не менший за . Тобто, більш формально, потрібно знайти такі і , що

a_i \text{ xor } a_{i+1} \text{ xor } \ldots \text{ xor } a_{i+k-1} \ge x, \text{ де } 1 \le i \le i + k - 1 \le n,

а значення є максимально можливим.

Гарантується, що такий інтервал для початкової послідовності існує. Нагадаємо, що операція xor виконується над бітовим представленням цілих чисел так, що для пари відповідних бітів справедливо:

0 \text{ xor } 0 = 0

0 \text{ xor } 1 = 1

1 \text{ xor } 0 = 1

1 \text{ xor } 1 = 0

Результат цієї операції не залежить від порядку операндів: a \text{ xor } b = b \text{ xor } a. Також справедливо наступне: (a \text{ xor } (a \text{ xor } b)) = b.

У мові програмування Паскаль ця операція позначається як xor, у мовах С/С++/Java як ^.

Вхідні дані

У першому рядку знаходяться числа (1 \le n \le 250\,000) і (0 \le x \le 10^9). У наступному рядку записані цілих невід'ємних чисел, кожне з яких не перевищує 10^9.

Вихідні дані

Виведіть два числа: значення і . Якщо існує декілька рішень, виберіть те, в якому значення є мінімальним.

Приклади

Приклад 1

Loading
Loading