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