#include <bits/stdc++.h>
using namespace std;
set<pair<long long, long long> > A, B;
long long sumA = 0;
long long N, Q;
long long a[100005];
long long b[100005];
long long tmp = 0;
long long funcA() {
  if (A.empty()) return 0;
  return A.begin()->first;
}
long long funcB() {
  if (B.empty()) return 0;
  auto it = B.end();
  it--;
  return it->first;
}
int main() {
  cin >> N >> Q;
  N *= 2;
  for (int i = 0; i < N; i++) {
    cin >> a[i];
    tmp += a[i];
  }
  for (int i = 0; i < N; i++) cin >> b[i];
  for (int i = 1; i + 1 < N; i++) {
    pair<long long, long long> p = pair<long long, long long>(b[i] - a[i], i);
    if (p.first > 0) {
      A.insert(p);
      sumA += p.first;
    } else {
      B.insert(p);
    }
  }
  for (int i = 0; i < Q; i++) {
    long long id, na, nb;
    cin >> id >> na >> nb;
    id--;
    if (id == 0 || id == N - 1) {
      tmp -= a[id];
      a[id] = na;
      tmp += a[id];
    } else {
      tmp -= a[id];
      tmp += na;
      pair<long long, long long> p =
          pair<long long, long long>(b[id] - a[id], id);
      a[id] = na;
      b[id] = nb;
      pair<long long, long long> np =
          pair<long long, long long>(b[id] - a[id], id);
      if (A.count(p)) {
        A.erase(p);
        sumA -= p.first;
      } else {
        B.erase(p);
      }
      if (np.first > 0) {
        A.insert(np);
        sumA += np.first;
      } else {
        B.insert(np);
      }
    }
    if (A.size() % 2 == 0) {
      cout << tmp + sumA << endl;
    } else if (!A.empty() && !B.empty() && funcA() + funcB() >= 0) {
      cout << tmp + sumA + funcB() << endl;
    } else {
      cout << tmp + sumA - funcA() << endl;
    }
  }
  return 0;
}
