class BIT: def __init__(self,size): self.n=size self.tree=[0]*(self.n+1) def add(self,i,delta): i+=1 while i<=self.n: self.tree[i]+=delta i+=i&-i def _sum(self,i): i+=1 res=0 while i>0: res+=self.tree[i] i-=i&-i return res def sum(self,left,right): return self._sum(right)-self._sum(left-1) if left>0 else self._sum(right) n,m=map(int,input().split()) a=[0]*n b=[0]*n l=[0]*n r=[0]*n for i in range(n): a[i],l[i],r[i]=map(int,input().split()) l[i]-=1 r[i]-=1 b[i]=i st1=BIT(m) st2=BIT(m+1) for x in range(n): st1.add(b[x],a[x]) st2.add(l[x],1) st2.add(r[x]+1,-1) g=0 for x in range(n): g+=(r[x]-l[x]+1)*a[x]-st1.sum(l[x],r[x]) Q=int(input()) for _ in range(Q): x,y,nl,nr=map(int,input().split()) x-=1 y-=1 nl-=1 nr-=1 g-=(r[x]-l[x]+1)*a[x]-st1.sum(l[x],r[x]) g-=-(st2.sum(0,b[x])-(l[x]<=b[x]<=r[x]))*a[x] st1.add(b[x],-a[x]) st2.add(l[x],-1) st2.add(r[x]+1,1) b[x]=y l[x],r[x]=nl,nr st1.add(b[x],a[x]) st2.add(l[x],1) st2.add(r[x]+1,-1) g+=(r[x]-l[x]+1)*a[x]-st1.sum(l[x],r[x]) g+=-(st2.sum(0,b[x])-(l[x]<=b[x]<=r[x]))*a[x] print(g)