#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

typedef long long lld;
const int BSZ = 305;

lld sum(int a, int b, const vector<int>& v, const vector<lld>& bckt)
{
	int l = a / BSZ;
	int r = b / BSZ - 1;
	lld ret = 0;
	while(l<=r){
		ret += bckt[l++];
	}
	for(int i = a / BSZ * BSZ; i < a; ++i){
		ret -= v[i];
	}
	for(int i = b / BSZ * BSZ; i <= b; ++i){
		ret += v[i];
	}
	return ret;
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	int n, q;
	cin >> n >> q;
	vector<int> v(n + 1);
	vector<lld> bckt(n / BSZ + 1);
	for(int i = 1; i <= n; ++i){
		cin >> v[i];
		bckt[i / BSZ] += v[i];
	}

	for(int i = 0; i < q; ++i){
		int x, y, a, b;
		cin >> x >> y >> a >> b;
		if(x > y) swap(x, y);
		cout << sum(x, y, v, bckt) << '\n';
		lld k = 1LL * v[a] - b;
		v[a] = b;
		bckt[a / BSZ] -= k;
	}
}