#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned int ui; const ll mod = 1000000007; const ll INF = (ll)1000000007 * 1000000007; typedef pair P; #define stop char nyaa;cin>>nyaa; #define rep(i,n) for(int i=0;i=0;i--) #define Rep(i,sta,n) for(int i=sta;i=1;i--) #define Rep1(i,sta,n) for(int i=sta;i<=n;i++) typedef long double ld; typedef complex Point; const ld eps = 1e-11; const ld pi = acos(-1.0); typedef pair LP; typedef pair LDP; typedef unsigned long long ul; ll s[131][131]; ll a[130][130]; ll calc(int xmi,int ymi,int xma,int yma) { ll res = s[xma][yma]; if (xmi > 0) { res -= s[xmi - 1][yma]; } if (ymi > 0) { res -= s[xma][ymi - 1]; } if (xmi > 0 && ymi > 0) { res += s[xmi - 1][ymi - 1]; } return res; } int main() { int n, m; cin >> n >> m; rep(i, m) { rep(j, m) { cin >> a[i][j]; } } rep(i, m) { rep(j,m) { s[i][j] = a[i][j]; if (i > 0) { s[i][j] += s[i - 1][j]; } if (j > 0) { s[i][j] += s[i][j - 1]; } if (i > 0 && j > 0) { s[i][j] -= s[i - 1][j - 1]; } } } rep(i, n) { int x, y; cin >> x >> y; x--; y--; int cnt = 0; Rep1(xmi, 0, x) { Rep1(ymi, 0, y) { Rep(xma, x, m) { Rep(yma, y, m) { if (!calc(xmi, ymi, xma, yma))cnt++; } } } } cout << cnt << endl; } return 0; }