Балкон зáмка

시간 제한2초메모리 제한1024 MB

요약
왕과 왕비가 있는 격자 미로에서 두 사람이 그냥 만날 수 있는지, 아니면 가장자리에 1x3 발코니를 지어야만 만날 수 있는지, 아니면 발코니를 지어도 만날 수 없는지를 판정한다.
난이도

보통10점 중 6점

유형
그래프, BFS, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

Прекрасные король и королева Личного королевства, как и положено, живут в прекрасном замке. С верхнего этажа замка открывается замечательный вид на все Личное королевство, там и разместили свои апартаменты супруги. Заметим, что верхний этаж представляет из себя одну прямоугольную комнату шириной ww и длиной ll метров и таким образом состоит из w×lw \times l клеток.

Как и положено, мать королевы, то есть теща короля, является феей. А что же ей делать в небольшом, хоть и Личном, королевстве? Конечно же, проверять чувства супругов!

И вот однажды, когда король и королева находились на верхнем этаже замка порознь друг от друга, фея возвела на некоторых участках этажа преграды, а лестницы, ведущие с этажа, заблокировала. Попросту говоря, фея создала из этажа лабиринт, и теперь для того, чтобы продемонстрировать свою любовь, король и королева должны найти друг друга в нем. Если же этого не произойдет, то взамен приятных и спокойных вечеров супругов ждут многочасовые нравоучения.

Что же может спасти от этого ужаса? Во-первых, изобретение зодчих Личного королевства --- балкон. Технические достижения пока позволяют возвести один балкон размерами 1×31 \times 3 метра. Таким образом, король может отдать поручение к трем подряд идущим (как сверху вниз, так и слева направо) внешним клеткам этажа пристроить балкон и сломать стены между балконом и теми клетками этажа, которые не были перегорожены феей. Возможно, именно проход, образованный балконом замка, поможет встретиться супругам.

Во-вторых, это вы! Как программисты Личного королевства, подскажите королю, каков может быть результат его стараний.

입력

В первой строке входного файла содержатся два числа ww и ll (3≤w,l≤10003 \le w, l \le 1000) --- ширина и длина этажа замка. Каждая из следующих ww строк содержит по ll символов в каждой. Символ <<.>> значит, что по данной клетке этажа можно свободно перемещаться; символ <<*>> значит, что данную клетку фея заблокировала; символы <<k>> и <<q>> обозначают, соответственно, начальные положения короля и королевы.

출력

Выведите в выходной файл <<That is not a problem>>, если король может встретиться с супругой и без постройки балкона; <<We can build a good balcony to be happy>>, если только строительство балкона поможет встретиться королю и королеве, и <<Good work, dear fairy>>, если даже строительство балкона не поможет встретиться королю и королеве.

예제3

  1. 예제 1

    입력
    4 4
    k...
    ****
    .***
    ...q
    
    예상 출력
    We can build a good balcony to be happy
    
  2. 예제 2

    입력
    4 4
    k...
    ****
    ****
    ...q
    
    예상 출력
    Good work, dear fairy
    
  3. 예제 3

    입력
    4 4
    k...
    .***
    .***
    ...q
    
    예상 출력
    That is not a problem