만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

축사 건설

면접 대비

시간 제한1.5초메모리 제한512 MB

요약
장애물이 있는 격자에서 각 질의 (a, b)마다 빈칸만으로 이루어진 a행 b열 직사각형이 있는지 판별합니다.
난이도

보통10점 중 5점

유형
스택, 행렬, 배열
정답자
아직 제출이 없습니다

문제

농부 존은 소들을 기를 새 축사를 짓기 위해 NN행 MM열 격자 모양의 토지를 매입했다. 존은 이 토지 안에 세로축과 가로축이 토지의 축과 평행한 직사각형 축사를 지을 계획이다.

토지 일부에는 나무나 바위 같은 장애물이 있어 축사를 지을 수 없다. 따라서 장애물을 포함하지 않는 직사각형 영역을 축사 위치로 정해야 한다.

존은 소 QQ마리에게 원하는 축사의 세로 길이 aia_i와 가로 길이 bib_i를 물어보았다.

본격적으로 건설하기 전에, 존은 소들이 원하는 크기의 축사를 지을 수 있는지 모두 확인하려 한다.

농사로 바쁜 존을 대신해서, 주어진 토지에 QQ마리 소 각각이 원하는 크기의 축사를 지을 수 있는지 판별하는 프로그램을 작성하라.

입력

첫째 줄에 토지의 행 수 NN과 열 수 MM이 주어진다. (1≤N≤2 000,1≤M≤2 000)(1 \leq N \leq 2\,000, 1 \leq M \leq 2\,000)

둘째 줄부터 NN개 줄에 토지의 형태가 주어진다. 각 줄은 MM개의 문자로 이루어진다. .은 축사를 지을 수 있는 영역이고, #은 장애물이 있어 축사를 지을 수 없는 영역이다.

N+2N+2번째 줄에 소의 수 QQ가 주어진다. (1≤Q≤300 000)(1 \leq Q \leq 300\,000)

N+3N+3번째 줄부터 QQ개 줄에 걸쳐, 1번 소부터 QQ번 소까지 각자가 원하는 축사 크기 aia_i와 bib_i가 공백으로 나뉘어 한 줄에 하나씩 주어진다. aia_i는 세로 길이, bib_i는 가로 길이이다. (1≤ai≤N,1≤bi≤M)(1 \leq a_i \leq N, 1 \leq b_i \leq M)

출력

QQ개의 줄을 출력한다. ii번째 줄에는 ii번째 소가 원하는 크기의 축사를 지을 수 있으면 YES, 없으면 NO를 출력한다.

예제2

  1. 예제 1

    입력
    5 5
    ...##
    #....
    ##...
    .....
    ....#
    3
    5 1
    3 3
    4 3
    
    예상 출력
    YES
    YES
    NO
    
  2. 예제 2

    입력
    3 6
    ......
    ..##..
    ......
    4
    1 1
    3 6
    3 2
    1 6
    
    예상 출력
    YES
    NO
    YES
    YES