#include using namespace std; int main(){ ios::sync_with_stdio(false),cin.tie(0); int n,m; cin >> n >> m; vector segtree0(2*m),segtree1(2*m),A(n); vector L(n),R(n),C(n); long long res(0); for (int i(0);i < n;++i){ cin >> A[i] >> L[i] >> R[i]; --L[i],segtree1[m+i] = A[i],res += (R[i]-L[i])*A[i],C[i] = i; for (int l(m+L[i]),r(m+R[i]);l < r;l>>=1,r>>=1){ if (l&1) ++segtree0[l++]; if (r&1) ++segtree0[--r]; } } for (int i(m-1);i;--i) segtree1[i] = segtree1[i<<1]+segtree1[i<<1|1]; for (int i(0);i < n;++i) for (int l(m+L[i]),r(m+R[i]);l < r;l>>=1,r>>=1){ if (l&1) res -= segtree1[l++]; if (r&1) res -= segtree1[--r]; } int q; cin >> q; while(q--){ int i; cin >> i; --i,res -= (R[i]-L[i])*A[i]; for (int l(m+C[i]);l;l>>=1) res += segtree0[l]*A[i],segtree1[l] -= A[i]; for (int l(m+L[i]),r(m+R[i]);l < r;l>>=1,r>>=1){ if (l&1) --segtree0[l],res += segtree1[l],++l; if (r&1) --r,--segtree0[r],res += segtree1[r]; } cin >> C[i] >> L[i] >> R[i]; --C[i],--L[i],res += (R[i]-L[i])*A[i]; for (int l(m+C[i]);l;l>>=1) res -= segtree0[l]*A[i],segtree1[l] += A[i]; for (int l(m+L[i]),r(m+R[i]);l < r;l>>=1,r>>=1){ if (l&1) ++segtree0[l],res -= segtree1[l],++l; if (r&1) --r,++segtree0[r],res -= segtree1[r]; } cout << res << endl; } }