평면 위의 격자점(두 좌표가 모두 정수인 점)들로 이루어진 집합 하나가 주어지며, 이를 패턴이라고 부른다. 또한 평면 위의 다른 격자점 집합들의 모임도 함께 주어진다.
각 집합이 패턴과 닮음인지, 즉 회전(rotation)·평행이동(translation)·대칭이동(reflection)·크기 변환(dilation)을 적절히 조합하여 패턴과 완전히 똑같은 모양으로 만들 수 있는지 판정하려고 한다.
예를 들어 집합 {(0,0),(2,0),(2,1)} 은 집합 {(6,1),(6,5),(4,5)} 과 닮음이지만, 집합 {(4,0),(6,0),(5,−1)} 과는 닮음이 아니다.
다음을 수행하는 프로그램을 작성하라.
첫째 줄에 패턴을 이루는 점의 개수 k (1≤k≤25000)가 주어진다. 이어지는 k개의 줄에는 각 점의 좌표가 공백 하나로 구분된 두 정수로 주어진다. i번째 점의 좌표는 xi와 yi (−20000≤xi,yi≤20000)이다. 패턴을 이루는 점들은 서로 모두 다르다.
그 다음 줄에는 조사할 집합의 개수 n (1≤n≤20)이 주어진다. 이어서 n개의 집합에 대한 정보가 주어진다. 각 집합의 정보는 그 집합에 속한 점의 개수 l (1≤l≤25000)이 적힌 줄로 시작한다. 그 뒤 l개의 줄에 각 점의 좌표 x와 y (−20000≤x,y≤20000)가 공백 하나로 구분된 두 정수로 한 줄에 하나씩 주어진다. 같은 집합에 속한 점들은 서로 모두 다르다.
n개의 줄을 출력한다. 각 줄은 조사한 집합 하나에 대응한다. i번째 줄에는, i번째 집합이 패턴과 닮음이면 TAK(폴란드어로 '예')를, 닮음이 아니면 NIE(폴란드어로 '아니오')를 출력한다.
