#include<stdio.h>
#define MAX_N 100000
int uft[MAX_N];

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

int parent(int n)
{
	if(uft[n]==n)
		return n;
	else
		return uft[n]=parent(uft[n]);
}

void unit(int p,int q)
{
	uft[parent(p)]=parent(q);
}

int same(int p,int q)
{
	return parent(p)==parent(q);
}

int main()
{
	int n,q,i,a,b,c;
	scanf("%d%d",&n,&q);
	init(n);
	for(i=0;i<q;i++)
	{
		scanf("%d%d%d",&c,&a,&b);
		c?puts(same(a,b)?"1":"0"):unit(a,b);
	}
}