Сон Бессі#11162

Сон Бессі

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

Після того як Бессі, корова фермера Джона, з'їла забагато фруктів на кухні фермера Джона, їй почали снитися дуже дивні сни! У своєму останньому сні вона опинилася в пастці лабіринту, що має форму сітки з плиток розміру n \times m. Вона починає свій шлях у верхній лівій плитці і хоче дістатися до нижньої правої плитки. Перебуваючи на плитці, вона потенційно може перейти на сусідню плитку в будь-якому з чотирьох основних напрямків.

Але зачекайте! Кожна плитка має свій колір, і кожен колір має особливу властивість! Від однієї думки про це у Бессі починає боліти голова:

Допоможіть Бессі дістатися з верхньої лівої плитки до нижньої правої за мінімальну кількість ходів.

Вхідні дані

У першому рядку знаходяться два цілих числа і m~(1 \le n, m \le 1000), що позначають кількість рядків і стовпців лабіринту.

У наступних рядках знаходяться по цілих чисел, що описують лабіринт:

  • Число позначає червону плитку.

  • Число позначає рожеву плитку.

  • Число позначає помаранчеву плитку.

  • Число позначає синю плитку.

  • Число позначає фіолетову плитку.

У верхній лівій та нижній правій плитках завжди буде знаходитися число .

Вихідні дані

Виведіть одне ціле число, що позначає мінімальну кількість ходів, яку повинна зробити Бессі, щоб пройти лабіринт, або , якщо зробити це неможливо.

Приклади

Якщо ви не до кінця розумієте, як працюють фіолетові плитки, наведений нижче приклад ілюструє їхню поведінку.

У цьому прикладі Бессі проходить одну клітинку вниз і дві клітинки вправо, а потім ковзає ще на одну клітинку вправо. Потім вона проходить одну клітинку вгору, одну клітинку вліво і одну клітинку вниз, ковзаючи ще на дві клітинки вниз. Наприкінці вона проходить ще одну клітинку вправо. Загалом це складає ходів (DRRRULDDDR).

Приклад 1

Loading
Loading