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

struct lustro {
    int minw;
    int maxw;
    int minh;
    int maxh;
};

int main() {
    int t, i;
    scanf("%d", &t);
    for (i=0; i<t; ++i) {
        int n, i;
        int major = 1;
        struct lustro span;
        scanf("%d", &n);
        scanf("%d %d %d %d", &(span.minw), &(span.maxw), 
                &(span.minh), &(span.maxh));
        n--;
        for (i=0; i<n; ++i) {
            struct lustro l;
            scanf("%d %d %d %d", &(l.minw), &(l.maxw), &(l.minh), &(l.maxh));
            int comp = 0;
            if (l.minw<span.minw) {
                comp++;
                span.minw = l.minw;
            }
            if (l.maxw>span.maxw) {
                comp++;
                span.maxw = l.maxw;
            }
            if (l.minh<span.minh) {
                comp++;
                span.minh = l.minh;
            }
            if (l.maxh>span.maxh) {
                comp++;
                span.maxh = l.maxh;
            }
            if (comp>0) {
                major = 0;
            }
            if (major==0) {
                /* czy l majoryzuje? */
                if (l.minw<=span.minw && l.maxw>=span.maxw
                        && l.minh<=span.minh && l.maxh>=span.maxh) {
                    major = 1;
                }
            }
        }
        if (major == 1) {
            printf("TAK\n");
        } else {
            printf("NIE\n");
        }
    }
    return 0;
}