/* paiza POH! vol.2
* result:
* http://p...content-available-to-author-only...a.jp/poh/paizen/result/cefef3fcaa8bfefe9e5c43d2576e49da
* author: Leonardone @ NEETSDKASU
*/
import java.util.*;
import java.lang.*;
import java.io.*;
class Main
{
{
}
static {
try {
String[] hw
= in.
readLine().
split(" "); int H
= Integer.
parseInt(hw
[0]); // ホーム画面縦の区画数 int W
= Integer.
parseInt(hw
[1]); // ホーム画面横の区画数
int[][] result = new int[301][301];
int[][] table = new int[W + 1][H + 1];
int[] space2top = new int[W];
for (int y = 0; y < H; y++) {
for (int x = 0; x < W; x++) {
if (line.charAt(x) == '0') {
space2top[x]++;
int s = space2top[x];
int t = 1;
for (int i = x; i >= 0 && space2top[i] > 0; i--) {
if (space2top[i] < s) {
s = space2top[i];
}
table[t][s]++;
t++;
}
} else {
space2top[x] = 0;
}
}
}
for (int t = 1; t <= W; t++) {
int[] temp1 = result[t];
int[] temp2 = table[t];
temp1[H] = temp2[H];
for (int s = H - 1; s > 0; s--) {
temp1[s] = temp2[s] + temp1[s + 1];
}
}
final int N
= Integer.
parseInt(in.
readLine()); // ウィジェット数 StringBuilder output = new StringBuilder(N * 6);
for (int i = 0; i < N; i++)
{
String[] st
= in.
readLine().
split(" "); int s
= Integer.
parseInt(st
[0]); // ウィジェットの縦サイズ int t
= Integer.
parseInt(st
[1]); // ウィジェットの横サイズ
output.append(result[t][s]);
output.append('\n');
}
}
} // end of main(String[])
}
LyogcGFpemEgUE9IISB2b2wuMgogKiByZXN1bHQ6CiAqIGh0dHA6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5hLmpwL3BvaC9wYWl6ZW4vcmVzdWx0L2NlZmVmM2ZjYWE4YmZlZmU5ZTVjNDNkMjU3NmU0OWRhCiAqIGF1dGhvcjogTGVvbmFyZG9uZSBAIE5FRVRTREtBU1UKICovCmltcG9ydCBqYXZhLnV0aWwuKjsKaW1wb3J0IGphdmEubGFuZy4qOwppbXBvcnQgamF2YS5pby4qOwoKY2xhc3MgTWFpbgp7CgkKCQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7Cgl9CgoJc3RhdGljIHsKCQl0cnkgewoJCQlCdWZmZXJlZFJlYWRlciBpbiA9IG5ldyBCdWZmZXJlZFJlYWRlcigKCQkJCW5ldyBJbnB1dFN0cmVhbVJlYWRlcihTeXN0ZW0uaW4pKTsKCQkJCgkJCVN0cmluZ1tdIGh3ID0gaW4ucmVhZExpbmUoKS5zcGxpdCgiICIpOwoJCQlpbnQgSCA9IEludGVnZXIucGFyc2VJbnQoaHdbMF0pOyAvLyDjg5vjg7zjg6DnlLvpnaLnuKbjga7ljLrnlLvmlbAKCQkJaW50IFcgPSBJbnRlZ2VyLnBhcnNlSW50KGh3WzFdKTsgLy8g44Ob44O844Og55S76Z2i5qiq44Gu5Yy655S75pWwCgkJCQoJCQlpbnRbXVtdIHJlc3VsdCA9IG5ldyBpbnRbMzAxXVszMDFdOwoKCQkJaW50W11bXSB0YWJsZSA9IG5ldyBpbnRbVyArIDFdW0ggKyAxXTsKCQkJCgkJCWludFtdIHNwYWNlMnRvcCA9IG5ldyBpbnRbV107CgkJCgkJCWZvciAoaW50IHkgPSAwOyB5IDwgSDsgeSsrKSB7CgkJCQlTdHJpbmcgbGluZSA9IGluLnJlYWRMaW5lKCk7CgkJCQlmb3IgKGludCB4ID0gMDsgeCA8IFc7IHgrKykgewoJCQkJCWlmIChsaW5lLmNoYXJBdCh4KSA9PSAnMCcpIHsKCQkJCQkJc3BhY2UydG9wW3hdKys7CgkJCQkJCWludCBzID0gc3BhY2UydG9wW3hdOwoJCQkJCQlpbnQgdCA9IDE7CgkJCQkJCWZvciAoaW50IGkgPSB4OyBpID49IDAgJiYgc3BhY2UydG9wW2ldID4gMDsgaS0tKSB7CgkJCQkJCQlpZiAoc3BhY2UydG9wW2ldIDwgcykgewoJCQkJCQkJCXMgPSBzcGFjZTJ0b3BbaV07CgkJCQkJCQl9CgkJCQkJCQl0YWJsZVt0XVtzXSsrOwoJCQkJCQkJdCsrOwoJCQkJCQl9CgkJCQkJfSBlbHNlIHsKCQkJCQkJc3BhY2UydG9wW3hdID0gMDsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJCgkJCWZvciAoaW50IHQgPSAxOyB0IDw9IFc7IHQrKykgewoJCQkJaW50W10gdGVtcDEgPSByZXN1bHRbdF07CgkJCQlpbnRbXSB0ZW1wMiA9IHRhYmxlW3RdOwoJCQkJdGVtcDFbSF0gPSB0ZW1wMltIXTsKCQkJCWZvciAoaW50IHMgPSBIIC0gMTsgcyA+IDA7IHMtLSkgewoJCQkJCXRlbXAxW3NdID0gdGVtcDJbc10gKyB0ZW1wMVtzICsgMV07CgkJCQl9CgkJCX0KCQkJCgkJCWZpbmFsIGludCBOID0gSW50ZWdlci5wYXJzZUludChpbi5yZWFkTGluZSgpKTsgLy8g44Km44Kj44K444Kn44OD44OI5pWwCgkJCVN0cmluZ0J1aWxkZXIgb3V0cHV0ID0gbmV3IFN0cmluZ0J1aWxkZXIoTiAqIDYpOwoJCQkKCQkJZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspCgkJCXsKCQkJCVN0cmluZ1tdIHN0ID0gaW4ucmVhZExpbmUoKS5zcGxpdCgiICIpOwoJCQkJaW50IHMgPSBJbnRlZ2VyLnBhcnNlSW50KHN0WzBdKTsgLy8g44Km44Kj44K444Kn44OD44OI44Gu57im44K144Kk44K6CgkJCQlpbnQgdCA9IEludGVnZXIucGFyc2VJbnQoc3RbMV0pOyAvLyDjgqbjgqPjgrjjgqfjg4Pjg4jjga7mqKrjgrXjgqTjgroKCQkJCQoJCQkJb3V0cHV0LmFwcGVuZChyZXN1bHRbdF1bc10pOwoJCQkJb3V0cHV0LmFwcGVuZCgnXG4nKTsKCQkJfQoJCQkKCQkJU3lzdGVtLm91dC5wcmludChvdXRwdXQpOwoJCQkKCQl9IGNhdGNoIChFeGNlcHRpb24gZSkgewoJCQkKCQl9Cgl9IC8vIGVuZCBvZiBtYWluKFN0cmluZ1tdKQp9Cg==