#include <bits/stdc++.h>
using namespace std;
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	int N, Q; cin >> N >> Q; 
	long long A[200010], B[200010]; 
	for(int i = 0; i < N*2; i++) cin >> A[i]; 
	for(int i = 0; i < N*2; i++) cin >> B[i]; 
	long long sumA = 0; // 全部Aだった場合
	long long sumP = 0; // 変えた方が得なものを全部Bに変えたときの得
	multiset<long long> P, M; 
	for(int i = 0; i < N*2; i++) sumA += A[i]; 
	for(int i = 1; i < N*2-1; i++){
		if(A[i] <= B[i]){
			P.insert(B[i] - A[i]); sumP += B[i] - A[i]; 
		}
		else M.insert(A[i] - B[i]); 
	}
	while(Q--){
		int p; long long x, y; 
		cin >> p >> x >> y; p--; 
		if(p == 0 || p == N*2 - 1){
			sumA += x - A[p]; 
			A[p] = x; 
		}else{
			if(A[p] <= B[p]){
				P.erase(P.find(B[p] - A[p])); 
				sumP -= B[p] - A[p]; 
				sumA -= A[p]; 
				A[p] = x; B[p] = y; 
			}else{
				M.erase(M.find(A[p] - B[p])); 
				sumA -= A[p]; 
				A[p] = x; B[p] = y; 
			}
			sumA += A[p]; 
			if(A[p] <= B[p]){
				P.insert(B[p] - A[p]); sumP += B[p] - A[p]; 
			}
			else M.insert(A[p] - B[p]); 
		}
		long long ans = sumA + sumP; 
		int s = (int) P.size(); 
		if(s & 1){
			long long d = *P.begin(); 
			long long e = *M.begin(); 
			ans -= min(d, e); 
		}
		cout << ans << "\n"; 
	}
}