#include using namespace std; using ll = long long; ll solve(int x1, int y1, int x2, int y2, vector< vector>& sum) { ll res = 0; for (int i = x1; i < x2; i++) { for (int j = i + 1; j <= x2; j++) { map memo; for (int k = y2; k >= y1; k--) { ll d = sum[j][k] - sum[i][k]; res += memo[d]; memo[d]++; } } } return res; } ll solve2(int x1, int y1, int x2, int y2, vector< vector>& sum) { ll res = 0; for (int i = x1; i < x2; i++) { for (int j = y1; j < y2; j++) { for (int k = i + 1; k <= x2; k++) { for (int l = j + 1; l <= y2; l++) { ll s = sum[k][l] - sum[k][j] - sum[i][l] + sum[i][j]; res += (s == 0); } } } } return res; } int main() { cin.tie(0); ios::sync_with_stdio(false); int n, m; cin >> n >> m; vector< vector > a(m, vector(m)), sum(m + 1, vector(m + 1, 0)); for (int i = 0; i < m; i++) { for (int j = 0; j < m; j++) { cin >> a[i][j]; sum[i + 1][j + 1] = a[i][j]; } } for (int i = 0; i <= m; i++) { for (int j = 1; j <= m; j++) { sum[i][j] += sum[i][j - 1]; } } for (int i = 1; i <= m; i++) { for (int j = 0; j <= m; j++) { sum[i][j] += sum[i - 1][j]; } } ll all = solve2(0, 0, m, m, sum); //cout << all << " " << solve2(0, 0, m, m, sum) << endl; for (int i = 0; i < n; i++) { int x, y; cin >> x >> y; ll ans = all; ans -= solve2(0, 0, x - 1, m, sum) + solve2(0, 0, m, y - 1, sum) + solve2(x, 0, m, m, sum) + solve2(0, y, m, m, sum); ans += solve2(0, 0, x - 1, y - 1, sum) + solve2(x, 0, m, y - 1, sum) + solve2(0, y, x - 1, m, sum) + solve2(x, y, m, m, sum); cout << ans << endl; } return 0; }