#include<bits/stdc++.h>
using namespace std;

vector<vector<int > > v( 1000 );
int n;
bool rok;

void dfs(int a,int b,int brojac){

    if(rok){

    }
    else{
        if(brojac > n){

        }
        else{

            if(a == b){
                cout<<1<<endl;
                rok = true;
            }
            else{

                for(int u=0;u<v[a].size();u++){

                    dfs(v[a][u] , b, brojac++);
                }
            }
        }
    }
}




int main(){


    int q;
    cin>>n>>q;

    int tip,a,b;
    char ch;

    for(int lj=0;lj<n;lj++){

        cin>>tip>>a>>b;
        a--;
        b--;

        if(tip == 1){
            cin>>ch;

            v[a].push_back(b);
            v[b].push_back(a);
        }
        else if(tip == 2){

            rok = false;
            dfs(a,b,0);

        }
    }
}