#include <bits/stdc++.h>
using namespace std;
int n, m, k;
int a[300005], ans[300005];
long long bit[300005];
vector <int> idx[300005];
struct ZATA {
int l, r, val;
} ques[3000005];
vector <ZATA> vt[300005];
void upd(int pos, int val) {
while (pos <= m) {
bit[pos] += val;
pos += (pos & (-pos));
}
}
void update(int l, int r, int val) {
upd(l, val);
upd(r + 1, -val);
}
long long get(int pos) {
long long res = 0;
while (pos) {
res += bit[pos];
pos -= (pos & (-pos));
}
return res;
}
main() {
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
freopen("TEST.inp", "r", stdin);
freopen("TEST.out", "w", stdout);
cin >> n >> m;
for (int i = 1; i <= m; i++) {
int a;
cin >> a;
idx[a].push_back(i);
}
for (int i = 1; i <= n; i++) cin >> a[i];
cin >> k;
for (int i = 1; i <= k; i++) cin >> ques[i].l >> ques[i].r >> ques[i].val;
int dem = 0;
int mid = (k + 1) / 2;
for (int i = 1; i <= n; i++)
vt[mid].push_back({0, k + 1, i});
while (dem < n) {
memset(bit, 0, sizeof(bit));
for (int i = 1; i <= k; i++) {
auto [l, r, val] = ques[i];
if (l <= r) update(l, r, val);
else {
update(1, r, val);
update(l, m, val);
}
for (int j = 0; j < vt[i].size(); j++) {
ZATA res = vt[i][j];
long long sum = 0;
for (auto pos : idx[res.val]) {
sum += get(pos);
if (sum >= a[res.val]) break;
}
if (sum >= a[res.val]) res.r = i;
else res.l = i;
mid = (res.l + res.r) / 2;
if (res.l == res.r - 1) {
ans[res.val] = res.r;
dem++;
} else vt[mid].push_back(res);
}
vt[i].clear();
}
}
for (int i = 1; i <= n; i++)
if (ans[i] == k + 1 || ans[i] == 0) cout << "NIE" << '\n';
else cout << ans[i] << '\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBuLCBtLCBrOwppbnQgYVszMDAwMDVdLCBhbnNbMzAwMDA1XTsKbG9uZyBsb25nIGJpdFszMDAwMDVdOwp2ZWN0b3IgPGludD4gaWR4WzMwMDAwNV07CgpzdHJ1Y3QgWkFUQSB7CiAgICBpbnQgbCwgciwgdmFsOwp9IHF1ZXNbMzAwMDAwNV07Cgp2ZWN0b3IgPFpBVEE+IHZ0WzMwMDAwNV07Cgp2b2lkIHVwZChpbnQgcG9zLCBpbnQgdmFsKSB7CiAgICB3aGlsZSAocG9zIDw9IG0pIHsKICAgICAgICBiaXRbcG9zXSArPSB2YWw7CiAgICAgICAgcG9zICs9IChwb3MgJiAoLXBvcykpOwogICAgfQp9Cgp2b2lkIHVwZGF0ZShpbnQgbCwgaW50IHIsIGludCB2YWwpIHsKICAgIHVwZChsLCB2YWwpOwogICAgdXBkKHIgKyAxLCAtdmFsKTsKfQoKbG9uZyBsb25nIGdldChpbnQgcG9zKSB7CiAgICBsb25nIGxvbmcgcmVzID0gMDsKICAgIHdoaWxlIChwb3MpIHsKICAgICAgICByZXMgKz0gYml0W3Bvc107CiAgICAgICAgcG9zIC09IChwb3MgJiAoLXBvcykpOwogICAgfQogICAgcmV0dXJuIHJlczsKfQoKbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICBmcmVvcGVuKCJURVNULmlucCIsICJyIiwgc3RkaW4pOwogICAgZnJlb3BlbigiVEVTVC5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICBjaW4gPj4gbiA+PiBtOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbTsgaSsrKSB7CiAgICAgICAgaW50IGE7CiAgICAgICAgY2luID4+IGE7CiAgICAgICAgaWR4W2FdLnB1c2hfYmFjayhpKTsKICAgIH0KICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgY2luID4+IGFbaV07CiAgICBjaW4gPj4gazsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IGs7IGkrKykgY2luID4+IHF1ZXNbaV0ubCA+PiBxdWVzW2ldLnIgPj4gcXVlc1tpXS52YWw7CgogICAgaW50IGRlbSA9IDA7CiAgICBpbnQgbWlkID0gKGsgKyAxKSAvIDI7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICAgICAgdnRbbWlkXS5wdXNoX2JhY2soezAsIGsgKyAxLCBpfSk7CiAgICB3aGlsZSAoZGVtIDwgbikgewogICAgICAgIG1lbXNldChiaXQsIDAsIHNpemVvZihiaXQpKTsKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBrOyBpKyspIHsKICAgICAgICAgICAgYXV0byBbbCwgciwgdmFsXSA9IHF1ZXNbaV07CiAgICAgICAgICAgIGlmIChsIDw9IHIpIHVwZGF0ZShsLCByLCB2YWwpOwogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHVwZGF0ZSgxLCByLCB2YWwpOwogICAgICAgICAgICAgICAgdXBkYXRlKGwsIG0sIHZhbCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCB2dFtpXS5zaXplKCk7IGorKykgewogICAgICAgICAgICAgICAgWkFUQSByZXMgPSB2dFtpXVtqXTsKICAgICAgICAgICAgICAgIGxvbmcgbG9uZyBzdW0gPSAwOwogICAgICAgICAgICAgICAgZm9yIChhdXRvIHBvcyA6IGlkeFtyZXMudmFsXSkgewogICAgICAgICAgICAgICAgICAgIHN1bSArPSBnZXQocG9zKTsKICAgICAgICAgICAgICAgICAgICBpZiAoc3VtID49IGFbcmVzLnZhbF0pIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKHN1bSA+PSBhW3Jlcy52YWxdKSByZXMuciA9IGk7CiAgICAgICAgICAgICAgICBlbHNlIHJlcy5sID0gaTsKICAgICAgICAgICAgICAgIG1pZCA9IChyZXMubCArIHJlcy5yKSAvIDI7CiAgICAgICAgICAgICAgICBpZiAocmVzLmwgPT0gcmVzLnIgLSAxKSB7CiAgICAgICAgICAgICAgICAgICAgYW5zW3Jlcy52YWxdID0gcmVzLnI7CiAgICAgICAgICAgICAgICAgICAgZGVtKys7CiAgICAgICAgICAgICAgICB9IGVsc2UgdnRbbWlkXS5wdXNoX2JhY2socmVzKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2dFtpXS5jbGVhcigpOwogICAgICAgIH0KICAgIH0KCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICAgICAgaWYgKGFuc1tpXSA9PSBrICsgMSB8fCBhbnNbaV0gPT0gMCkgY291dCA8PCAiTklFIiA8PCAnXG4nOwogICAgICAgIGVsc2UgY291dCA8PCBhbnNbaV0gPDwgJ1xuJzsKCiAgICByZXR1cm4gMDsKfQo=