1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<queue>
#include<string>
#include<stack>
#include<list>
#include<vector>
#include<math.h>
#include<iomanip>
#include<fstream>
#include<cstdlib>
#include<ctime>
#include<map>
#include<set>
#include<climits>
using namespace std;
int n;
struct lustro
{
	int mw,mh,xw,xh;
}A[100050];
int maxh,maxw,minh,minw;
istream& operator>> (istream &s,lustro &a)
{
	s>>a.mw>>a.xw>>a.mh>>a.xh;
	maxh=max(maxh,a.xh);
	maxw=max(maxw,a.xw);
	minh=min(minh,a.mh);
	minw=min(minw,a.mw);
	return s;
}
void wczytaj()
{
	cin>>n;
	maxh=maxw=0;
	minh=minw=INT_MAX;
	for(int i=0;i<n;i++)
	{
		cin>>A[i];
	}
	for(int i=0;i<n;i++)
	{
		lustro a=A[i];
		if(a.mh==minh&&a.xw==maxw&&a.mw==minw&&a.xh==maxh)
		{
			cout<<"TAK"<<endl;
			return;
		}
	}
	cout<<"NIE"<<endl;
}
int main()
{
 	int z;
	cin>>z;
	for(int v=0;v<z;v++)
	{
		wczytaj();
	}
	return 0;
}