Сітка#8195

Сітка

1 секунда
128 мегабайтів
Дуже легка

Ви знаходитесь у верхньому лівому куті сітки розміру m \times n, де в кожній клітинці розміщена одна цифра. З клітинки з цифрою ви можете здійснити стрибок рівно на клітинок у будь-якому з чотирьох напрямків (вгору, вниз, вліво або вправо). Яка мінімальна кількість ходів потрібна, щоб перейти з верхнього лівого кута в нижній правий?

Вхідні дані

Перший рядок містить два натуральних числа і (1 \le m, n \le 500). Гарантовано, що хоча б одне з чисел або більше . Кожен з наступних рядків містить цифр, що описують сітку розміром m \times n. Кожна цифра знаходиться в межах від до .

Вихідні дані

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

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading