// Author: __BruteForce__
#include <bits/stdc++.h>
using namespace std;
typedef long long int64;
#define MAX_N 300005
int n, m, k;
vector<int> state[MAX_N];
int64 reqd[MAX_N];
int lo[MAX_N], hi[MAX_N], ql[MAX_N], qr[MAX_N];
int64 qa[MAX_N];
int64 bit[MAX_N];
stack<int> to_check[MAX_N];
void init() {
cin >> n >> m;
for (int i = 1; i <= m; i++) {
int o;
cin >> o;
state[o].push_back(i);
}
for (int i = 1; i <= n; i++) cin >> reqd[i];
cin >> k;
for (int i = 1; i <= k; i++) cin >> ql[i] >> qr[i] >> qa[i];
for (int i = 1; i <= n; i++) lo[i] = 1, hi[i] = k + 1;
}
void update_bit(int p, int64 v) {
for (; p <= m; p += p & -p) bit[p] += v;
}
int64 get_bit(int p) {
int64 sum = 0;
for (; p; p -= p & -p) sum += bit[p];
return sum;
}
void update(int idx) {
update_bit(ql[idx], qa[idx]);
update_bit(qr[idx] + 1, -qa[idx]);
if (ql[idx] > qr[idx]) update_bit(1, qa[idx]);
}
void solve() {
bool changed = true;
// Parallel Binary Search
while (changed) {
changed = false;
// Reset
memset(bit, 0, sizeof(bit));
for (int i = 1; i <= n; i++)
if (lo[i] != hi[i]) to_check[(lo[i] + hi[i]) >> 1].push(i);
// Update
for (int i = 1; i <= k; i++) {
update(i);
while (to_check[i].size()) {
changed = true;
int idx = to_check[i].top();
to_check[i].pop();
int64 sum = 0;
for (auto sector : state[idx]) {
sum += get_bit(sector);
if (sum >= reqd[idx]) break;
}
if (sum >= reqd[idx])
hi[idx] = i;
else
lo[idx] = i + 1;
}
}
}
for (int i = 1; i <= n; i++)
if (lo[i] <= k)
cout << lo[i] << "\n";
else
cout << "NIE\n";
}
int main() {
cin.tie(0)->sync_with_stdio(false);
init();
solve();
}
Ly8gQXV0aG9yOiBfX0JydXRlRm9yY2VfXwojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0eXBlZGVmIGxvbmcgbG9uZyBpbnQ2NDsKCiNkZWZpbmUgTUFYX04gMzAwMDA1CgppbnQgbiwgbSwgazsKdmVjdG9yPGludD4gc3RhdGVbTUFYX05dOwppbnQ2NCByZXFkW01BWF9OXTsKaW50IGxvW01BWF9OXSwgaGlbTUFYX05dLCBxbFtNQVhfTl0sIHFyW01BWF9OXTsKaW50NjQgcWFbTUFYX05dOwppbnQ2NCBiaXRbTUFYX05dOwpzdGFjazxpbnQ+IHRvX2NoZWNrW01BWF9OXTsKCnZvaWQgaW5pdCgpIHsKICAgIGNpbiA+PiBuID4+IG07CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBtOyBpKyspIHsKICAgICAgICBpbnQgbzsKICAgICAgICBjaW4gPj4gbzsKICAgICAgICBzdGF0ZVtvXS5wdXNoX2JhY2soaSk7CiAgICB9CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIGNpbiA+PiByZXFkW2ldOwogICAgY2luID4+IGs7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBrOyBpKyspIGNpbiA+PiBxbFtpXSA+PiBxcltpXSA+PiBxYVtpXTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgbG9baV0gPSAxLCBoaVtpXSA9IGsgKyAxOwp9Cgp2b2lkIHVwZGF0ZV9iaXQoaW50IHAsIGludDY0IHYpIHsKICAgIGZvciAoOyBwIDw9IG07IHAgKz0gcCAmIC1wKSBiaXRbcF0gKz0gdjsKfQoKaW50NjQgZ2V0X2JpdChpbnQgcCkgewogICAgaW50NjQgc3VtID0gMDsKICAgIGZvciAoOyBwOyBwIC09IHAgJiAtcCkgc3VtICs9IGJpdFtwXTsKICAgIHJldHVybiBzdW07Cn0KCnZvaWQgdXBkYXRlKGludCBpZHgpIHsKICAgIHVwZGF0ZV9iaXQocWxbaWR4XSwgcWFbaWR4XSk7CiAgICB1cGRhdGVfYml0KHFyW2lkeF0gKyAxLCAtcWFbaWR4XSk7CiAgICBpZiAocWxbaWR4XSA+IHFyW2lkeF0pIHVwZGF0ZV9iaXQoMSwgcWFbaWR4XSk7Cn0KCnZvaWQgc29sdmUoKSB7CiAgICBib29sIGNoYW5nZWQgPSB0cnVlOwogICAgLy8gUGFyYWxsZWwgQmluYXJ5IFNlYXJjaAogICAgd2hpbGUgKGNoYW5nZWQpIHsKICAgICAgICBjaGFuZ2VkID0gZmFsc2U7CgogICAgICAgIC8vIFJlc2V0CiAgICAgICAgbWVtc2V0KGJpdCwgMCwgc2l6ZW9mKGJpdCkpOwogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgICAgICAgaWYgKGxvW2ldICE9IGhpW2ldKSB0b19jaGVja1sobG9baV0gKyBoaVtpXSkgPj4gMV0ucHVzaChpKTsKCiAgICAgICAgLy8gVXBkYXRlCiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gazsgaSsrKSB7CiAgICAgICAgICAgIHVwZGF0ZShpKTsKICAgICAgICAgICAgd2hpbGUgKHRvX2NoZWNrW2ldLnNpemUoKSkgewogICAgICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7CiAgICAgICAgICAgICAgICBpbnQgaWR4ID0gdG9fY2hlY2tbaV0udG9wKCk7CiAgICAgICAgICAgICAgICB0b19jaGVja1tpXS5wb3AoKTsKCiAgICAgICAgICAgICAgICBpbnQ2NCBzdW0gPSAwOwogICAgICAgICAgICAgICAgZm9yIChhdXRvIHNlY3RvciA6IHN0YXRlW2lkeF0pIHsKICAgICAgICAgICAgICAgICAgICBzdW0gKz0gZ2V0X2JpdChzZWN0b3IpOwogICAgICAgICAgICAgICAgICAgIGlmIChzdW0gPj0gcmVxZFtpZHhdKSBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChzdW0gPj0gcmVxZFtpZHhdKQogICAgICAgICAgICAgICAgICAgIGhpW2lkeF0gPSBpOwogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGxvW2lkeF0gPSBpICsgMTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICAgICAgaWYgKGxvW2ldIDw9IGspCiAgICAgICAgICAgIGNvdXQgPDwgbG9baV0gPDwgIlxuIjsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGNvdXQgPDwgIk5JRVxuIjsKfQoKaW50IG1haW4oKSB7CiAgICBjaW4udGllKDApLT5zeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoKICAgIGluaXQoKTsKICAgIHNvbHZlKCk7Cn0=