#abc260g. [abc260_g]Scalene Triangle Area

[abc260_g]Scalene Triangle Area

Problem Statement

We have an NtimesNN \\times N grid. The square at the ii-th row from the top and jj-th column from the left in this grid is called (i,j)(i,j).
Each square of the grid has at most one piece.
The state of the grid is given by NN strings SiS_i:

  • if the jj-th character of SiS_i is O, then (i,j)(i,j) has a piece on it;
  • if the jj-th character of SiS_i is X, then (i,j)(i,j) has no piece on it.

You are given an integer MM. Using this MM, we define that a piece PP placed at (s,t)(s,t) covers a square (u,v)(u,v) if all of the following conditions are satisfied:

  • sleuleNs \\le u \\le N
  • tlevleNt \\le v \\le N
  • (us)+frac(vt)2<M(u - s) + \\frac{(v - t)}{2} < M

For each of QQ squares (Xi,Yi)(X_i,Y_i), find how many pieces cover the square.

Constraints

  • NN, MM, XiX_i, YiY_i, and QQ are integers.
  • 1leNle20001 \\le N \\le 2000
  • 1leMle2timesN1 \\le M \\le 2 \\times N
  • SiS_i consists of O and X.
  • 1leQle2times1051 \\le Q \\le 2 \\times 10^5
  • 1leXi,YileN1 \\le X_i,Y_i \\le N

Input

Input is given from Standard Input in the following format:

NN MM S1S_1 S2S_2 vdots\\vdots SNS_N QQ X1X_1 Y1Y_1 X2X_2 Y2Y_2 vdots\\vdots XQX_Q YQY_Q

Output

Print QQ lines.
The ii-th line ( 1leileQ1 \\le i \\le Q ) should contain the number of pieces that covers (Xi,Yi)(X_i,Y_i) as an integer.


Sample Input 1

4 2
OXXX
XXXX
XXXX
XXXX
6
1 1
1 4
2 2
2 3
3 1
4 4

Sample Output 1

1
1
1
0
0
0

Only Square (1,1)(1,1) contains a piece, which covers the following # squares:

####
##..
....
....

Sample Input 2

5 10
OOOOO
OOOOO
OOOOO
OOOOO
OOOOO
5
1 1
2 3
3 4
4 2
5 5

Sample Output 2

1
6
12
8
25

Sample Input 3

8 5
OXXOXXOX
XOXXOXOX
XOOXOOXO
OXOOXOXO
OXXOXXOX
XOXXOXOX
XOOXOOXO
OXOOXOXO
6
7 2
8 1
4 5
8 8
3 4
1 7

Sample Output 3

5
3
9
14
5
3