Марго покидает Мегабайтбург
시간 제한2초메모리 제한1024 MB
벽이 있는 N x M 격자에서 상하좌우 한 칸 이동과 최대 K번의 축 방향 두 칸 이동을 사용해 시작 칸에서 도착 칸으로 갈 수 있는지 판정한다.
문제
В связи с некоторыми событиями Марго необходимо покинуть Мегабайтбург. Известно, что этот город представляет собой прямоугольную матрицу, длина которой равна , а высота -- . Клетки матрицы бывают двух типов: свободные (обозначаются символом '') и занятые стеной (обозначаются символом '\\#'). Марго может за один ход переместиться из клетки в любую из клеток , , , . Также Марго может не более раз совершить в качестве хода Мегапрыжок: из клетки попасть в любую из клеток , , , . При этом, вне зависимости от того, использовался ли Мегапрыжок или нет, Марго должен завершить свой ход в свободной клетке, которая находится внутри Мегабайтбурга. Общежитие, в котором сейчас находится Марго, расположено в клетке , а аэропорт, в который Марго хочет попасть, -- в клетке . Гарантируется, что общежитие и аэропорт находятся в разных свободных клетках. Сейчас нет времени на размышления, поэтому требуется Ваша помощь. Выясните, может ли Марго добраться от общежития до аэропорта.
입력
В первой строке даны числа -- размеры Мегабайтбурга и количество доступных Марго Мегапрыжков.
В каждой из последующих строк дано символов '' или '\\#' -- описание Мегабайтбурга.
В -й строке даны числа -- координаты общежития. Гарантируется, что данная клетка свободна.
В последней строке даны числа -- координаты аэропорта. Гарантируется, что данная клетка свободна.
Гарантируется, что координаты общежития не совпадают с координатами аэропорта.
출력
Выведите <<YES>>, если Марго может попасть из общежития в аэропорт. В противном случае выведите <<NO>>. Ответ можно выводить в любом регистре.
힌트
Решение на языке Python можно ускорить, если отправить его на PyPy.