AND-шлях#11362

AND-шлях

1 second
256 megabytes
Easy

Одного разу Андрій брав участь в олімпіаді з програмування. За перше місце був дуже цінний приз — мішок цукерок. Проте, скільки б він не намагався розв'язати останню задачу, в нього нічого не виходило, саме тому він звертається по допомогу до вас.

Вам дана матриця розмірами n \times m, де на перетині -того рядка та -того стовпчика знаходиться елемент a_{i,j}. Рядки нумеруються зверху вниз від до , а стовпчики зліва направо від до . Ліва верхня клітинка має координати . Треба знайти максимальне значення побітового AND чисел на шляху від лівої верхньої до правої нижньої клітинки матриці, якщо можна ходити тільки у праву або нижню клітинку (якщо вони існують).

Через AND позначено побітове І. Операція побітового І між двома числами і визначається на парах відповідних бітів чисел: якщо обидва біти дорівнюють , то у відповіді біт на цій позиції дорівнює , інакше — . Наприклад, AND = AND = = .

Input

Перший рядок містить два цілі числа та (1 \le n,m \le 10^3) — кількість рядків та стовпчиків відповідно.

Наступні рядків містять цілих чисел a_{i,j} (0 \le a_{i,j} < 2^{60}) — значення елементів матриці.

Output

Виведіть одне ціле число — максимальне значення AND елементів на шляху від лівої верхньої до правої нижньої клітинки матриці.

Examples

Example 1

Loading
Loading

Example 2

Loading
Loading

Example 3

Loading
Loading

Note

Детальніше про побітове І: http://bit.ly/3Whf2l6

Пояснення до першого прикладу:

З лівої верхньої клітинки до правої нижньої існують два шляхи:

, , — елементи на цих позиціях мають значення , та відповідно. AND AND = 2.

, , — елементи на цих позиціях мають значення , та відповідно. AND AND = 0.

Пояснення до другого прикладу:

Одним з можливих шляхів є шлях з виділених червоним чисел. AND AND AND AND AND AND = 4.

Двійкова матриця з другого прикладу

Scoring

Рішення, які правильно працюють при n \times m \le 25 набиратимуть принаймні балів.

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