418. Царь Леонид на тракторе

Не решаласьСредняя

Царь Леонид ездит на тракторе по прямоугольному клетчатому полю размером H×WH \times W. Трактор у Леонида модели «только вперёд» и не имеет руля. Когда трактор всё-таки нужно повернуть, то на помощь Леониду приходят спартанцы - они поднимают трактор и поворачивают его в одном из 88 направлений (по вертикали, горизонтали или двум диагоналям).

Местостность в окрестностях Спарты каменистая и некоторые клетки непроходимы даже на тракторе. Царь Леонид хочет торжественно проехать из одной точки поля в другую, сделав при этом наименьшее количество поворотов (силы спартанцев надо беречь для боя с Ксерксом). Изначально трактор лежит в начальной точке вверх колесами, чтобы его направить куда-либо нужно привлечь спартанцев. Направление трактора в конечной точке не имеет значения.

Формат ввода

В первой строке входного файла заданы целые числа HH, WW (1H,W1000)(1 \le H, W \le 1000) - высота и ширина поля.

В последующих HH строках задано поле, блокированные клетки обозначены латинскими буквами X, а свободные - точками.

После поля следует строка с двумя целыми числами sxsx, sysy (1sxW,1syH)(1 \le sx \le W, 1 \le sy \le H) - координаты стартового положения трактора.

Последней строкой идут два целых числа txtx, tyty (1txW,1tyH)(1 \le tx \le W, 1 \le ty \le H) - координаты конечного положения трактора.

Координаты отсчитываются от нижнего левого угла поля. Стартовое положение не совпадает с конечным. Стартовая и конечная клетки не являются заблокированными.

Формат вывода

Если пути не существует - выведите одно число 1-1. Иначе выведите единственное натуральное число - минимальное количество поворотов, которые спартанцы должны будут сделать по пути к конечной клетке.

Ограничения

Ограничение времени

5 с

Ограничение памяти

1 ГБ

Пример 1

Ввод
5 7
XX....X
X.XXX..
..XXX.X
X.X...X
....XXX
1 1
6 5
Вывод
3

Пример 2

Ввод
4 3
.XX
.XX
XX.
X..
1 3
3 2
Вывод
-1

Теги

Нужно войти, чтобы отправить решение.Войти