#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
typedef long long ll;
int n,k,m;
int st[300000];
int s[300000];
int e[300000];
int mincost[100009];
ll rating[100009];
ll totalrating = 0;
void init(int in,int si,int ei){
s[in] = si;
e[in] = ei;
st[in] = 600;
if(si!=ei){
int middle = (si+ei)/2;
init(2*in,si,middle);
init(2*in+1,middle+1,ei);
}
}
void update(int in,int si,int ei,int c){
if(s[in]==si&&e[in]==ei){if(st[in]>c)st[in] = c;return;}
int middle = (s[in] + e[in])/2;
if(si>middle){update(2*in+1,si,ei,c);}
else if(ei<=middle){update(2*in,si,ei,c);}
else{
update(2*in,si,middle,c);
update(2*in+1,middle+1,ei,c);
}
}
int query(int ni,int in){
if(s[ni]==e[ni])return st[ni];
int middle = (s[ni] + e[ni])/2;
int mm;
if(in<=middle){mm = query(2*ni,in);}
else mm = query(2*ni+1,in);
return min(mm,st[ni]);
}
vector<pair<ll,int> > V;//cost weight
ll mc[509][100009];
int main(){
freopen("input.txt","r",stdin);
int t;
cin>>t;
while(t--){
V.clear();
totalrating = 0;
cin>>n>>k>>m;
init(1,1,n);
for(int i=1;i<=n;i++){cin>>rating[i];totalrating += rating[i];}
for(int i=0;i<m;i++){
int temp,temp2,cost;
cin>>temp>>temp2>>cost;
update(1,temp,temp2,cost);
}
for(int i=1;i<=n;i++){
if(rating[i]<0){
mincost[i] = query(1,i);
if(mincost[i]<=k){V.push_back(make_pair(-rating[i],mincost[i]));}}
}
for(int i=0;i<(int)V.size();i++){cout<<V[i].first<<' '<<V[i].second<<endl;}
int vl = V.size();
ll w = V[0].second;
for(int i=0;i<w&&i<=k;i++){mc[i][0]=0;}
for(int i=w;i<=k;i++)mc[i][0]=V[0].first;
for(int i=0;i<=vl;i++)mc[0][vl]=0;
for(int i=1;i<=k;i++){
for(int j=1;j<vl;j++){
mc[i][j] = mc[i][j-1];
if(i-V[i].second>0&&mc[i-V[j].second][j-1]>mc[i][j])
m[i][j] = mc[i-V[j].second][j-1];
}
}
cout<<mc[k][vl]<<endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKCgoKaW50IG4sayxtOwoKaW50IHN0WzMwMDAwMF07CmludCBzWzMwMDAwMF07CmludCBlWzMwMDAwMF07CmludCBtaW5jb3N0WzEwMDAwOV07CmxsIHJhdGluZ1sxMDAwMDldOwpsbCB0b3RhbHJhdGluZyA9IDA7CgoKdm9pZCBpbml0KGludCBpbixpbnQgc2ksaW50IGVpKXsKCXNbaW5dID0gc2k7CgllW2luXSA9IGVpOwoJc3RbaW5dID0gNjAwOwoJaWYoc2khPWVpKXsKCQlpbnQgbWlkZGxlID0gKHNpK2VpKS8yOwoJCWluaXQoMippbixzaSxtaWRkbGUpOwoJCWluaXQoMippbisxLG1pZGRsZSsxLGVpKTsKCX0KfQoKCnZvaWQgdXBkYXRlKGludCBpbixpbnQgc2ksaW50IGVpLGludCBjKXsKCWlmKHNbaW5dPT1zaSYmZVtpbl09PWVpKXtpZihzdFtpbl0+YylzdFtpbl0gPSBjO3JldHVybjt9CglpbnQgbWlkZGxlID0gKHNbaW5dICsgZVtpbl0pLzI7CgoJaWYoc2k+bWlkZGxlKXt1cGRhdGUoMippbisxLHNpLGVpLGMpO30KCWVsc2UgaWYoZWk8PW1pZGRsZSl7dXBkYXRlKDIqaW4sc2ksZWksYyk7fQoJZWxzZXsKCQl1cGRhdGUoMippbixzaSxtaWRkbGUsYyk7CgkJdXBkYXRlKDIqaW4rMSxtaWRkbGUrMSxlaSxjKTsKCX0KfQoKCgppbnQgcXVlcnkoaW50IG5pLGludCBpbil7CglpZihzW25pXT09ZVtuaV0pcmV0dXJuIHN0W25pXTsKCWludCBtaWRkbGUgPSAoc1tuaV0gKyBlW25pXSkvMjsKCWludCBtbTsKCWlmKGluPD1taWRkbGUpe21tID0gcXVlcnkoMipuaSxpbik7fQoJZWxzZSBtbSA9IHF1ZXJ5KDIqbmkrMSxpbik7CglyZXR1cm4gbWluKG1tLHN0W25pXSk7Cn0KCgoKdmVjdG9yPHBhaXI8bGwsaW50PiA+IFY7Ly9jb3N0IHdlaWdodAoKCmxsIG1jWzUwOV1bMTAwMDA5XTsKCgoKCgoKCgppbnQgbWFpbigpewoJZnJlb3BlbigiaW5wdXQudHh0IiwiciIsc3RkaW4pOwoJaW50IHQ7CgljaW4+PnQ7Cgl3aGlsZSh0LS0pewoJCVYuY2xlYXIoKTsKCQl0b3RhbHJhdGluZyA9IDA7CgkJY2luPj5uPj5rPj5tOwoJCWluaXQoMSwxLG4pOwoJCWZvcihpbnQgaT0xO2k8PW47aSsrKXtjaW4+PnJhdGluZ1tpXTt0b3RhbHJhdGluZyArPSByYXRpbmdbaV07fQoJCWZvcihpbnQgaT0wO2k8bTtpKyspewoJCQlpbnQgdGVtcCx0ZW1wMixjb3N0OwoJCQljaW4+PnRlbXA+PnRlbXAyPj5jb3N0OwoJCQl1cGRhdGUoMSx0ZW1wLHRlbXAyLGNvc3QpOwoJCX0KCQlmb3IoaW50IGk9MTtpPD1uO2krKyl7CgkJaWYocmF0aW5nW2ldPDApewoJCQltaW5jb3N0W2ldID0gcXVlcnkoMSxpKTsKCQlpZihtaW5jb3N0W2ldPD1rKXtWLnB1c2hfYmFjayhtYWtlX3BhaXIoLXJhdGluZ1tpXSxtaW5jb3N0W2ldKSk7fX0KCQl9CgkJZm9yKGludCBpPTA7aTwoaW50KVYuc2l6ZSgpO2krKyl7Y291dDw8VltpXS5maXJzdDw8JyAnPDxWW2ldLnNlY29uZDw8ZW5kbDt9CgoJCWludCB2bCA9IFYuc2l6ZSgpOwoJCWxsIHcgPSBWWzBdLnNlY29uZDsKCgkJZm9yKGludCBpPTA7aTx3JiZpPD1rO2krKyl7bWNbaV1bMF09MDt9CgkJZm9yKGludCBpPXc7aTw9aztpKyspbWNbaV1bMF09VlswXS5maXJzdDsKCQlmb3IoaW50IGk9MDtpPD12bDtpKyspbWNbMF1bdmxdPTA7CgkJZm9yKGludCBpPTE7aTw9aztpKyspewoJCQlmb3IoaW50IGo9MTtqPHZsO2orKyl7CgkJCQltY1tpXVtqXSA9IG1jW2ldW2otMV07CgkJCQlpZihpLVZbaV0uc2Vjb25kPjAmJm1jW2ktVltqXS5zZWNvbmRdW2otMV0+bWNbaV1bal0pCgkJCQkJbVtpXVtqXSA9IG1jW2ktVltqXS5zZWNvbmRdW2otMV07CgkJCX0KCQl9CgoJCWNvdXQ8PG1jW2tdW3ZsXTw8ZW5kbDsKCgoKCgl9Cn0K