//一道变种的并查集的题目,第一次遇到这种题,学习一下。以防以后再遇到这种题。
//另外,注意,在poj上交用cin,cout超时。
//另外,注意,在poj上交用cin,cout超时。
#include<iostream>
#define Max 100000
using namespace std;
int father[200001];
int peple;
void Init()
{
int i;
for(i = 1;i <= Max + peple;i++)
{
father[i] = i;
}
}
int getfather(int x)
{
if(x == father[x])
return x;
return father[x] = getfather(father[x]);
}
void Unio(int x,int y)
{
int fx,fy;
fx = getfather(x);
fy = getfather(y);
if(fx == fy) return;
else
father[fx] = fy;
}
int main()
{
int n,i,j;
char c;
int message;
int first,second;
//cin>>n;
scanf("%d",&n);
for(i = 1;i <= n;i++)
{
// cin>>peple>>message;
scanf("%d%d",&peple,&message);
Init();//初始化
for(j = 1;j <= message;j++)
{
//cin>>c>>first>>second;
getchar();
scanf("%c",&c);
scanf("%d%d",&first,&second);
if(c == 'A')
{
if(getfather(first) == getfather(second))
//cout<<"In the same gang."<<endl;
printf("In the same gang.\n");
else if(getfather(first) == getfather(Max+second))
// cout<<"In different gangs."<<endl;
printf("In different gangs.\n");
else //cout<<"Not sure yet."<<endl;
printf("Not sure yet.\n");
}
else if(c == 'D')
{
Unio(first,Max+second);
Unio(second,Max+first);
}
}
}
return 0;
}