#include <bits/stdc++.h>
#define LL long long
using namespace std;
const int N = 50,M = 505,K = 205,V = 250;
const LL INF = 1ll << 60;
int L;
struct Mat{
LL a[V][V];
inline void init(){
for (int i = 0; i < L; ++i) for (int j = 0; j < L; ++j) a[i][j] = -INF;
}
};
struct Vec{
LL a[V];
inline void init(){
for (int i = 0; i < L; ++i) a[i] = -INF;
}
};
Mat operator * (const Mat A,const Mat B){
static Mat T; T.init();
for (int k = 0; k < L; ++k) for (int i = 0; i < L; ++i) for (int j = 0; j < L; ++j)
if (A.a[i][k] + B.a[k][j] > T.a[i][j]) T.a[i][j] = A.a[i][k] + B.a[k][j];
return T;
}
Vec operator * (const Mat A,const Vec B){
static Vec T; T.init();
for (int i = 0; i < L; ++i) for (int j = 0; j < L; ++j)
if (A.a[j][i] + B.a[j] > T.a[i]) T.a[i] = A.a[j][i] + B.a[j];
return T;
}
int n,m,T,k,c[N];
int ex[M],ey[M],ez[M];
Mat I,Tr,A[30];
Vec st; int nowt;
int id[N][5];
struct Festival{
int t,x,y;
}ev[K];
int main(){
// freopen("delicacy.in","r",stdin);
// freopen("delicacy.out","w",stdout);
int i,j;
cin >> n >> m >> T >> k;
I.init(); L = n * 5;
for (i = 0; i < n; ++i) cin >> c[i];
for (i = 0; i < n; ++i) I.a[i][i] = 0;
for (i = 0; i < n; ++i) for (j = 0; j < 5; ++j) id[i][j] = j * n + i;
for (i = 1; i <= m; ++i) cin >> ex[i] >> ey[i] >> ez[i],--ex[i],--ey[i];
Tr.init();
for (i = 0; i < n; ++i)
for (j = 1; j < 5; ++j) Tr.a[id[i][j]][id[i][j-1]] = (j==1) ? (c[i]) : (0);
for (i = 1; i <= m; ++i) Tr.a[id[ex[i]][0]][id[ey[i]][ez[i]-1]] = (ez[i]==1) ? (c[ey[i]]) : (0);
A[0] = Tr;
for (i = 1; i < 30; ++i) A[i] = A[i-1] * A[i-1];
for (i = 1; i <= k; ++i) cin >> ev[i].t >> ev[i].x >> ev[i].y,--ev[i].x;
for (i = 1; i <= k; ++i) for (j = i+1; j <= k; ++j) if (ev[j].t < ev[i].t) swap(ev[i],ev[j]);
if (ev[k].t != T){ ++k; ev[k].t = T,ev[k].x = ev[k].y = 0; }
st.init(); st.a[id[0][0]] = c[0]; nowt = 0;
for (i = 1; i <= k; ++i){
int dt = ev[i].t - nowt;
for (j = 0; j < 30; ++j) if (dt>>j&1) st = A[j] * st;
if (st.a[ev[i].x] >= 0) st.a[ev[i].x] += ev[i].y;
nowt = ev[i].t;
}
if (st.a[0] < 0) st.a[0] = -1;
cout << st.a[0] << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgTEwgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOID0gNTAsTSA9IDUwNSxLID0gMjA1LFYgPSAyNTA7CmNvbnN0IExMIElORiA9IDFsbCA8PCA2MDsKCmludCBMOwpzdHJ1Y3QgTWF0ewoJTEwgYVtWXVtWXTsKCWlubGluZSB2b2lkIGluaXQoKXsKCQlmb3IgKGludCBpID0gMDsgaSA8IEw7ICsraSkgZm9yIChpbnQgaiA9IDA7IGogPCBMOyArK2opIGFbaV1bal0gPSAtSU5GOwoJfQp9OwpzdHJ1Y3QgVmVjewoJTEwgYVtWXTsKCWlubGluZSB2b2lkIGluaXQoKXsKCQlmb3IgKGludCBpID0gMDsgaSA8IEw7ICsraSkgYVtpXSA9IC1JTkY7CQoJfQp9OwpNYXQgb3BlcmF0b3IgKiAoY29uc3QgTWF0IEEsY29uc3QgTWF0IEIpewoJc3RhdGljIE1hdCBUOyBULmluaXQoKTsKCWZvciAoaW50IGsgPSAwOyBrIDwgTDsgKytrKSBmb3IgKGludCBpID0gMDsgaSA8IEw7ICsraSkgZm9yIChpbnQgaiA9IDA7IGogPCBMOyArK2opCgkJaWYgKEEuYVtpXVtrXSArIEIuYVtrXVtqXSA+IFQuYVtpXVtqXSkgVC5hW2ldW2pdID0gQS5hW2ldW2tdICsgQi5hW2tdW2pdOwoJcmV0dXJuIFQ7Cn0KVmVjIG9wZXJhdG9yICogKGNvbnN0IE1hdCBBLGNvbnN0IFZlYyBCKXsKCXN0YXRpYyBWZWMgVDsgVC5pbml0KCk7Cglmb3IgKGludCBpID0gMDsgaSA8IEw7ICsraSkgZm9yIChpbnQgaiA9IDA7IGogPCBMOyArK2opCgkJaWYgKEEuYVtqXVtpXSArIEIuYVtqXSA+IFQuYVtpXSkgVC5hW2ldID0gQS5hW2pdW2ldICsgQi5hW2pdOwoJcmV0dXJuIFQ7Cn0KCmludCBuLG0sVCxrLGNbTl07CmludCBleFtNXSxleVtNXSxleltNXTsKTWF0IEksVHIsQVszMF07ClZlYyBzdDsgaW50IG5vd3Q7CmludCBpZFtOXVs1XTsKc3RydWN0IEZlc3RpdmFsewoJaW50IHQseCx5Owp9ZXZbS107CmludCBtYWluKCl7Ci8vCWZyZW9wZW4oImRlbGljYWN5LmluIiwiciIsc3RkaW4pOwovLwlmcmVvcGVuKCJkZWxpY2FjeS5vdXQiLCJ3IixzdGRvdXQpOwoJaW50IGksajsJCgljaW4gPj4gbiA+PiBtID4+IFQgPj4gazsKCUkuaW5pdCgpOyBMID0gbiAqIDU7Cglmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSBjaW4gPj4gY1tpXTsKCWZvciAoaSA9IDA7IGkgPCBuOyArK2kpIEkuYVtpXVtpXSA9IDA7Cglmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSBmb3IgKGogPSAwOyBqIDwgNTsgKytqKSBpZFtpXVtqXSA9IGogKiBuICsgaTsKCWZvciAoaSA9IDE7IGkgPD0gbTsgKytpKSBjaW4gPj4gZXhbaV0gPj4gZXlbaV0gPj4gZXpbaV0sLS1leFtpXSwtLWV5W2ldOwoJVHIuaW5pdCgpOwoJZm9yIChpID0gMDsgaSA8IG47ICsraSkKCWZvciAoaiA9IDE7IGogPCA1OyArK2opIFRyLmFbaWRbaV1bal1dW2lkW2ldW2otMV1dID0gKGo9PTEpID8gKGNbaV0pIDogKDApOwoJZm9yIChpID0gMTsgaSA8PSBtOyArK2kpIFRyLmFbaWRbZXhbaV1dWzBdXVtpZFtleVtpXV1bZXpbaV0tMV1dID0gKGV6W2ldPT0xKSA/IChjW2V5W2ldXSkgOiAoMCk7CglBWzBdID0gVHI7Cglmb3IgKGkgPSAxOyBpIDwgMzA7ICsraSkgQVtpXSA9IEFbaS0xXSAqIEFbaS0xXTsKCQoJZm9yIChpID0gMTsgaSA8PSBrOyArK2kpIGNpbiA+PiBldltpXS50ID4+IGV2W2ldLnggPj4gZXZbaV0ueSwtLWV2W2ldLng7Cglmb3IgKGkgPSAxOyBpIDw9IGs7ICsraSkgZm9yIChqID0gaSsxOyBqIDw9IGs7ICsraikgaWYgKGV2W2pdLnQgPCBldltpXS50KSBzd2FwKGV2W2ldLGV2W2pdKTsKCWlmIChldltrXS50ICE9IFQpeyArK2s7IGV2W2tdLnQgPSBULGV2W2tdLnggPSBldltrXS55ID0gMDsgfQkKCXN0LmluaXQoKTsgc3QuYVtpZFswXVswXV0gPSBjWzBdOyBub3d0ID0gMDsKCWZvciAoaSA9IDE7IGkgPD0gazsgKytpKXsKCQlpbnQgZHQgPSBldltpXS50IC0gbm93dDsKCQlmb3IgKGogPSAwOyBqIDwgMzA7ICsraikgaWYgKGR0Pj5qJjEpIHN0ID0gQVtqXSAqIHN0OwoJCWlmIChzdC5hW2V2W2ldLnhdID49IDApIHN0LmFbZXZbaV0ueF0gKz0gZXZbaV0ueTsgCgkJbm93dCA9IGV2W2ldLnQ7Cgl9CglpZiAoc3QuYVswXSA8IDApIHN0LmFbMF0gPSAtMTsKCWNvdXQgPDwgc3QuYVswXSA8PCAnXG4nOwp9