#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> P;
P color[11][100010];
vector<int> g[100010];
int main(){
	int N,M,Q,u,v,d,c;
	scanf("%d%d",&N,&M);
	for(d=0;d<=10;d++)
		for(u=1;u<=N;u++)
			color[d][u].first=-0x3f3f3f3f;
	for(int i=0;i<M;i++){
		scanf("%d%d",&u,&v);
		g[u].push_back(v);
		g[v].push_back(u);
	}
	scanf("%d",&Q);
	for(int i=1;i<=Q;i++){
		scanf("%d%d%d",&v,&d,&c);
		for(int k=0;k<=d;k++)
			color[k][v]=P(i,c);
	}
	for(d=10;d>=1;d--){
		for(u=1;u<=N;u++){
			for(int i=0;i<(int)g[u].size();i++){
				v=g[u][i];
				if(color[d][u].first>color[d-1][v].first){
					color[d-1][v]=color[d][u];
				}
			}
		}
	}
	for(u=1;u<=N;u++)
		printf("%d\n",color[0][u].second);
	return 0;
}