# -*- coding: utf-8 -*- N, K = map(int, raw_input().split()) SIZE = 1000 + 2 GETA = 500 field = [[0 for i in xrange(SIZE + 1)] for i in xrange(SIZE + 1)] imosField = [[0 for i in xrange(SIZE + 1)] for i in xrange(SIZE + 1)] for _ in xrange(N): X, Y, H = map(int, raw_input().split()) field[X + GETA][Y + GETA] = H for _ in xrange(K): AX, AY, W, H, D = map(int, raw_input().split()) MX = min(AX + GETA + W + 1, SIZE) MY = min(AY + GETA + H + 1, SIZE) imosField[AX + GETA][AY + GETA] += D imosField[MX][AY + GETA] -= D imosField[AX + GETA][MY] -= D imosField[MX][MY] += D # X方向に累積和で算出 for y in xrange(SIZE + 1): for x in xrange(SIZE): imosField[x + 1][y] += imosField[x][y] # Y方向に累積和で算出 for x in xrange(SIZE + 1): for y in xrange(SIZE): imosField[x][y + 1] += imosField[x][y] # ダメージを与える total = 0 for x in xrange(SIZE + 1): for y in xrange(SIZE + 1): total += max(field[x][y] - imosField[x][y], 0) print total