/* paiza POH! vol.2
* result:
* http://p...content-available-to-author-only...a.jp/poh/paizen/result/784c4efc758edfecb7550df288f00e7d
* author: Leonardone @ NEETSDKASU
*/
import java.util.*;
import java.lang.*;
import java.io.*;
class Main
{
{
String[] hw
= in.
readLine().
split(" "); final int H
= Integer.
parseInt(hw
[0]); // ホーム画面縦の区画数 final int W
= Integer.
parseInt(hw
[1]); // ホーム画面横の区画数
int[][] home = new int[H][W];
int[][] hoge = new int[H][W];
int spacecount = 0;
for (int y = 0; y < H; y++)
{
int count = 0;
for (int x = 0; x < W; x++)
{
int tx = W - x - 1;
char ch = line.charAt(tx);
if (ch == '0')
{
spacecount++;
count++;
if (y > 0)
{
hoge[y][tx] = hoge[y - 1][tx] + 1;
}
else
{
hoge[y][tx] = hoge[y][tx] = 1;
}
}
else
{
count = 0;
hoge[y][tx] = 0;
}
home[y][tx] = count;
}
}
final int N
= Integer.
parseInt(in.
readLine()); // ウィジェット数
for (int i = 0; i < N; i++)
{
String[] st
= in.
readLine().
split(" "); int s
= Integer.
parseInt(st
[0]); // ウィジェットの縦サイズ int t
= Integer.
parseInt(st
[1]); // ウィジェットの横サイズ
if (s == 1 && t == 1)
{
System.
out.
println(spacecount
); continue;
}
int count = 0;
if (W > H)
{
for (int hy = H - 1; hy >= s - 1; hy--)
{
for (int hx = 0; hx < W - t + 1; hx++)
{
if (home[hy][hx] < t)
{
hx += home[hy][hx];
continue;
}
if (hoge[hy][hx] < s)
{
continue;
}
int dy;
for (dy = 1; dy < s; dy++)
{
int y = hy - dy;
if (y >= H)
{
break;
}
if (home[y][hx] < t)
{
break;
}
}
if (dy == s)
{
count++;
}
}
}
}
else
{
for (int hx = 0; hx < W - t + 1; hx++)
{
for (int hy = H - 1; hy >= s - 1; hy--)
{
if (home[hy][hx] < t)
{
continue;
}
if (hoge[hy][hx] < s)
{
hy -= hoge[hy][hx];
continue;
}
int dy;
for (dy = 1; dy < s; dy++)
{
int y = hy - dy;
if (y >= H)
{
break;
}
if (home[y][hx] < t)
{
break;
}
}
if (dy == s)
{
count++;
}
}
}
}
}
} // end of main(String[])
}
LyogcGFpemEgUE9IISB2b2wuMgogKiByZXN1bHQ6CiAqIGh0dHA6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5hLmpwL3BvaC9wYWl6ZW4vcmVzdWx0Lzc4NGM0ZWZjNzU4ZWRmZWNiNzU1MGRmMjg4ZjAwZTdkCiAqIGF1dGhvcjogTGVvbmFyZG9uZSBAIE5FRVRTREtBU1UKICovCmltcG9ydCBqYXZhLnV0aWwuKjsKaW1wb3J0IGphdmEubGFuZy4qOwppbXBvcnQgamF2YS5pby4qOwoKY2xhc3MgTWFpbgp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlCdWZmZXJlZFJlYWRlciBpbiA9IG5ldyBCdWZmZXJlZFJlYWRlcigKCQkJbmV3IElucHV0U3RyZWFtUmVhZGVyKFN5c3RlbS5pbikpOwoJCQoJCVN0cmluZ1tdIGh3ID0gaW4ucmVhZExpbmUoKS5zcGxpdCgiICIpOwoJCWZpbmFsIGludCBIID0gSW50ZWdlci5wYXJzZUludChod1swXSk7IC8vIOODm+ODvOODoOeUu+mdoue4puOBruWMuueUu+aVsAoJCWZpbmFsIGludCBXID0gSW50ZWdlci5wYXJzZUludChod1sxXSk7IC8vIOODm+ODvOODoOeUu+mdouaoquOBruWMuueUu+aVsAoJCQoJCWludFtdW10gaG9tZSA9IG5ldyBpbnRbSF1bV107CgkJaW50W11bXSBob2dlID0gbmV3IGludFtIXVtXXTsKCQkKCQlpbnQgc3BhY2Vjb3VudCA9IDA7CgkJCgkJZm9yIChpbnQgeSA9IDA7IHkgPCBIOyB5KyspCgkJewoJCQlTdHJpbmcgbGluZSA9IGluLnJlYWRMaW5lKCk7CgkJCWludCBjb3VudCA9IDA7CgkJCWZvciAoaW50IHggPSAwOyB4IDwgVzsgeCsrKQoJCQl7CgkJCQlpbnQgdHggPSBXIC0geCAtIDE7CgkJCQljaGFyIGNoID0gbGluZS5jaGFyQXQodHgpOwoJCQkJaWYgKGNoID09ICcwJykKCQkJCXsKCQkJCQlzcGFjZWNvdW50Kys7CgkJCQkJY291bnQrKzsKCQkJCQlpZiAoeSA+IDApCgkJCQkJewoJCQkJCQlob2dlW3ldW3R4XSA9IGhvZ2VbeSAtIDFdW3R4XSArIDE7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCWhvZ2VbeV1bdHhdID0gaG9nZVt5XVt0eF0gPSAxOwoJCQkJCX0KCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQljb3VudCA9IDA7CgkJCQkJaG9nZVt5XVt0eF0gPSAwOwoJCQkJfQoJCQkJaG9tZVt5XVt0eF0gPSBjb3VudDsKCQkJfQoJCX0KCQkKCQlmaW5hbCBpbnQgTiA9IEludGVnZXIucGFyc2VJbnQoaW4ucmVhZExpbmUoKSk7IC8vIOOCpuOCo+OCuOOCp+ODg+ODiOaVsAoJCQoJCWZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKQoJCXsKCQkJU3RyaW5nW10gc3QgPSBpbi5yZWFkTGluZSgpLnNwbGl0KCIgIik7CgkJCWludCBzID0gSW50ZWdlci5wYXJzZUludChzdFswXSk7IC8vIOOCpuOCo+OCuOOCp+ODg+ODiOOBrue4puOCteOCpOOCugoJCQlpbnQgdCA9IEludGVnZXIucGFyc2VJbnQoc3RbMV0pOyAvLyDjgqbjgqPjgrjjgqfjg4Pjg4jjga7mqKrjgrXjgqTjgroKCQkJCgkJCWlmIChzID09IDEgJiYgdCA9PSAxKQoJCQl7CgkJCQlTeXN0ZW0ub3V0LnByaW50bG4oc3BhY2Vjb3VudCk7CgkJCQljb250aW51ZTsKCQkJfQoJCQkKCQkJaW50IGNvdW50ID0gMDsKCQkJaWYgKFcgPiBIKQoJCQl7CgkJCQlmb3IgKGludCBoeSA9IEggLSAxOyBoeSA+PSBzIC0gMTsgaHktLSkKCQkJCXsKCQkJCQlmb3IgKGludCBoeCA9IDA7IGh4IDwgVyAtIHQgKyAxOyBoeCsrKQoJCQkJCXsKCQkJCQkJaWYgKGhvbWVbaHldW2h4XSA8IHQpCgkJCQkJCXsKCQkJCQkJCWh4ICs9IGhvbWVbaHldW2h4XTsKCQkJCQkJCWNvbnRpbnVlOwoJCQkJCQl9CgkJCQkJCWlmIChob2dlW2h5XVtoeF0gPCBzKQoJCQkJCQl7CgkJCQkJCQljb250aW51ZTsKCQkJCQkJfQoJCQkJCQlpbnQgZHk7CgkJCQkJCWZvciAoZHkgPSAxOyBkeSA8IHM7IGR5KyspCgkJCQkJCXsKCQkJCQkJCWludCB5ID0gaHkgLSBkeTsKCQkJCQkJCWlmICh5ID49IEgpCgkJCQkJCQl7CgkJCQkJCQkJYnJlYWs7CgkJCQkJCQl9CgkJCQkJCQlpZiAoaG9tZVt5XVtoeF0gPCB0KQoJCQkJCQkJewoJCQkJCQkJCWJyZWFrOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCWlmIChkeSA9PSBzKQoJCQkJCQl7CgkJCQkJCQljb3VudCsrOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJCWVsc2UKCQkJewoJCQkJZm9yIChpbnQgaHggPSAwOyBoeCA8IFcgLSB0ICsgMTsgaHgrKykKCQkJCXsKCQkJCQlmb3IgKGludCBoeSA9IEggLSAxOyBoeSA+PSBzIC0gMTsgaHktLSkKCQkJCQl7CgkJCQkJCWlmIChob21lW2h5XVtoeF0gPCB0KQoJCQkJCQl7CgkJCQkJCQljb250aW51ZTsKCQkJCQkJfQoJCQkJCQlpZiAoaG9nZVtoeV1baHhdIDwgcykKCQkJCQkJewoJCQkJCQkJaHkgLT0gaG9nZVtoeV1baHhdOwoJCQkJCQkJY29udGludWU7CgkJCQkJCX0KCQkJCQkJaW50IGR5OwoJCQkJCQlmb3IgKGR5ID0gMTsgZHkgPCBzOyBkeSsrKQoJCQkJCQl7CgkJCQkJCQlpbnQgeSA9IGh5IC0gZHk7CgkJCQkJCQlpZiAoeSA+PSBIKQoJCQkJCQkJewoJCQkJCQkJCWJyZWFrOwoJCQkJCQkJfQoJCQkJCQkJaWYgKGhvbWVbeV1baHhdIDwgdCkKCQkJCQkJCXsKCQkJCQkJCQlicmVhazsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQlpZiAoZHkgPT0gcykKCQkJCQkJewoJCQkJCQkJY291bnQrKzsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoJCQlTeXN0ZW0ub3V0LnByaW50bG4oY291bnQpOwoJCX0KCQkKCX0gLy8gZW5kIG9mIG1haW4oU3RyaW5nW10pCgkKfQo=