#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;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiBsb25nIGxvbmcgbGxkOwpjb25zdCBpbnQgQlNaID0gMzA1OwoKbGxkIHN1bShpbnQgYSwgaW50IGIsIGNvbnN0IHZlY3RvcjxpbnQ+JiB2LCBjb25zdCB2ZWN0b3I8bGxkPiYgYmNrdCkKewoJaW50IGwgPSBhIC8gQlNaOwoJaW50IHIgPSBiIC8gQlNaIC0gMTsKCWxsZCByZXQgPSAwOwoJd2hpbGUobDw9cil7CgkJcmV0ICs9IGJja3RbbCsrXTsKCX0KCWZvcihpbnQgaSA9IGEgLyBCU1ogKiBCU1o7IGkgPCBhOyArK2kpewoJCXJldCAtPSB2W2ldOwoJfQoJZm9yKGludCBpID0gYiAvIEJTWiAqIEJTWjsgaSA8PSBiOyArK2kpewoJCXJldCArPSB2W2ldOwoJfQoJcmV0dXJuIHJldDsKfQoKaW50IG1haW4oKQp7Cglpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKCWNpbi50aWUoMCk7CglpbnQgbiwgcTsKCWNpbiA+PiBuID4+IHE7Cgl2ZWN0b3I8aW50PiB2KG4gKyAxKTsKCXZlY3RvcjxsbGQ+IGJja3QobiAvIEJTWiArIDEpOwoJZm9yKGludCBpID0gMTsgaSA8PSBuOyArK2kpewoJCWNpbiA+PiB2W2ldOwoJCWJja3RbaSAvIEJTWl0gKz0gdltpXTsKCX0KCglmb3IoaW50IGkgPSAwOyBpIDwgcTsgKytpKXsKCQlpbnQgeCwgeSwgYSwgYjsKCQljaW4gPj4geCA+PiB5ID4+IGEgPj4gYjsKCQlpZih4ID4geSkgc3dhcCh4LCB5KTsKCQljb3V0IDw8IHN1bSh4LCB5LCB2LCBiY2t0KSA8PCAnXG4nOwoJCWxsZCBrID0gMUxMICogdlthXSAtIGI7CgkJdlthXSA9IGI7CgkJYmNrdFthIC8gQlNaXSAtPSBrOwoJfQp9