#include <iostream>
#include <fstream>
using namespace std;
int n,m,n_add,add[10001],sv_sc[10001],sv[10001][10001],t,x,y;
//int ok=1;
int main()

{
    ifstream f("fis.in");
    f>>n>>m;
  //  cin>>c1>>c2;
    for(int i=1;i<=n;i++){
        sv_sc[i]=1;
        sv[i][1]=i;
        }
   for(int i=1;i<=m;i++){
        f>>t;


        if(t==1)
            {   f>>x>>y;
                if(y<x){
                    int aux=y;
                    y=x;
                    x=aux;
                }
                n_add++;
                add[n_add]=sv[y][sv_sc[y]];
                for(int j=1;j<=n;j++)
                    if(sv[j][sv_sc[j]]==sv[y][sv_sc[y]]){
                        sv_sc[j]++;
                        sv[j][sv_sc[j]]=x;
                    }

            }else if(t==3){
                f>>x>>y;
                for(int i=1;i<=n;i++)
                    cout<<sv[i][sv_sc[i]];
                if(sv[x][sv_sc[x]]==sv[y][sv_sc[y]])
                    cout<<1<<endl;
                else cout<<0<<endl;
            }else if(t==2){
                f>>x;
                while(x){

                int a=add[n_add];

                for(int j=1;j<=n;j++)
                    if(sv[j][sv_sc[j]-1]==a){
                        sv_sc[j]--;

                    }
                x--;
                n_add--;}
            }

   }

    return 0;
}