#pragma GCC optimize ("O2") #pragma GCC target ("avx2") #include //#include //using namespace atcoder; using namespace std; typedef long long ll; #define rep(i, n) for(int i = 0; i < (n); i++) #define rep1(i, n) for(int i = 1; i <= (n); i++) #define co(x) cout << (x) << "\n" #define cosp(x) cout << (x) << " " #define ce(x) cerr << (x) << "\n" #define cesp(x) cerr << (x) << " " #define pb push_back #define mp make_pair #define chmin(x, y) x = min(x, y) #define chmax(x, y) x = max(x, y) #define Would #define you #define please int main() { cin.tie(0); ios::sync_with_stdio(false); int H, W, N, M; cin >> H >> W >> N >> M; int T[100000], U[100000], L[100000], R[100000], A[100000]; rep(i, N) { cin >> T[i] >> U[i] >> L[i] >> R[i] >> A[i]; } ll HW[2002][2002] = {}; rep(i, M) { int x, y, b, c; cin >> x >> y >> b >> c; int x0 = max(1, x - b); int x1 = min(H + 1, x + 1 + b); int y0 = max(1, y - b); int y1 = min(W + 1, y + 1 + b); HW[x0][y0] += c; HW[x0][y1] -= c; HW[x1][y0] -= c; HW[x1][y1] += c; } rep1(i, H + 1) rep1(j, W) { HW[i][j + 1] += HW[i][j]; } rep1(j, W + 1) rep1(i, H) { HW[i + 1][j] += HW[i][j]; } rep1(i, H + 1) rep1(j, W) { HW[i][j + 1] += HW[i][j]; } rep1(j, W + 1) rep1(i, H) { HW[i + 1][j] += HW[i][j]; } int kotae = N; rep(i, N) { ll kari = 0; kari += HW[U[i]][R[i]]; kari -= HW[U[i]][L[i] - 1]; kari -= HW[T[i] - 1][R[i]]; kari += HW[T[i] - 1][L[i] - 1]; if (kari >= A[i]) kotae--; } co(kotae); Would you please return 0; }