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
//PA2014
#include<cstdio>
#include<algorithm>

using namespace std;

struct powi{
    int w1,w2,h1,h2;
    bool pelne;
    powi(int _w1, int _w2, int _h1, int _h2, bool _pelne=true) {w1=_w1; w2=_w2; h1=_h1; h2=_h2; pelne=_pelne;}
};

powi operator+ (powi a, powi b)
{
    //pow odp;
//    printf("%d %d %d %d; %d %d %d %d;\n",a.w1 ,a.w2 , a.h1, a.h2, b.w1, b.w2, b.h1, b.h2);
    bool jak=false;
    if(a.w1<=b.w1 && b.w2<=a.w2 && a.h1<=b.h1 && b.h2<=a.h2)
    {
        if(a.pelne==true)
            jak=true;
//        printf("T\n");
    }
    if(b.w1<=a.w1 && a.w2<=b.w2 && b.h1<=a.h1 && a.h2<=b.h2)
    {
        jak=true;
//        printf("T\n");
    }
    return powi(min(a.w1,b.w1),max(a.w2,b.w2),min(a.h1,b.h1),max(a.h2,b.h2),jak);
}

bool proc()
{
    int n;
    int x1,x2,y1,y2;
    scanf("%d", &n);
    scanf("%d %d %d %d",&x1,&x2,&y1,&y2);
    powi cal(x1,x2,y1,y2);
    for(int i=1;i<n;i++)
    {
        scanf("%d %d %d %d",&x1,&x2,&y1,&y2);
        powi a(x1,x2,y1,y2);
        cal=cal+a;

    }
    return cal.pelne;
}


int main()
{
    int t;
    scanf("%d",&t);
    for(int i=0; i<t;i++)
    {
        if(proc()==true)
            printf("TAK\n");
        else
            printf("NIE\n");
    }

    return 0;
}