#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
using P = pair<int, int>;
constexpr ld EPS = 1e-12;
constexpr int INF = numeric_limits<int>::max() / 2;
constexpr int MOD = 1e9 + 7;
template <typename T>
void printv(const vector<T> &v) {
  int sz = v.size();
  for (int i = 0; i < sz; i++) {
    cout << v[i] << " \n"[i == sz - 1];
  }
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int n, q;
  cin >> n >> q;
  assert(n * q <= 100000);
  vector<ll> a(2 * n), b(2 * n);
  for (int i = 0; i < 2 * n; i++) cin >> a[i];
  for (int i = 0; i < 2 * n; i++) cin >> b[i];
  while (q--) {
    ll p, x, y;
    cin >> p >> x >> y;
    p--;
    a[p] = x;
    b[p] = y;
    vector<vector<ll>> dp(2 * n, vector<ll>(2, -1e15));
    dp[0][0] = a[0];
    for (int i = 1; i < 2 * n - 1; i++) {
      dp[i][0] = max(dp[i - 1][0] + a[i], dp[i - 1][1] + b[i]);
      dp[i][1] = max(dp[i - 1][0] + b[i], dp[i - 1][1] + a[i]);
    }
    dp[2 * n - 1][0] = dp[2 * n - 2][0] + a[2 * n - 1];
    cout << dp[2 * n - 1][0] << endl;
  }
}
