Миша любит числа и часто пытается их максимизировать. В этот раз у него есть $$$n$$$ чисел, он попросил своих сокомандников назвать еще два числа $$$x$$$ и $$$y$$$.
Теперь Миша хочет максимизировать XOR (см. замечание) чисел во всем массиве. Для этого он хочет выполнить следующую операцию ровно один раз — взять два любых числа в массиве и к одному добавить $$$x$$$, а к другому $$$y$$$. Нельзя добавлять и $$$x$$$, и $$$y$$$ к одному и тому же элементу массива.
Помогите ему найти максимальный XOR, который можно получить.
В первой строке дано три числа $$$n, x, y$$$ ($$$2 \leq n \leq 2 \cdot 10^5, 0 \leq x, y \leq 10^9$$$).
В следующей строке задано $$$n$$$ чисел $$$a_i$$$ ($$$0 \leq a_i \leq 10^9$$$) — элементы массива.
Выведите одно число — максимально возможный XOR.
Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой и необходимых подзадач успешно пройдены.
| Подзадача | Баллы | Доп. ограничения | Необх. подзадачи |
| $$$1$$$ | $$$13$$$ | $$$n \leq 100$$$ | |
| $$$2$$$ | $$$19$$$ | $$$n \leq 10^3$$$ | 1 |
| $$$3$$$ | $$$14$$$ | $$$x = 0$$$ | |
| $$$4$$$ | $$$17$$$ | $$$a_i \leq 10^3$$$ | |
| $$$5$$$ | $$$37$$$ | — | 1,2,3,4 |
5 2 31 2 3 4 5
14
Операцией XOR (или побитовое исключающее ИЛИ) называется операция над двумя целыми числами, при которой $$$i$$$-й разряд результата в двоичной системе счисления будет равен $$$1$$$ тогда и только тогда, когда ровно у одного из двух целых чисел в $$$i$$$-м разряде в двоичной системе счисления стоит $$$1$$$. XOR множества чисел получается путем последовательной замены пары чисел множества на XOR этих чисел, пока во множестве не останется одно число. Это число и будет результатом операции XOR над всем множеством.
В примере можно к первому элементу прибавить $$$2$$$, а к последнему — $$$3$$$, тогда массив $$$[1, 2, 3, 4, 5]$$$ превратится в $$$[3, 2, 3, 4, 8]$$$ и XOR всего массива будет равен $$$14$$$.