local q, n = io.read("*n", "*n") local map = {} for i = 1, n do for j = 1, n do map[(i - 1) * n + j] = io.read("*n") end end local colsum = {} for i = 1, n do colsum[i] = {0} for j = 1, n do colsum[i][j + 1] = colsum[i][j] + map[(i - 1) * n + j] end end for qi = 1, q do local h, w = io.read("*n", "*n") local ret = 0 for wl = 1, w do for wr = math.max(wl, w), n do local rowsum = {0} local rowv = {} for i = 1, n do rowsum[i + 1] = rowsum[i] + colsum[i][wr + 1] - colsum[i][wl] end for hl = 1, h do for hr = math.max(hl, h), n do if rowsum[hr + 1] - rowsum[hl] == 0 then ret = ret + 1 end end end end end print(ret) end