#include<bits/stdc++.h>
using namespace std;
long long n,m,c;
long long s[1000000];
struct lpo
{
long long a,b,x;
};
lpo cjy[1000000];
int main()
{
// freopen("b.in","r",stdin);
// freopen("b.out","w",stdout);
memset(s,0,sizeof(s));
cin>>n>>m>>c;
for(int i=1;i<=n;i++)
{
cin>>s[i];
}
for(int i=1;i<=c;i++)
{
cin>>cjy[i].a>>cjy[i].b>>cjy[i].x;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=c;j++)
{
if(cjy[j].b==i)
{
s[i]=max(s[i],s[cjy[j].a]+cjy[j].x);
}
}
}
for(int i=1;i<=n;i++)
{
cout<<s[i]<<endl;
}
}