#include <bits/stdc++.h>
using namespace std;
#define TASK "test"
#define ll long long
#define fi first
#define sc second
#define ii pair <int, int>
#define rep(i,s,e) for (int i = (s), _e = (e); i <= _e; i++)
#define reo(i,s,e) for (int i = (s), _e = (e); i >= _e; i--)
const int maxn = 2000;
const int mod = 1e9 + 7;
const int inf = 1e9;
int n, m, q;
char a[maxn + 5][maxn + 5];
int pre[3][maxn + 5][maxn + 5];
int rect (int t, int u, int v, int x, int y)
{
return pre[t][x][y] - pre[t][x][v - 1] - pre[t][u - 1][y] + pre[t][u - 1][v - 1];
}
signed main ()
{
cin.tie(0)->sync_with_stdio(false);
// #ifndef ONLINE_JUDGE
// freopen(TASK".inp","r",stdin);
// freopen(TASK".out","w",stdout);
// #endif
cin >> n >> m >> q;
rep (i, 1, n) rep (j, 1, m)
cin >> a[i][j];
rep (i, 1, n) rep (j, 1, m)
{
pre[0][i][j] = pre[0][i - 1][j] + pre[0][i][j - 1] - pre[0][i - 1][j - 1] + (a[i][j] == '1');
pre[1][i][j] = pre[1][i - 1][j] + pre[1][i][j - 1] - pre[1][i - 1][j - 1] + (a[i][j] == '1' and a[i][j + 1] == '1');
pre[2][i][j] = pre[2][i - 1][j] + pre[2][i][j - 1] - pre[2][i - 1][j - 1] + (a[i][j] == '1' and a[i + 1][j] == '1');
}
while (q--)
{
int u, v, x, y;
cin >> u >> v >> x >> y;
int num = rect(0, u, v, x, y);
int one = rect(1, u, v, x, y - 1);
int two = rect(2, u, v, x - 1, y);;
cout << num - one - two << '\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIFRBU0sgInRlc3QiCgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Mgc2Vjb25kCiNkZWZpbmUgaWkgcGFpciA8aW50LCBpbnQ+CgojZGVmaW5lIHJlcChpLHMsZSkgZm9yIChpbnQgaSA9IChzKSwgX2UgPSAoZSk7IGkgPD0gX2U7IGkrKykKI2RlZmluZSByZW8oaSxzLGUpIGZvciAoaW50IGkgPSAocyksIF9lID0gKGUpOyBpID49IF9lOyBpLS0pCgpjb25zdCBpbnQgbWF4biA9IDIwMDA7CmNvbnN0IGludCBtb2QgPSAxZTkgKyA3Owpjb25zdCBpbnQgaW5mID0gMWU5OwoKaW50IG4sIG0sIHE7CmNoYXIgYVttYXhuICsgNV1bbWF4biArIDVdOwppbnQgcHJlWzNdW21heG4gKyA1XVttYXhuICsgNV07CgppbnQgcmVjdCAoaW50IHQsIGludCB1LCBpbnQgdiwgaW50IHgsIGludCB5KQp7CiAgICByZXR1cm4gcHJlW3RdW3hdW3ldIC0gcHJlW3RdW3hdW3YgLSAxXSAtIHByZVt0XVt1IC0gMV1beV0gKyBwcmVbdF1bdSAtIDFdW3YgLSAxXTsKfQoKc2lnbmVkIG1haW4gKCkKewogICAgY2luLnRpZSgwKS0+c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKLy8gICAgI2lmbmRlZiBPTkxJTkVfSlVER0UKLy8gICAgZnJlb3BlbihUQVNLIi5pbnAiLCJyIixzdGRpbik7Ci8vICAgIGZyZW9wZW4oVEFTSyIub3V0IiwidyIsc3Rkb3V0KTsKLy8gICAgI2VuZGlmCgogICAgY2luID4+IG4gPj4gbSA+PiBxOwogICAgcmVwIChpLCAxLCBuKSByZXAgKGosIDEsIG0pCiAgICAgICAgY2luID4+IGFbaV1bal07CgogICAgcmVwIChpLCAxLCBuKSByZXAgKGosIDEsIG0pCiAgICB7CiAgICAgICAgcHJlWzBdW2ldW2pdID0gcHJlWzBdW2kgLSAxXVtqXSArIHByZVswXVtpXVtqIC0gMV0gLSBwcmVbMF1baSAtIDFdW2ogLSAxXSArIChhW2ldW2pdID09ICcxJyk7CiAgICAgICAgcHJlWzFdW2ldW2pdID0gcHJlWzFdW2kgLSAxXVtqXSArIHByZVsxXVtpXVtqIC0gMV0gLSBwcmVbMV1baSAtIDFdW2ogLSAxXSArIChhW2ldW2pdID09ICcxJyBhbmQgYVtpXVtqICsgMV0gPT0gJzEnKTsKICAgICAgICBwcmVbMl1baV1bal0gPSBwcmVbMl1baSAtIDFdW2pdICsgcHJlWzJdW2ldW2ogLSAxXSAtIHByZVsyXVtpIC0gMV1baiAtIDFdICsgKGFbaV1bal0gPT0gJzEnIGFuZCBhW2kgKyAxXVtqXSA9PSAnMScpOwogICAgfQoKICAgIHdoaWxlIChxLS0pCiAgICB7CiAgICAgICAgaW50IHUsIHYsIHgsIHk7CiAgICAgICAgY2luID4+IHUgPj4gdiA+PiB4ID4+IHk7CiAgICAgICAgaW50IG51bSA9IHJlY3QoMCwgdSwgdiwgeCwgeSk7CiAgICAgICAgaW50IG9uZSA9IHJlY3QoMSwgdSwgdiwgeCwgeSAtIDEpOwogICAgICAgIGludCB0d28gPSByZWN0KDIsIHUsIHYsIHggLSAxLCB5KTs7CiAgICAgICAgY291dCA8PCBudW0gLSBvbmUgLSB0d28gPDwgJ1xuJzsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=