#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=1005;
int N,Q,rod[maxn],vel[maxn];
int getpar(int x){
   if(rod[x]==x)
      return x;
   rod[x]=getpar(rod[x]);
   return rod[x];
}
void spoj(int a,int b){
   a=getpar(a);
   b=getpar(b);
   if(a==b)
      return;
   if(vel[a]>vel[b])
      rod[b]=a;
   else{
      vel[b]=max(vel[a]+1,vel[b]);
      rod[a]=b;
   }
}
void solve(){
   cin>>N>>Q;
   while(Q--){
      int t,a,b;
      cin>>t;
      if(t==1)
         spoj(a,b);
      else
         cout<<(getpar(a)==getpar(b))<<"\n";
   }
}
void reset(){}
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int T=1;
    cin>>T;
    while(T--){
        solve();
        reset();
    }
    return 0;
}