#nullable enable using System.Numerics; #region var _input = Array.Empty(); var _iter = 0; string String() { while (_iter >= _input.Length) (_input, _iter) = (Console.ReadLine()!.Split(' '), 0); return _input[_iter++]; } T I() where T : IParsable => T.Parse(String(), null); #endregion var n = I(); var m = I(); var dataS = new PointAddRangeSum(m); var dataC = new RangeAddPointGet(m); var iwiz = new (int, long, int, int)[n]; for (var i = 0; i < n; i++) { var a = I(); var l = I() - 1; var r = I(); dataS.Add(i, a); dataC.Add(l, r, 1); iwiz[i] = (i, a, l, r); } var s = 0L; for (var i = 0; i < n; i++) { var (_, a, l, r) = iwiz[i]; s += a * (r - l) - dataS.Sum(l, r); } var q = I(); var ans = new long[q]; for (var i = 0; i < q; i++) { var x = I() - 1; var y = I() - 1; var nl = I() - 1; var nr = I(); var (t, a, l, r) = iwiz[x]; s -= a * (r - l) - dataS.Sum(l, r); dataS.Add(t, -a); dataC.Add(l, r, -1); s += a * dataC.Get(t); dataS.Add(y, a); s += a * (nr - nl) - dataS.Sum(nl, nr); s -= a * dataC.Get(y); dataC.Add(nl, nr, 1); iwiz[x] = (y, a, nl, nr); ans[i] = s; } Console.WriteLine(string.Join(Environment.NewLine, ans)); class FenwickTree where T : INumber { readonly T[] _values; public FenwickTree(int length) { _values = new T[length + 2]; } public void Add(int i, T value) { var values = _values; while (i < values.Length) { values[i] += value; i += i & -i; } } public T Sum(int i) { var values = _values; var res = T.Zero; while (i > 0) { res += values[i]; i -= i & -i; } return res; } } class PointAddRangeSum where T : INumber { public PointAddRangeSum(int length) { _data = new FenwickTree(length); } public void Add(int at, T value) => _data.Add(at + 1, value); public T Sum(int l, int r) => _data.Sum(r) - _data.Sum(l); // [l, r) readonly FenwickTree_data; } class RangeAddPointGet where T : INumber { public RangeAddPointGet(int length) { _data = new FenwickTree(length); } public void Add(int l, int r, T value) // [l, r) { _data.Add(l + 1, value); _data.Add(r + 1, -value); } public T Get(int at) => _data.Sum(at + 1); readonly FenwickTree_data; }