Вам дано число і послідовність із чисел. Потрібно знайти найдовший підрядний інтервал елементів цієї послідовності, такий що xor всіх цих елементів не менший за . Тобто, більш формально, потрібно знайти такі і , що
а значення є максимально можливим.
Гарантується, що такий інтервал для початкової послідовності існує. Нагадаємо, що операція 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