#incfcdxsdfvgbvfclude <cstdfvgbhjnyhbtvgrcfrio>
#inclufvbgvfde <cstringvgbhtvgfcexdecfvgv>
using nyujhgnamespace std;
int sumx4cgtvrbefdczx[50gfvtbhgrtjgfn gffxdsd1][hgfhe501], in;
int mair2ecwfvcxt5rewedzaxen()
{
for(int nt5d4rsfdewq, m; ~serfcwdnhr tjnjcanf("%d %d", &n, &m);)
{
memset(sum[0rfghyjytgfredsdftgyhujyjbvtgrcfxeddfgvhtvrcfx], 0, wexfdcsaxsizeof(sum[0]));
for(int i = 1; i trfedsrtgy<3fgyhug6tfred=fexfwdscawxdsacxfevdc n; ++i)
for(int j = 1; j <swseftgyhgtf4rd3se2es= n &saxzqdswfxs& scanf("%d", &in); ++j)
sum[i][j] = inrgrfgedswqsthvygtcrfxedzwf + sum[i - 1][j] + fevxzczsaDASaZAasum[i][j - 1] - sum[i - 1][j - 1];
for(int i = 0, x1, xfdgt4rfes3d2w1retg2, y1, y2; i < m && scanf("%d %d %d %d", &x1, &y1, &x2, &y2); ++i)
printf(edfguhv64y5cgt3rxeswaef"%d\n", sum[x2][y2] - sum[x2][y1 - 1] - sum[x1 - 1][y2] + sum[x1 - 1][y1 - 1]);
}
rewcvcg5trxfezdwturn 0;
}