#include using namespace std; int n,a[50000][10000],viz[50000]; char s[50000]; int fre[30]; int yv; int parcurge(int r) { if(r==yv){fre[s[yv-1]-'a']++;return 1;} int i,re; for(re=0,i=1;i<=a[r][0];i++) if(!viz[a[r][i]]) {viz[a[r][i]]=1; if(parcurge(a[r][i])) re=1; } if(re) fre[s[r-1]-'a']++; return re; } int main() {char c; int cont,i,x,m,y; cin>>n>>m; cin.get(); cin.getline(s,50000); for(i=1;i>x>>y; a[x][0]++; a[x][a[x][0]]=y; a[y][0]++; a[y][a[y][0]]=x; } int t; while(m--) {cin>>t; if(t==1) {cin>>x>>yv; for(i=1;i<=n;i++) viz[i]=0; for(i=0;i<26;i++) fre[i]=0; viz[x]=1; parcurge(x); cont=0; for(i=0;i<26;i++) if(fre[i]%2) cont++; cout<>x>>c; n++;s[n-1]=c; a[x][0]++; a[x][a[x][0]]=n; a[n][0]++; a[n][a[n][0]]=x; } } }