#include<bits/stdc++.h>

using namespace std;

const int N=1e4+10;
int p[N];

void init(int n)
{
    for(int i=0;i<n;i++) p[i]=i;
}

int fnd(int x)
{
    return p[x]==x?p[x]:p[x]=fnd(p[x]);
}

void unite(int x,int y)
{
    int px=fnd(x),py=fnd(y);

    if(px!=py)
    {
        p[px]=py;
    }
}

bool same(int x,int y)
{
    return fnd(x)==fnd(y);
}

int main()
{
    int n,q;
    cin>>n>>q;

    init(n);

    while(q--)
    {
        int op,x,y;
        cin>>op>>x>>y;

        if(!op)
        {
            unite(x,y);
        }else
        {
            cout<<same(x,y)<<endl;
        }
    }

    return 0;
}

