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
64
#include<stdio.h>
#include<stdlib.h>

using namespace std;

class Offert {
	int w1, w2, h1, h2;
public:
	void read() {
		scanf("%d %d %d %d",&w1,&w2,&h1,&h2);
	}
	
	void max(const Offert& o) {
		if(o.w1<w1) w1=o.w1;
		if(o.w2>w2) w2=o.w2;
		if(o.h1<h1) h1=o.h1;
		if(o.h2>h2) h2=o.h2;
	}
	
	bool in(const Offert& o) {
		return w1<=o.w1 && w2>=o.w2 && h1<=o.h1 && h2>=o.h2;
	}
	
	void reset() {
		w1=1000000000;
		w2=0;
		h1=1000000000;
		h2=0;
	}
	
	bool eq(const Offert& o) {
		return w1==o.w1 && w2==o.w2 && h1==o.h1 && h2==o.h2;
	}
};

int main() {
	int t;
	scanf("%d",&t);
	Offert* d=new Offert[100002];
	
	for(int ti=0;ti<t;++ti) {
		int n;
		Offert best;
		best.reset();
		bool result=false;
		
		scanf("%d",&n);
		
		for(int i=0;i<n;++i) {
			d[i].read();
			best.max(d[i]);
		}
		for(int i=0;i<n;++i) {
			if(d[i].eq(best)) {
				result=true;
				break;
			}
		}
		
		printf("%s\n",result?"TAK":"NIE");
	}

	return 0;
}