#include <bits/stdc++.h>
using namespace std;
set<pair<int, int> > mse;
const int N = 2e5 + 10;
int n, m, a[2][N];
long long ans;
void remove_pos(int pos) {
  if (pos == 1 || pos == n) {
    ans -= a[0][pos];
    return;
  }
  int type = (a[1][pos] > a[0][pos]);
  ans -= a[type][pos];
  if (type == 1) mse.erase(pair<int, int>(a[1][pos] - a[0][pos], pos));
}
void insert_pos(int pos) {
  if (pos == 1 || pos == n) {
    ans += a[0][pos];
    return;
  }
  int type = a[1][pos] > a[0][pos];
  if (type == 1) mse.insert(pair<int, int>(a[1][pos] - a[0][pos], pos));
  ans += a[type][pos];
}
long long getans() {
  long long cans = ans;
  if (mse.size() & 1) cans -= mse.begin()->first;
  return cans;
}
int main() {
  cin >> n >> m;
  n <<= 1;
  for (int i = 1; i <= n; i++) cin >> a[0][i];
  for (int i = 1; i <= n; i++) cin >> a[1][i];
  for (int i = 1; i <= n; i++) insert_pos(i);
  while (m--) {
    int pos, v1, v2;
    cin >> pos >> v1 >> v2;
    remove_pos(pos);
    a[0][pos] = v1;
    a[1][pos] = v2;
    insert_pos(pos);
    cout << getans() << '\n';
  }
}
