#include <bits/stdc++.h>
using namespace std;
using ll = std::int_fast64_t;
using ld = long double;
using P = pair<ll, ll>;
constexpr ll inf = 1000000000;
constexpr ll mod = 1000000007;
constexpr long double eps = 1e-15;
template <typename T1, typename T2>
ostream& operator<<(ostream& os, pair<T1, T2> p) {
  os << to_string(p.first) << " " << to_string(p.second);
  return os;
}
template <typename T>
ostream& operator<<(ostream& os, vector<T>& v) {
  for (int i = 0; i < (int)v.size(); i++) {
    if (i) os << " ";
    os << to_string(v[i]);
  }
  return os;
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int n, q;
  cin >> n >> q;
  vector<ll> a(2 * n), b(2 * n);
  for (int i = 0; i < (int)2 * n; i++) cin >> a[i];
  for (int i = 0; i < (int)2 * n; i++) cin >> b[i];
  ll sum1 = 0, sum2 = 0;
  for (int i = 0; i < (int)2 * n; i++) sum1 += a[i];
  set<pair<ll, ll>> st;
  for (int i = 1; i < (int)2 * n - 1; i++) {
    if (b[i] - a[i] >= 0) {
      st.insert({b[i] - a[i], i});
      sum2 += b[i] - a[i];
    }
  }
  for (int i = 0; i < (int)q; i++) {
    ll p, x, y;
    cin >> p >> x >> y;
    p--;
    sum1 -= a[p];
    sum1 += x;
    if (p != 0 && p != 2 * n - 1) {
      if (b[p] - a[p] >= 0) {
        st.erase({b[p] - a[p], p});
        sum2 -= (b[p] - a[p]);
      }
      if (y - x >= 0) {
        st.insert({y - x, p});
        sum2 += y - x;
      }
    }
    a[p] = x;
    b[p] = y;
    if (st.empty() || (int)st.size() % 2 == 0) {
      cout << sum1 + sum2 << endl;
    } else {
      cout << sum1 + sum2 - st.begin()->first << endl;
    }
  }
  return 0;
}
