#include <bits/stdc++.h>
using namespace std;
const long long int INF = (long long int)1 << 32;
priority_queue<pair<long long int, int>, vector<pair<long long int, int> >,
               greater<pair<long long int, int> > >
    q1, q2;
long long int t[200005][2];
long long int s[200005];
int main() {
  int n, m;
  int i, j, k;
  long long int a, b, c;
  int equ = 0, big = 0;
  long long int st;
  cin >> n >> m;
  for (i = 0; i < 2; i++) {
    for (j = 0; j < 2 * n; j++) {
      cin >> t[j][i];
    }
  }
  st = t[0][0] + t[2 * n - 1][0];
  for (i = 1; i < 2 * n - 1; i++) {
    if (t[i][0] == t[i][1])
      equ++, st += t[i][0];
    else if (t[i][0] > t[i][1])
      big++, st += t[i][0], q1.push(make_pair(t[i][0] - t[i][1], i));
    else
      st += t[i][1], q2.push(make_pair(t[i][1] - t[i][0], i));
  }
  for (i = 0; i < m; i++) {
    cin >> a >> b >> c;
    a--;
    if (a == 0 || a == 2 * n - 1) {
      st += b - t[a][0];
      t[a][0] = b, t[a][1] = c;
      s[i] = st;
      continue;
    }
    if (t[a][0] == t[a][1])
      equ--, st -= t[a][0];
    else if (t[a][0] > t[a][1])
      big--, st -= t[a][0];
    else
      st -= t[a][1];
    t[a][0] = b, t[a][1] = c;
    if (t[a][0] == t[a][1])
      equ++, st += t[a][0];
    else if (t[a][0] > t[a][1])
      big++, st += t[a][0], q1.push(make_pair(t[a][0] - t[a][1], a));
    else
      st += t[a][1], q2.push(make_pair(t[a][1] - t[a][0], a));
    if (equ > 0 || big % 2 == 0) {
      s[i] = st;
      continue;
    }
    a = INF, b = INF;
    while (!q1.empty()) {
      c = q1.top().second;
      if (t[c][0] - t[c][1] == q1.top().first) {
        a = t[c][0] - t[c][1];
        break;
      } else
        q1.pop();
    }
    while (!q2.empty()) {
      c = q2.top().second;
      if (t[c][1] - t[c][0] == q2.top().first) {
        b = t[c][1] - t[c][0];
        break;
      } else
        q2.pop();
    }
    if (a > b) a = b;
    s[i] = st - a;
  }
  for (i = 0; i < m; i++) {
    cout << s[i] << endl;
  }
  return 0;
}
