#include<bits/stdc++.h>
#define ll long long int
#define vec vector<ll>
#define f(var,a,b) for(ll var = a ; var < b ; var++ )
#define fasthoja ios_base::sync_with_stdio(false); cin.tie(NULL);
using namespace std;
// This will initialize our diff array
void makeDiff( vec &diff , vec &arr) {
f(i,0,arr.size() ) {
if( i == 0 ) // first compartment
diff[i] = arr[i];
else
diff[i] = arr[i] - arr[i-1];
}
}
// This will update our difference array in O(1)
void updateDiff( vec &diff ,ll l , ll r , ll x ) {
diff[l-1] += x;
diff[r+1-1] -= x;
}
// This will just print our diff array by taking prefix-sum of it
void printDiff( vec &diff ) {
ll sum = 0;
vec fans;
f(i,0,diff.size()-1) {
sum += diff[i];
fans.push_back(sum);
}
sum = 0;
f(i,0,fans.size()) sum += fans[i];
cout << sum << "\n";
}
int main(void) {
fasthoja;
ll t; cin >> t;
while(t-- ){
ll n; cin >> n;
vec v(n); f(i,0,n) cin >> v[i];
vec diff(n+1,0);
makeDiff(diff,v);
ll q; cin >> q;
while(q--) {
ll l,r,x; cin >> l >> r >> x;
updateDiff( diff, l , r, x );
}
printDiff(diff);
}
return 0;
}
/*
1
5
1 2 3 4 5
2
1 3 10
2 4 15
*/
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcgaW50CiNkZWZpbmUgdmVjIHZlY3RvcjxsbD4KI2RlZmluZSBmKHZhcixhLGIpIGZvcihsbCB2YXIgPSBhIDsgdmFyIDwgYiA7IHZhcisrICkKI2RlZmluZSBmYXN0aG9qYSBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZShOVUxMKTsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIFRoaXMgd2lsbCBpbml0aWFsaXplIG91ciBkaWZmIGFycmF5CnZvaWQgbWFrZURpZmYoIHZlYyAmZGlmZiAsIHZlYyAmYXJyKSB7CglmKGksMCxhcnIuc2l6ZSgpICkgewoJCWlmKCBpID09IDAgKSAvLyBmaXJzdCBjb21wYXJ0bWVudAoJCQlkaWZmW2ldID0gYXJyW2ldOwoJCWVsc2UKCQkJZGlmZltpXSA9IGFycltpXSAtIGFycltpLTFdOwoJfQp9CgoKLy8gVGhpcyB3aWxsIHVwZGF0ZSBvdXIgZGlmZmVyZW5jZSBhcnJheSBpbiBPKDEpCnZvaWQgdXBkYXRlRGlmZiggdmVjICZkaWZmICxsbCBsICwgbGwgciAsIGxsIHggKSB7CglkaWZmW2wtMV0gKz0geDsgCglkaWZmW3IrMS0xXSAtPSB4Owp9CgovLyBUaGlzIHdpbGwganVzdCBwcmludCBvdXIgZGlmZiBhcnJheSBieSB0YWtpbmcgcHJlZml4LXN1bSBvZiBpdAp2b2lkIHByaW50RGlmZiggdmVjICZkaWZmICkgewoJbGwgc3VtID0gMDsKCXZlYyBmYW5zOwoJZihpLDAsZGlmZi5zaXplKCktMSkgewoJCXN1bSArPSBkaWZmW2ldOwoJCWZhbnMucHVzaF9iYWNrKHN1bSk7Cgl9CglzdW0gPSAwOwoJZihpLDAsZmFucy5zaXplKCkpICBzdW0gKz0gZmFuc1tpXTsKCWNvdXQgPDwgc3VtIDw8ICJcbiI7Cn0KCmludCBtYWluKHZvaWQpIHsKCQogICAgZmFzdGhvamE7CiAgICBsbCB0OyBjaW4gPj4gdDsKICAgIHdoaWxlKHQtLSApeyAKICAgIAlsbCBuOyBjaW4gPj4gbjsKCSAgICB2ZWMgdihuKTsgZihpLDAsbikgY2luID4+IHZbaV07CgkgICAgCgkgICAgdmVjIGRpZmYobisxLDApOwoJICAgIG1ha2VEaWZmKGRpZmYsdik7CgkgIAoJICAgIGxsIHE7IGNpbiA+PiBxOwoJICAgIHdoaWxlKHEtLSkgewogICAgCQlsbCBsLHIseDsgY2luID4+IGwgPj4gciA+PiB4OwogICAgCQl1cGRhdGVEaWZmKCBkaWZmLCBsICwgciwgeCApOwoJCX0KCQlwcmludERpZmYoZGlmZik7Cgl9IAoJCglyZXR1cm4gMDsKfQovKgoKMQo1CjEgMiAzIDQgNQoyCjEgMyAxMAoyIDQgMTUKCiov