#include <bits/stdc++.h>
using namespace std;
const int mod = 1000000007, mod998 = 998244353;
const string nyan("(=^・ω・^=)");
long long N, Q, a[200000], b[200000], p, x, y;
bool u[200000];
set<pair<long long, long long>> st[2];
long long res;
signed main() {
  cin >> N >> Q;
  --Q;
  N *= 2;
  for (long long i = 0; i < N; ++i) {
    cin >> a[i];
  }
  for (long long i = 0; i < N; ++i) {
    cin >> b[i];
  }
  cin >> p >> x >> y;
  --p;
  a[p] = x;
  b[p] = y;
  res = a[0] + a[N - 1];
  for (long long i = 1; i < N - 1; ++i) {
    if (a[i] >= b[i]) {
      u[i] = true;
      res += a[i];
      st[1].insert(make_pair(a[i] - b[i], i));
    } else {
      res += b[i];
      st[0].insert(make_pair(b[i] - a[i], i));
    }
  }
  if (st[0].size() & 1) {
    pair<long long, long long> p1, p2;
    p1 = *st[0].begin();
    p2 = *st[1].begin();
    if (p1.first > p2.first) {
      res -= p2.first;
      u[p2.second] ^= true;
      st[0].insert(make_pair(-p2.first, p2.second));
      st[1].erase(p2);
    } else {
      res -= p1.first;
      u[p1.second] ^= true;
      st[1].insert(make_pair(-p1.first, p1.second));
      st[0].erase(p1);
    }
  }
  cout << res << endl;
  while (Q--) {
    cin >> p >> x >> y;
    --p;
    if (p == 0 || p == N - 1) {
      res += x - a[p];
      a[p] = x;
    } else {
      if (u[p]) {
        res += x - a[p];
        st[1].erase(make_pair(a[p] - b[p], p));
        st[1].insert(make_pair(x - y, p));
        auto it = st[1].begin();
        auto it2 = it;
        ++it2;
        pair<long long, long long> p1 = *it;
        pair<long long, long long> p2 = *it2;
        if (p1.first < 0 && p2.first < 0 ||
            (!st[0].empty() && p1.first + p2.first < 0 &&
             p2.first < st[0].begin()->first)) {
          res -= p1.first + p2.first;
          st[0].insert(make_pair(-p1.first, p1.second));
          st[0].insert(make_pair(-p2.first, p2.second));
          u[p1.second] ^= true;
          u[p2.second] ^= true;
          st[1].erase(p1);
          st[1].erase(p2);
        }
      } else {
        res += y - b[p];
        st[0].erase(make_pair(b[p] - a[p], p));
        st[0].insert(make_pair(y - x, p));
        auto it = st[0].begin();
        auto it2 = it;
        ++it2;
        pair<long long, long long> p1 = *it;
        pair<long long, long long> p2 = *it2;
        if (p1.first < 0 && p2.first < 0 ||
            (!st[1].empty() && p1.first + p2.first < 0 &&
             p2.first < st[1].begin()->first)) {
          res -= p1.first + p2.first;
          st[1].insert(make_pair(-p1.first, p1.second));
          st[1].insert(make_pair(-p2.first, p2.second));
          u[p1.second] ^= true;
          u[p2.second] ^= true;
          st[0].erase(p1);
          st[0].erase(p2);
        }
      }
      if (!st[0].empty() && !st[1].empty() &&
          st[0].begin()->first + st[1].begin()->first < 0) {
        pair<long long, long long> p1 = *st[0].begin();
        pair<long long, long long> p2 = *st[1].begin();
        res -= p1.first + p2.first;
        u[p1.second] ^= true;
        u[p2.second] ^= true;
        st[0].insert(make_pair(-p2.first, p2.second));
        st[1].insert(make_pair(-p1.first, p1.second));
        st[0].erase(p1);
        st[1].erase(p2);
      }
      a[p] = x;
      b[p] = y;
    }
    cout << res << endl;
  }
}
