#include<iostream>
using namespace std;
int n,m,p,q,father[200005],a,b,ans[200005],cnt;
char s[200005],tmp;
int f(int x){
if(father[x]==x) return x;
return father[x]=f(father[x]);
}
int add(int x,int y){
father[f(x)]=f(y);
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++) father[i]=i;
for(int i=1;i<=m;i++){
cin>>s[i];
}
for(int i=1;i<=n-1;i++){
cin>>a>>b;
if(s[a]==s[b]){
add(a,b);
}
}
for(int i=1;i<=m;i++){
cin>>a>>b>>tmp;
if(f(a)==f(b)&&s[a]!=tmp){
ans[++cnt]=0;
}else ans[++cnt]=1;
}
for(int i=1;i<=cnt;i++)
cout<<ans[i];
return 0;
}
WA记录