#include <bits/stdc++.h>
using namespace std;
vector <int> krawedzie[1000007];
bool vis[1000007];
int ilo=0;
void DFS(int x)
{
vis[x]=1;
ilo++;
for(int j=0;j<krawedzie[x].size();j++)
{
if(vis[krawedzie[x][j]]!=1)
{
DFS(krawedzie[x][j]);
}
}
}
int main()
{
int t;
scanf("%d",&t);
for(int i=0;i<t;i++)
{
ilo=0;
int n;
int m;
scanf("%d%d",&n,&m);
for(int j=0;j<m;j++)
{
int a,b;
scanf("%d%d",&a,&b);
krawedzie[a].push_back(b);
krawedzie[b].push_back(a);
}
DFS(1);
if(ilo==n)
{
printf("TAK\n");
}
else
{
printf("NIE\n");
}
for(int j=1;j<=n;j++)
{
vis[j]=0;
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZlY3RvciA8aW50PiBrcmF3ZWR6aWVbMTAwMDAwN107CmJvb2wgdmlzWzEwMDAwMDddOwppbnQgaWxvPTA7CnZvaWQgREZTKGludCB4KQp7Cgl2aXNbeF09MTsKCWlsbysrOwoJZm9yKGludCBqPTA7ajxrcmF3ZWR6aWVbeF0uc2l6ZSgpO2orKykKCXsKCQlpZih2aXNba3Jhd2VkemllW3hdW2pdXSE9MSkKCQl7CgkJCURGUyhrcmF3ZWR6aWVbeF1bal0pOwoJCX0KCX0KfQppbnQgbWFpbigpCnsKCWludCB0OwoJc2NhbmYoIiVkIiwmdCk7Cglmb3IoaW50IGk9MDtpPHQ7aSsrKQoJewoJCWlsbz0wOwoJCWludCBuOwoJCWludCBtOwoJCXNjYW5mKCIlZCVkIiwmbiwmbSk7CgkJZm9yKGludCBqPTA7ajxtO2orKykKCQl7CgkJCWludCBhLGI7CgkJCXNjYW5mKCIlZCVkIiwmYSwmYik7CgkJCWtyYXdlZHppZVthXS5wdXNoX2JhY2soYik7CgkJCWtyYXdlZHppZVtiXS5wdXNoX2JhY2soYSk7CgkJfQoJCURGUygxKTsKCQlpZihpbG89PW4pCgkJewoJCQlwcmludGYoIlRBS1xuIik7CgkJfQoJCWVsc2UKCQl7CgkJCXByaW50ZigiTklFXG4iKTsKCQl9CgkJZm9yKGludCBqPTE7ajw9bjtqKyspCgkJewoJCQl2aXNbal09MDsKCQl9Cgl9Cn0=