#include<bits/stdc++.h>
using namespace std;
string x,y;
char c;
int n,m,a,b,f[100005];
int find(int x){
if(f[x]!=x)
f[x]=find(f[x]);
return f[x];
}
int main(){
cin>>n>>m>>x;
x=" "+x;
for(int i=1; i<=n; i++)
f[i]=i;
for(int i=1; i<n; i++)
{
cin>>a>>b;
int r1=find(a),r2=find(b);
if(x[a]==x[b] && r1!=r2)
f[r2]=r1;
}
for(int i=1; i<=n; i++)
{
cin>>a>>b>>c;
if(x[a]==c || x[b]==c || find(a)!=find(b))
y+='1';
else
y+='0';
}
cout<<y;
return 0;
}