농부 존은 소들을 기를 새 축사를 건설하기 위해 N행 M열로 구성된 직사각형 격자 모양의 토지를 매입하였다. 존은 이 토지의 내부에 직사각형 모양의 축사를, 세로축과 가로축이 토지의 축과 평행하도록 건설할 계획이다.
그런데 매입한 토지 중 일부 영역에는 나무나 바위 등 축사가 들어설 수 없는 장애물이 있어서, 이러한 장애물을 포함하지 않는 직사각형 영역을 축사의 위치로 정하려고 한다.
소들의 의견을 존중하는 존은 자신의 Q마리의 소들에게 각자가 희망하는 축사의 세로 길이 a_i와 가로 길이 b_i를 물어보았다.
본격적으로 건설을 시작하기 전에, 존은 소들이 원하는 크기의 축사를 건설하는 것이 가능한지를 모두 조사하고자 한다.
농사일로 너무 바쁜 존을 대신해서, 주어진 토지에 Q마리의 소들 각자가 희망하는 크기로 축사를 건설하는 것이 가능한지 판별하는 프로그램을 작성해보자.
첫째 줄에 존이 매입한 토지의 크기를 나타내는 두 정수 N과 M이 주어진다. 여기에서 N은 행의 수, M은 열의 수를 의미한다. (1≤N≤2,000,1≤M≤2,000)
둘째 줄부터 N개 줄에 걸쳐, 토지의 형태가 주어진다. 각 줄은 .과 #로 이루어진 M개의 문자로 구성된다. 여기에서 .은 축사를 건설할 수 있는 영역이고, #은 장애물이 있어 축사를 건설할 수 없는 영역이다.
N+2번째 줄에 존이 의견을 구한 소들의 수 Q가 주어진다. (1≤Q≤300,000)
N+3번째 줄부터 Q개 줄에 걸쳐, 1번째 소부터 Q번째 소까지 각자가 희망하는 축사의 크기를 나타내는 두 정수 a_i와 b_i가 공백으로 나뉘어 한 줄 씩 주어진다. 여기에서 a_i는 축사의 세로 길이, b_i는 가로 길이를 의미한다. (1≤a_i≤N,1≤b_i≤M)
Q개의 줄을 출력한다. i(1≤i≤Q)번째 줄에 i번째 소가 희망한 크기로 축사를 건설할 수 있다면 YES, 그렇지 않다면 NO를 출력한다.