#include <bits/stdc++.h>
#define FOR(i, a, b) for(int i = (a); i <= (b); i++)
#define FOD(i, a, b) for(int i = (a); i >= (b); i--)
#define file(name) if(fopen(name".inp", "r")) { freopen(name".inp", "r", stdin); freopen(name".out", "w", stdout); }
#define el cout << '\n'
#define maxn int(3e5 + 5)
using namespace std;
typedef long long ll;
int n, q, T, a[maxn];
ll pre[2][maxn];
ll get(int l, int r, int id) {
return pre[id][r] - pre[id][l - 1];
}
int main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
file("rating");
cin >> T;
cin >> n >> q;
FOR(i, 1, n) cin >> a[i];
FOR(i, 1, n) {
pre[0][i] = pre[0][i - 1] + (i & 1 ? -a[i] : a[i]);
pre[1][i] = pre[1][i - 1] + a[i];
}
while(q--) {
int L, R, x;
cin >> x >> L >> R;
if(x < 0) x = abs(x - a[L++]);
int l = L, r = R, pos = L - 1;
while(l <= r) {
int mid = (l + r) >> 1;
if(get(L, mid, 1) <= x) pos = mid, l = mid + 1;
else r = mid - 1;
}
x -= get(L, pos, 1);
ll sum = 0;
if((R - pos) & 1) {
sum = get(pos + 1, R, 0);
if((pos + 1) & 1) sum = -sum;
sum -= x;
} else {
sum = -get(pos + 1, R, 0);
if((pos + 1) & 1) sum = -sum;
sum += x;
}
cout << sum, el;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgRk9SKGksIGEsIGIpIGZvcihpbnQgaSA9IChhKTsgaSA8PSAoYik7IGkrKykKI2RlZmluZSBGT0QoaSwgYSwgYikgZm9yKGludCBpID0gKGEpOyBpID49IChiKTsgaS0tKQojZGVmaW5lIGZpbGUobmFtZSkgaWYoZm9wZW4obmFtZSIuaW5wIiwgInIiKSkgeyBmcmVvcGVuKG5hbWUiLmlucCIsICJyIiwgc3RkaW4pOyBmcmVvcGVuKG5hbWUiLm91dCIsICJ3Iiwgc3Rkb3V0KTsgfQojZGVmaW5lIGVsIGNvdXQgPDwgJ1xuJwojZGVmaW5lIG1heG4gaW50KDNlNSArIDUpCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiBsb25nIGxvbmcgbGw7CgppbnQgbiwgcSwgVCwgYVttYXhuXTsKCmxsIHByZVsyXVttYXhuXTsKCmxsIGdldChpbnQgbCwgaW50IHIsIGludCBpZCkgewogICAgcmV0dXJuIHByZVtpZF1bcl0gLSBwcmVbaWRdW2wgLSAxXTsKfQoKaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIGZpbGUoInJhdGluZyIpOwogICAgY2luID4+IFQ7CiAgICBjaW4gPj4gbiA+PiBxOwogICAgRk9SKGksIDEsIG4pIGNpbiA+PiBhW2ldOwogICAgRk9SKGksIDEsIG4pIHsKICAgICAgICBwcmVbMF1baV0gPSBwcmVbMF1baSAtIDFdICsgKGkgJiAxID8gLWFbaV0gOiBhW2ldKTsKICAgICAgICBwcmVbMV1baV0gPSBwcmVbMV1baSAtIDFdICsgYVtpXTsKICAgIH0KICAgIHdoaWxlKHEtLSkgewogICAgICAgIGludCBMLCBSLCB4OwogICAgICAgIGNpbiA+PiB4ID4+IEwgPj4gUjsKICAgICAgICBpZih4IDwgMCkgeCA9IGFicyh4IC0gYVtMKytdKTsKICAgICAgICBpbnQgbCA9IEwsIHIgPSBSLCBwb3MgPSBMIC0gMTsKICAgICAgICB3aGlsZShsIDw9IHIpIHsKICAgICAgICAgICAgaW50IG1pZCA9IChsICsgcikgPj4gMTsKICAgICAgICAgICAgaWYoZ2V0KEwsIG1pZCwgMSkgPD0geCkgcG9zID0gbWlkLCBsID0gbWlkICsgMTsKICAgICAgICAgICAgZWxzZSByID0gbWlkIC0gMTsKICAgICAgICB9CiAgICAgICAgeCAtPSBnZXQoTCwgcG9zLCAxKTsKICAgICAgICBsbCBzdW0gPSAwOwogICAgICAgIGlmKChSIC0gcG9zKSAmIDEpIHsKICAgICAgICAgICAgc3VtID0gZ2V0KHBvcyArIDEsIFIsIDApOwogICAgICAgICAgICBpZigocG9zICsgMSkgJiAxKSBzdW0gPSAtc3VtOwogICAgICAgICAgICBzdW0gLT0geDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBzdW0gPSAtZ2V0KHBvcyArIDEsIFIsIDApOwogICAgICAgICAgICBpZigocG9zICsgMSkgJiAxKSBzdW0gPSAtc3VtOwogICAgICAgICAgICBzdW0gKz0geDsKICAgICAgICB9CiAgICAgICAgY291dCA8PCBzdW0sIGVsOwogICAgfQogICAgcmV0dXJuIDA7Cn0=