자물쇠 장인

시간 제한1초메모리 제한128 MB

문제

평평한 조각을 맞물려 만든 자물쇠가 있다. 조각은 모두 축에 평행한 다각형이고, 변은 가로 아니면 세로다. 자물쇠를 여는 방법은 문 표면 위에서 조각을 밀어 서로 떼어내는 것뿐이다.

한 번에 조각 하나를 골라 원하는 방향으로 밀 수 있다. 미는 동안 그 조각이 다른 조각과 넓이가 양수인 영역을 함께 차지하면 안 된다. 경계끼리 닿는 것은 겹치는 것이 아니므로 허용한다. 조각을 회전할 수는 없다.

여러 번 미는 과정을 거쳐 어떤 조각과 나머지 조각 전체 사이에 직선 하나를 그을 수 있는 배치에 도달할 수 있으면, 그 조각은 분리 가능하다. 직선을 그을 수 있다는 것은 그 조각이 직선의 한쪽에 있고 나머지 조각이 모두 반대쪽에 있다는 뜻이다. 미는 조각을 하나로 제한하지는 않는다. 다른 조각을 먼저 치워 길을 낸 다음 목표 조각을 빼내도 된다.

자물쇠 배치가 주어지면 분리 가능한 조각의 개수를 구하라. 조각마다 주어진 배치에서 시작해 따로 판정한다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 자물쇠를 이루는 조각의 개수 $N$이 주어진다. 이어지는 $N$개의 줄에는 조각 하나가 다음 형식으로 주어진다.

c x1 y1 ... xc yc

$c$는 조각의 꼭짓점 개수이고, $(x_i, y_i)$는 꼭짓점의 좌표를 시계 방향으로 나열한 것이다. 각 조각의 변은 모두 가로 또는 세로이고, 두 방향이 번갈아 나온다. 두 조각이 넓이가 양수인 영역을 함께 차지하는 일은 없다. 한 테스트 케이스의 조각은 2개 또는 3개이고, 한 테스트 케이스에 나오는 꼭짓점은 모두 합쳐 30개 이하다. 좌표는 모두 0 이상 1000 이하의 정수다.

조각이 0개인 테스트 케이스가 입력의 끝을 알리며, 이 케이스는 처리하지 않는다.

출력

각 테스트 케이스마다 분리 가능한 조각의 개수를 한 줄에 출력한다.