#include<iostream>
#include<vector>
using namespace std;
int dp[1<<17][11];
vector<int>G[1<<17];
int d[1<<17],c[1<<17],v[1<<17];
void dfs(int u,int dis,int col)
{
	if(dis<0)return;
	else if(dp[u][dis])return;
	dp[u][dis]=col;
	for(int i=0;i<G[u].size();i++)
	{
		dfs(G[u][i],dis-1,col);
	}
}
int main()
{
	int n,m;cin>>n>>m;
	for(int i=0;i<m;i++)
	{
		int a,b;cin>>a>>b;
		G[--a].push_back(--b);
		G[b].push_back(a);
	}
	int q;cin>>q;
	for(int i=0;i<q;i++)cin>>v[i]>>d[i]>>c[i];
	for(;q--;)
	{
		for(int i=d[q]+1;i--;)dfs(v[q]-1,i,c[q]);
	}
	for(int i=0;i<n;i++)cout<<dp[i][0]<<endl;
}