AND-шлях
Одного разу Андрій брав участь в олімпіаді з програмування. За перше місце був дуже цінний приз — мішок з цукерками. Проте, скільки б він не намагався розв'язувати останню задачу, в нього нічого не виходило, саме тому він звертається по допомогу до Вас.
Вам дана матриця розмірами , де на перетині -того рядка та -того стовпчика знаходиться елемент . Рядки нумеруються зверху вниз від до , а стовпчики зліва направо від до . Ліва верхня клітинка має координати . Треба знайти максимальне значення побітового AND
чисел на шляху він лівої верхньої до правої нижньої клітинки матриці, якщо можна ходити тільки у праву або нижню клітинку (якщо вони існують).
Через AND
позначено побітове І. Операція побітового І між двома числами і визначається на парах відповідних бітів чисел: якщо обидва біти дорівнюють , то у відповіді біт на цій позиції дорівнює , інакше — . Наприклад, AND
= AND
= = .
Input
Перший рядок містить два цілі числа та () — кількість рядків та стовпчиків відповідно.
Наступні рядків містять цілих чисел () — значення елементів матриці.
Output
Виведіть одне ціле число — максимальне значення AND
елементів на шляху від лівої верхньої до правої нижньої клітинки матриці.
Examples
Note
Детальніше про побітове І: http://bit.ly/3Whf2l6
Пояснення до першого прикладу:
З лівої верхньої клітинки до правої нижньої існують два шляхи:
, , — елементи на цих позиціях мають значення , та відповідно. AND
AND
= 2.
, , — елементи на цих позиціях мають значення , та відповідно. AND
AND
= 0.
Пояснення до другого прикладу:
Одним з можливих шляхів є шлях з виділених червоним чисел. AND
AND
AND
AND
AND
AND
= 4.
Двійкова матриця з другого прикладу
Scoring
Рішення, які правильно працюють при набиратимуть принаймні балів.
Рішення, які правильно працюють при набиратимуть принаймні балів.