eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Сетка

Сетка

Вы находитесь в верхнем левом углу сетки размера m * n, в каждой ячейке сетки находится одна цифра. Из ячейки с цифрой k на ней можно совершить прыжок в точности на k клеток в любом из четырех направлений (вертикальном или горизонтальном). Какое минимальное количество ходов требуется для перехода из верхнего левого угла в правый нижний?

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

Первая строка содержит два натуральных числа m и n (1m, n500). Гарантируется, что хотя бы одно из чисел m или n больше 1. Каждая из следующих m строк содержит n цифр, описывающих сетку m * n. Каждая цифра лежит в пределах от 0 до 9.

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

Выведите минимальное количество ходов, необходимых для перехода из верхнего левого угла в нижний правый. Если невозможно достичь нижнего правого угла, выведите IMPOSSIBLE.

Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
2 2
11
11
Вихідні дані #1
2
Вхідні дані #2
2 2
22
22
Вихідні дані #2
IMPOSSIBLE
Джерело 2015 ACM North America - Pacific Northwest, Дивизион 2, Задача O