#include <bits/stdc++.h>
using namespace std;
map<int, int> mp1, mp2;
int n, T, a[202000], b[202000], cnt;
long long sum = 0, bas = 0;
void add(int x) {
  if (x >= 0)
    ++mp1[x], sum += x, ++cnt;
  else
    ++mp2[-x];
}
void del(int x) {
  if (x >= 0) {
    sum -= x, --cnt;
    if (!(--mp1[x])) mp1.erase(x);
  } else {
    if (!(--mp2[-x])) mp2.erase(-x);
  }
}
long long doit() {
  if (!(cnt & 1)) return sum;
  return sum + max(-mp1.begin()->first, -mp2.begin()->first);
}
int main() {
  cin >> n >> T;
  n <<= 1;
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  for (int i = 1; i <= n; i++) scanf("%d", &b[i]);
  for (int i = 2; i < n; i++) add(a[i] - b[i]), bas += b[i];
  for (int p, x, y; T--;) {
    scanf("%d%d%d", &p, &x, &y);
    if (p != 1 && p != n) {
      del(a[p] - b[p]);
      bas -= b[p];
      add((a[p] = x) - (b[p] = y));
      bas += b[p];
    }
    printf("%lld\n", bas + a[1] + a[n] + doit());
  }
}
