#include using namespace std; int n,a[10000][10000],viz[10000]; char s[10000]; int fre[26]; int parcurge(int r,int y) {if(r==y){fre[s[y-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],y)) 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,100); 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>>y; for(i=1;i<=n;i++) viz[i]=0; for(i=0;i<26;i++) fre[i]=0; viz[x]=1; parcurge(x,y); 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; } } }