#include #include #include #define rep(i,a) for(int i=0;i<(a);++i) struct dat { int x, y, hp; dat( int x, int y, int hp ) : x(x), y(y), hp(hp) {} }; int N, K; int fld[1002][1002]; std::vector pts; int main() { scanf( "%d%d", &N, &K ); rep( i, N ) { int x, y, hp; scanf( "%d%d%d", &x, &y, &hp ); pts.push_back( dat( x, y, hp ) ); } rep( i, K ) { int ax, ay, w, h, d; scanf( "%d%d%d%d%d", &ax, &ay, &w, &h, &d ); ax += 500, ay += 500; fld[ay][ax] -= d; if( ax+w+1 <= 1000 ) fld[ay][ax+w+1] += d; if( ay+h+1 <= 1000 ) fld[ay+h+1][ax] += d; if( ax+w+1 <= 1000 && ay+h+1 <= 1000 ) fld[ay+h+1][ax+w+1] -= d; } rep( i, 1002 ) std::partial_sum( fld[i], fld[i]+1002, fld[i] ); rep( j, 1002 ) rep( i, 1001 ) fld[i+1][j] += fld[i][j]; int ans = 0; rep( i, N ) { fld[pts[i].y+500][pts[i].x+500] += pts[i].hp; if( fld[pts[i].y+500][pts[i].x+500] > 0 ) ans += fld[pts[i].y+500][pts[i].x+500]; } printf( "%d\n", ans ); return 0; }