#include using namespace std; const int G = 100,n = 20000; int A[n],B[n]; int C[G][n]; long long S[n]; int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int N,Q; cin >> N >> Q; for(int i=0; i> A[i]; for(int i=0; i> B[i]; vector answer(Q); vector> Qs(N); vector> Query(Q); for(int i=0; i> l >> d >> r >> u,l--,d--,u--; Qs.at(l/G).push_back(i); } vector hold; for(int i=0; i next; for(auto qpos : hold){ auto &[d,l,u,r] = Query.at(qpos); if(i+G <= u){ answer.at(qpos) += S[r]; if(l) answer.at(qpos) -= S[l-1]; next.push_back(qpos); } else{ for(int k=0; k