#include "bits/stdc++.h" using namespace std; #define int long long #define FOR(i, a, b) for(int i=(a);i<(b);i++) #define RFOR(i, a, b) for(int i=(b-1);i>=(a);i--) #define REP(i, n) for(int i=0; i<(n); i++) #define RREP(i, n) for(int i=(n-1); i>=0; i--) #define ALL(a) (a).begin(),(a).end() #define UNIQUE_SORT(l) sort(ALL(l)); l.erase(unique(ALL(l)), l.end()); #define CONTAIN(a, b) find(ALL(a), (b)) != (a).end() #define array2(type, x, y) array, x> #define vector2(type) vector > #define out(...) printf(__VA_ARGS__) int dxy[] = {0, 1, 0, -1, 0}; /*================================*/ int N, M; int A[200][200]; int S[200][200]; signed main() { #if DEBUG std::ifstream in("input.txt"); std::cin.rdbuf(in.rdbuf()); #endif cin >> N >> M; REP(i, M) A[0][i] = A[i][0] = 0; REP(x, M) REP(y, M) { cin >> A[x+1][y+1]; S[x+1][y+1] = A[x+1][y+1] + S[x][y+1] + S[x+1][y] - S[x][y]; } int x, y; REP(i, N) { cin >> x >> y; int count = 0; FOR(x1, 0, x) FOR(y1, 0, y) FOR(x2, x, M+1) FOR(y2, y, M+1) { if (S[x2][y2] + S[x1][y1] == S[x2][y1] + S[x1][y2]) count++; } cout << count << endl; } return 0; }