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
// Karol Kosinski
#include <cstdio>
#include <algorithm>
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define MX 1234567890
using namespace std;

int W[123456][4];

bool check(int M[], int k) {
        FOR(j,0,4) if(M[j] != W[k][j]) return false;
        return true;
}

bool testcase() {
        int n; scanf("%d", &n);
        int M[] = { MX, 0, MX, 0 };
        FOR(i,0,n) {
                FOR(j,0,4) scanf("%d", &W[i][j]);
                M[0] = min( M[0], W[i][0] );
                M[1] = max( M[1], W[i][1] );
                M[2] = min( M[2], W[i][2] );
                M[3] = max( M[3], W[i][3] );
        }
        FOR(i,0,n) if(check(M, i)) return true;
        return false;
}

int main() {
        int z; scanf("%d", &z);
        while(z--) printf(testcase() ? "TAK\n" : "NIE\n");
        return 0;
}