#include <bits/stdc++.h>
using namespace std;
const int mx = 1e6+10;
long long velA[mx], velB[mx];
vector < int > vecA, vecB;
void clr(){
for(auto i : vecA){
velA[i] = 0;
}
for(auto i : vecB){
velB[i] = 0;
}
vecA.clear();
vecB.clear();
}
bool RES(){
int n;
scanf("%d",&n);
clr();
long long sumA = 0, sumB = 0;
for(int i=0; i<n; i++){
int l, a, b;
scanf("%d %d %d",&l,&a,&b);
velA[a] += l;
velB[b] += l;
sumA += a*l;
sumB += b*l;
vecA.push_back(a);
vecB.push_back(b);
}
if(sumA != sumB) return false;
sort(vecA.begin(), vecA.end());
vecA.erase(unique(vecA.begin(), vecA.end()), vecA.end());
sort(vecB.begin(), vecB.end());
vecB.erase(unique(vecB.begin(), vecB.end()), vecB.end());
int iA = vecA.size()-1, iB = vecB.size() - 1;
sumA = 0;
while(iA >= 0 or iB >= 0){
long long rV = min(velA[vecA[iA]], velB[vecB[iB]]), rT = vecA[iA] - vecB[iB];
velA[vecA[iA]] -= rV;
velB[vecB[iB]] -= rV;
sumA += rT * rV;
if(sumA < 0) return false;
if(velA[vecA[iA]] <= 0){
iA --;
}
if(velB[vecB[iB]] <= 0){
iB --;
}
}
return sumA == 0;
}
int main(){
int T;
scanf("%d",&T);
while(T--){
if(RES()) puts("TAK");
else puts("NIE");
}
return 0;
}