#include<bits/stdc++.h>
using namespace std;

int A[100100];
int dp[100100][11];
vector<int> G[100100];

int main(){
	int n,m,a,b,q;
	
	cin >> n >> m;
	for(int i=1;i<=m;i++){
		cin >> a >> b;
		G[a].push_back(b);
		G[b].push_back(a);
	}
	
	cin >> q;
	for(int i=1;i<=q;i++){
		cin >> a >> b >> A[i];
		dp[a][b]=i;
	}
	
	for(int i=9;i>=0;i--){
		for(int j=1;j<=n;j++){
			dp[j][i]=max(dp[j][i], dp[j][i+1]);
			for(int k=0;k<G[j].size();k++){
				dp[j][i]=max(dp[j][i], dp[G[j][k]][i+1]);
			}
		}
	}
	
	for(int i=1;i<=n;i++){
		cout << A[dp[i][0]] << endl;
	}
	return 0;
}