E. Максимизация Сосиски
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Необъяснимый народ эти битландцы. У них свои проблемы и свои решения. Свои мысли и свои убеждения, свои ценности и свои идеалы. Свои тарелки и свои сосиски!

В Битландии сосиска — это массив целых чисел! Аппетитность сосиски равна побитовому исключающему ИЛИ (операция xor) всех элементов сосиски.

Как-то раз, когда Mr. Bitkoch (местный повар) уже закрывал свой ресторан BitRestaurant, BitHaval и BitAryo (самые известные жители Битландии) зашли в ресторан и заказали по сосиске.

У Mr. Bitkoch осталась ровно одна сосиска. Поэтому он решил отрезать начало сосиски (сколько-то, возможно ноль, первых чисел массива) и отдать его BitHaval-у, BitAryo же достанется некоторый конец сосиски (сколько-то, возможно ноль, последних чисел массива). Обратите внимание, что оба куска сосиски одновременно или по отдельности могут быть пустыми. Конечно, отрезанные куски не должны пересекаться (никакой элемент массива не может содержаться в обоих кусках).

Удовольствие, которое получат BitHaval и BitAryo от ужина, равно побитовому исключающему ИЛИ аппетитностей их сосисок. Аппетитность пустой сосиски равна нулю.

Найдите способ отрезать BitHaval-у и BitAryo по куску сосиски, чтобы максимизировать их удовольствие от ужина.

Входные данные

В первой строке записано целое число n (1 ≤ n ≤ 105).

В следующей строке записано n целых чисел a1, a2, ..., an (0 ≤ ai ≤ 1012) — сосиска, которая осталась у Mr. Bitkoch.

Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-х битовых чисел на С++. Рекомендуется использовать потоки cin, cout или спецификатор %I64d.

Выходные данные

Выведите единственное целое число — максимальное удовольствие, которое могут получить BitHaval и BitAryo от ужина.

Примеры
Входные данные
2
1 2
Выходные данные
3
Входные данные
3
1 2 3
Выходные данные
3
Входные данные
2
1000 1000
Выходные данные
1000