#P3418. [POI 2005] PUN-Points

[POI 2005] PUN-Points

Description

A set of grid points in the plane (points whose Cartesian coordinates are both integers), called the pattern, is given, as well as several other sets of grid points. We want to determine which of these sets are similar to the pattern, i.e., which can be transformed by rotations, translations, reflections, and dilations so that they become identical to the pattern.

For example, the set of points {(0, 0), (2, 0), (2, 1)} is similar to the set {(6, 1), (6, 5), (4, 5)}, but it is not similar to the set {(4, 0), (6, 0), (5, −1)}.

Write a program that:

  • reads the description of the pattern and the family of candidate sets of points from standard input,
  • determines which of the candidate sets of points are similar to the pattern,
  • writes the results to standard output.

Description

Input Format

In the first line of the standard input there is a single integer kk (1k25 0001\le k\le 25\ 000) — the number of points in the pattern. In the following kk lines there are pairs of integers, separated by single spaces. The (i+1)(i+1)-st line contains the coordinates of the ii-th point belonging to the pattern: xix_{i} and yiy_{i} (20 000xi,yi20 000-20\ 000\le x_{i},y_{i} \le 20\ 000). The points forming the pattern are pairwise different.

In the next line there is the number of sets to be investigated: nn (1n201\le n\le 20).

Next, there are nn descriptions of these sets. The description of each set begins with a line containing a single integer ll — the number of points belonging to that particular set (1l25 0001\le l\le 25\ 000). These points are described in the following lines, one point per line. The description of a point consists of two integers separated by a single space — its coordinates xx and yy (20 000x,y20 000-20\ 000\le x,y\le 20\ 000). The points within the same set are pairwise different.

Output Format

Your program should write to the standard output nn lines — one for each of the investigated sets of points. The ii-th line should contain the word TAK (i.e., yes in Polish) if the ii-th set of points is similar to the pattern, or the word NIE (i.e., no in Polish) if it is not.

3
0 0
2 0
2 1
2
3
4 1
6 5
4 5
3
4 0
6 0
5 -1
TAK
NIE

Hint

Translated by ChatGPT 5