Одного разу Андрій брав участь в олімпіаді з програмування. За перше місце був дуже цінний приз — мішок цукерок. Проте, скільки б він не намагався розв'язати останню задачу, в нього нічого не виходило, саме тому він звертається по допомогу до вас.
Вам дана матриця розмірами n \times m, де на перетині -того рядка та -того стовпчика знаходиться елемент a_{i,j}. Рядки нумеруються зверху вниз від до , а стовпчики зліва направо від до . Ліва верхня клітинка має координати . Треба знайти максимальне значення побітового AND чисел на шляху від лівої верхньої до правої нижньої клітинки матриці, якщо можна ходити тільки у праву або нижню клітинку (якщо вони існують).
Через AND позначено побітове І. Операція побітового І між двома числами і визначається на парах відповідних бітів чисел: якщо обидва біти дорівнюють , то у відповіді біт на цій позиції дорівнює , інакше — . Наприклад, AND = AND = = .
Перший рядок містить два цілі числа та (1 \le n,m \le 10^3) — кількість рядків та стовпчиків відповідно.
Наступні рядків містять цілих чисел a_{i,j} (0 \le a_{i,j} < 2^{60}) — значення елементів матриці.
Виведіть одне ціле число — максимальне значення AND елементів на шляху від лівої верхньої до правої нижньої клітинки матриці.
Приклад 1
Приклад 2
Приклад 3
Детальніше про побітове І: http://bit.ly/3Whf2l6
Пояснення до першого прикладу:
З лівої верхньої клітинки до правої нижньої існують два шляхи:
, , — елементи на цих позиціях мають значення , та відповідно. AND AND = 2.
, , — елементи на цих позиціях мають значення , та відповідно. AND AND = 0.
Пояснення до другого прикладу:
Одним з можливих шляхів є шлях з виділених червоним чисел. AND AND AND AND AND AND = 4.

Двійкова матриця з другого прикладу
Рішення, які правильно працюють при n \times m \le 25 набиратимуть принаймні балів.
Рішення, які правильно працюють при a_{i,j} \le 32 набиратимуть принаймні балів.