#include <bits/stdc++.h>
using namespace std;
template <class T>
inline void amin(T &x, const T &y) {
  if (y < x) x = y;
}
template <class T>
inline void amax(T &x, const T &y) {
  if (x < y) x = y;
}
template <class Iter>
void rprintf(const char *fmt, Iter begin, Iter end) {
  for (bool sp = 0; begin != end; ++begin) {
    if (sp)
      putchar(' ');
    else
      sp = true;
    printf(fmt, *begin);
  }
  putchar('\n');
}
int N, Q;
int A[200011], B[200011];
multiset<int> L, R;
long long sum, sumL, sumR;
void add(long long x) {
  if (x < 0) {
    L.insert(x);
    sumL += x;
  } else {
    R.insert(x);
    sumR += x;
  }
}
void del(long long x) {
  if (x < 0) {
    L.erase(L.find(x));
    sumL -= x;
  } else {
    R.erase(R.find(x));
    sumR -= x;
  }
}
void MAIN() {
  scanf("%d%d", &N, &Q);
  for (int i = 0, i_len = (N * 2); i < i_len; ++i) scanf("%d", A + i);
  for (int i = 0, i_len = (N * 2); i < i_len; ++i) scanf("%d", B + i);
  for (int i = 1; i + 1 < N * 2; i++) {
    add(B[i] - A[i]);
  }
  for (int i = 0, i_len = (N * 2); i < i_len; ++i) sum += A[i];
  for (int $ = 0, $_len = (Q); $ < $_len; ++$) {
    int p, x, y;
    scanf("%d%d%d", &p, &x, &y);
    p--;
    sum -= A[p];
    if (0 < p && p < N * 2 - 1) {
      del(B[p] - A[p]);
      A[p] = x;
      B[p] = y;
      add(B[p] - A[p]);
    }
    sum += A[p];
    long long ans = sum;
    if (R.size() & 1) {
      amax(ans, sum + sumR - *R.begin());
      amax(ans, sum + sumR + *L.rbegin());
    } else {
      amax(ans, sum + sumR);
    }
    printf("%lld\n", ans);
  }
}
int main() {
  int TC = 1;
  for (int tc = 0, tc_len = (TC); tc < tc_len; ++tc) MAIN();
  return 0;
}
