#include <bits/stdc++.h>
bool multitest = false;
#define ll long long
#define db double
#define pb push_back
#define pii pair<int,int>
#define vi vector<int>
#define pli pair<ll,int>
#define ALL(A) (A).begin(), (A).end()
#define TIME (1.0 * clock() / CLOCKS_PER_SEC)
#define file(Roxy) if(fopen(Roxy".inp", "r")){freopen(Roxy".inp", "r", stdin);freopen(Roxy".out", "w", stdout);}
#define fi first
#define se second
#define mp make_pair
#define FOR(i, a, b) for(int i = (a); i <= (b); i++)
#define FORD(i, a, b) for(int i = (a); i >= (b); i--)
#define FORN(i, a, b) for(int i = (a); i < (b); i++)
ll sq(ll a){return a*a;}
ll gcd(ll a, ll b){return b ==0 ? a: gcd(b,a%b);}
ll lcm(ll a, ll b){return a/gcd(a,b)*b;}
template <class T1,class G2>bool maxi(T1 &a, const G2 b){if(a < b){a = b;return 1;} return 0;}
template <class T1,class G2>bool mini(T1 &a, const G2 b){if(a > b){a = b;return 1;} return 0;}
using namespace std;
const int N = 3e5 + 5, oo = 2e9, CH = 26, LG = __lg(N) + 1;
const ll inf = 1e18, base = 331, sm = 1e9 + 7;
int n, m, q;
long long a[N], p[N];
struct bg {
int l, r;
long long val;
} Q[N];
vi pos[N];
void init() {
cin >> n >> m;
FOR(i, 1, m) cin >> a[i];
FOR(i, 1, m) pos[a[i]].push_back(i);
FOR(i, 1, n) cin >> p[i];
cin >> q;
FOR(i, 1, q) cin >> Q[i].l >> Q[i].r >> Q[i].val;
}
ll bit[N];
void up(int pos, ll val) {
for(int i = pos; i <= m; i+=i&-i) bit[i]+= val;
}
ll get(int u) {
ll sum = 0;
for(int i = u; i; i-=i&-i) sum+= bit[i];
return sum;
}
ll get(int l, int r) {
return get(r) - get(l - 1);
}
int L[N], R[N], ans[N];
vi Quer[N];
void solve() {
FOR(i, 1, n) L[i] = 1, R[i] = q;
memset(ans, - 1, sizeof ans);
while(1) {
bool ok = false;
FOR(i, 1, n) if(L[i] <= R[i]) {
Quer[(L[i] + R[i]) >> 1].push_back(i);
ok = true;
}
if(ok == false) break;
FOR(i, 1, q) {
int l = Q[i].l, r = Q[i].r; ll val = Q[i].val;
if(l <= r) {
// update(1, 1, m, l, r, val);
up(l, val);
up(r + 1, - val);
} else {
// update(1, 1, m, l, m, val);
// update(1, 1, m, 1, r, val);
up(l, val);
up(1, val);
up(r + 1, - val);
}
for(const int &id : Quer[i]) {
ll sum = 0;
for(const int &v : pos[id]) sum+= get(v, v);
if(sum >= p[id]) {
ans[id] = i;
R[id] = i - 1;
} else L[id] = i + 1;
}
}
FOR(i, 0, m) bit[i] = 0;
FOR(i, 0, q) Quer[i].clear();
}
FOR(i, 1, n) cout << ans[i] << '\n';
}
signed main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
file("saobang");
int test = 1;
if(multitest) cin >> test;
FOR(i, 1, test) {
init();
solve();
}
return void(cerr << "\nTime elapsed : " << TIME << "s "), 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CmJvb2wgbXVsdGl0ZXN0ID0gZmFsc2U7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZGIgZG91YmxlCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgcGlpIHBhaXI8aW50LGludD4KI2RlZmluZSB2aSB2ZWN0b3I8aW50PgojZGVmaW5lIHBsaSBwYWlyPGxsLGludD4KI2RlZmluZSBBTEwoQSkgKEEpLmJlZ2luKCksIChBKS5lbmQoKQojZGVmaW5lIFRJTUUgKDEuMCAqIGNsb2NrKCkgLyBDTE9DS1NfUEVSX1NFQykKI2RlZmluZSBmaWxlKFJveHkpIGlmKGZvcGVuKFJveHkiLmlucCIsICJyIikpe2ZyZW9wZW4oUm94eSIuaW5wIiwgInIiLCBzdGRpbik7ZnJlb3BlbihSb3h5Ii5vdXQiLCAidyIsIHN0ZG91dCk7fQojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgRk9SKGksIGEsIGIpIGZvcihpbnQgaSA9IChhKTsgaSA8PSAoYik7IGkrKykKI2RlZmluZSBGT1JEKGksIGEsIGIpIGZvcihpbnQgaSA9IChhKTsgaSA+PSAoYik7IGktLSkKI2RlZmluZSBGT1JOKGksIGEsIGIpIGZvcihpbnQgaSA9IChhKTsgaSA8IChiKTsgaSsrKQpsbCBzcShsbCBhKXtyZXR1cm4gYSphO30gIApsbCBnY2QobGwgYSwgbGwgYil7cmV0dXJuIGIgPT0wID8gYTogZ2NkKGIsYSViKTt9IApsbCBsY20obGwgYSwgbGwgYil7cmV0dXJuIGEvZ2NkKGEsYikqYjt9CnRlbXBsYXRlIDxjbGFzcyBUMSxjbGFzcyBHMj5ib29sIG1heGkoVDEgJmEsIGNvbnN0IEcyIGIpe2lmKGEgPCBiKXthID0gYjtyZXR1cm4gMTt9IHJldHVybiAwO30KdGVtcGxhdGUgPGNsYXNzIFQxLGNsYXNzIEcyPmJvb2wgbWluaShUMSAmYSwgY29uc3QgRzIgYil7aWYoYSA+IGIpe2EgPSBiO3JldHVybiAxO30gcmV0dXJuIDA7fQp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE4gPSAzZTUgKyA1LCBvbyA9IDJlOSwgQ0ggPSAyNiwgTEcgPSBfX2xnKE4pICsgMTsKY29uc3QgbGwgaW5mID0gMWUxOCwgYmFzZSA9IDMzMSwgc20gPSAxZTkgKyA3OwoKaW50IG4sIG0sIHE7CmxvbmcgbG9uZyBhW05dLCBwW05dOwpzdHJ1Y3QgYmcgewoJaW50IGwsIHI7Cglsb25nIGxvbmcgdmFsOwp9IFFbTl07CnZpIHBvc1tOXTsKCnZvaWQgaW5pdCgpIHsKCWNpbiA+PiBuID4+IG07CglGT1IoaSwgMSwgbSkgY2luID4+IGFbaV07CglGT1IoaSwgMSwgbSkgcG9zW2FbaV1dLnB1c2hfYmFjayhpKTsKCUZPUihpLCAxLCBuKSBjaW4gPj4gcFtpXTsKCWNpbiA+PiBxOwoJRk9SKGksIDEsIHEpIGNpbiA+PiBRW2ldLmwgPj4gUVtpXS5yID4+IFFbaV0udmFsOwp9CgpsbCBiaXRbTl07Cgp2b2lkIHVwKGludCBwb3MsIGxsIHZhbCkgewoJZm9yKGludCBpID0gcG9zOyBpIDw9IG07IGkrPWkmLWkpIGJpdFtpXSs9IHZhbDsKfQoKbGwgZ2V0KGludCB1KSB7CglsbCBzdW0gPSAwOwoJZm9yKGludCBpID0gdTsgaTsgaS09aSYtaSkgc3VtKz0gYml0W2ldOwoJcmV0dXJuIHN1bTsKfQoKbGwgZ2V0KGludCBsLCBpbnQgcikgewoJcmV0dXJuIGdldChyKSAtIGdldChsIC0gMSk7Cn0KCmludCBMW05dLCBSW05dLCBhbnNbTl07CnZpIFF1ZXJbTl07Cgp2b2lkIHNvbHZlKCkgewoJRk9SKGksIDEsIG4pIExbaV0gPSAxLCBSW2ldID0gcTsKCW1lbXNldChhbnMsIC0gMSwgc2l6ZW9mIGFucyk7CgoJd2hpbGUoMSkgewoJCWJvb2wgb2sgPSBmYWxzZTsKCQlGT1IoaSwgMSwgbikgaWYoTFtpXSA8PSBSW2ldKSB7CgkJCVF1ZXJbKExbaV0gKyBSW2ldKSA+PiAxXS5wdXNoX2JhY2soaSk7CgkJCW9rID0gdHJ1ZTsKCQl9CgkJaWYob2sgPT0gZmFsc2UpIGJyZWFrOwoKCQlGT1IoaSwgMSwgcSkgewoJCQlpbnQgbCA9IFFbaV0ubCwgciA9IFFbaV0ucjsgbGwgdmFsID0gUVtpXS52YWw7CgkJCWlmKGwgPD0gcikgewoJCQkJLy8gdXBkYXRlKDEsIDEsIG0sIGwsIHIsIHZhbCk7CgkJCQl1cChsLCB2YWwpOwoJCQkJdXAociArIDEsIC0gdmFsKTsKCQkJfSBlbHNlIHsKCQkJCS8vIHVwZGF0ZSgxLCAxLCBtLCBsLCBtLCB2YWwpOwoJCQkJLy8gdXBkYXRlKDEsIDEsIG0sIDEsIHIsIHZhbCk7CgkJCQl1cChsLCB2YWwpOwoJCQkJdXAoMSwgdmFsKTsKCQkJCXVwKHIgKyAxLCAtIHZhbCk7CgkJCX0KCgkJCWZvcihjb25zdCBpbnQgJmlkIDogUXVlcltpXSkgewoJCQkJbGwgc3VtID0gMDsKCQkJCWZvcihjb25zdCBpbnQgJnYgOiBwb3NbaWRdKSBzdW0rPSBnZXQodiwgdik7CgkJCQlpZihzdW0gPj0gcFtpZF0pIHsKCQkJCQlhbnNbaWRdID0gaTsKCQkJCQlSW2lkXSA9IGkgLSAxOwoJCQkJfSBlbHNlIExbaWRdID0gaSArIDE7CgkJCX0KCQl9CgoJCUZPUihpLCAwLCBtKSBiaXRbaV0gPSAwOwoJCUZPUihpLCAwLCBxKSBRdWVyW2ldLmNsZWFyKCk7Cgl9CgkKCUZPUihpLCAxLCBuKSBjb3V0IDw8IGFuc1tpXSA8PCAnXG4nOwp9CgpzaWduZWQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwogICAgZmlsZSgic2FvYmFuZyIpOwogICAgaW50IHRlc3QgPSAxOwogICAgaWYobXVsdGl0ZXN0KSBjaW4gPj4gdGVzdDsKICAgIEZPUihpLCAxLCB0ZXN0KSB7CiAgICAgICAgaW5pdCgpOwogICAgICAgIHNvbHZlKCk7CiAgICB9CiAgICByZXR1cm4gdm9pZChjZXJyIDw8ICJcblRpbWUgZWxhcHNlZCA6ICIgPDwgVElNRSA8PCAicyAiKSwgMDsKfQ==