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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;

public class lus {

	private static Parser input = new Parser(System.in);
	private static BufferedOutputStream output = new BufferedOutputStream(
			System.out);

	private static int minA, maxA, minB, maxB;

	public static void main(String[] args) throws IOException {
		int n = input.nextInt();
		for (int i = 0; i < n; i++) {
			boolean result = true;
			int m = input.nextInt();

			minA = minB = Integer.MAX_VALUE;
			maxA = maxB = 0;

			for (int j = 0; j < m; j++) {
				int a1 = input.nextInt();
				int a2 = input.nextInt();
				int b1 = input.nextInt();
				int b2 = input.nextInt();

				if (a1 < minA || a2 > maxA || b1 < minB || b2 > maxB) {
					result = false;
				}

				minA = Math.min(minA, a1);
				maxA = Math.max(maxA, a2);

				minB = Math.min(minB, b1);
				maxB = Math.max(maxB, b2);

				if (a1 == minA && a2 == maxA && b1 == minB && b2 == maxB) {
					result = true;
				}

			}
			output.write((result ? "TAK\n" : "NIE\n").getBytes());
		}
		output.flush();
	}

}

class Parser {
	final private int BUFFER_SIZE = 1 << 16;

	private DataInputStream din;
	private byte[] buffer;
	private int bufferPointer, bytesRead;

	public Parser(InputStream in) {
		din = new DataInputStream(in);
		buffer = new byte[BUFFER_SIZE];
		bufferPointer = bytesRead = 0;
	}

	public int nextInt() throws IOException {
		int ret = 0;
		byte c = read();
		while (c <= ' ')
			c = read();
		boolean neg = c == '-';
		if (neg)
			c = read();
		do {
			ret = ret * 10 + c - '0';
			c = read();
		} while (c > ' ');
		if (neg)
			return -ret;
		return ret;
	}

	private void fillBuffer() throws IOException {
		bytesRead = din.read(buffer, bufferPointer = 0, BUFFER_SIZE);
		if (bytesRead == -1)
			buffer[0] = -1;
	}

	private byte read() throws IOException {
		if (bufferPointer == bytesRead)
			fillBuffer();
		return buffer[bufferPointer++];
	}
}