직사각형 찾기

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

문제

그림 1a, 2a, 3a에 주어진 점 집합을 생각하자. 이 점들만을 꼭짓점으로 사용할 때, 그림 1b, 2b, 3b는 변이 가로·세로 방향인 직사각형을 모두 보여 준다. 그림 4의 점들로는 어떤 직사각형도 만들 수 없다.

주어진 이름 붙은 점 집합에서 변이 가로·세로 방향인(즉 축에 평행한) 직사각형을 모두 찾는 프로그램을 작성하라. 아래 예시는 위 그림들에 대응한다.

입력

입력은 하나 이상의 점 집합으로 이루어지며, 입력의 끝은 숫자 $0$ 하나만 있는 줄로 표시된다.

각 점 집합은 점의 개수 $n$이 적힌 줄로 시작하고, 그 뒤에 점을 설명하는 $n$개의 줄이 이어진다. 각 줄은 점의 이름인 대문자, 공백, 가로 좌표, 공백, 세로 좌표로 이루어진다.

한 집합 안에서 점의 이름은 알파벳 순서로 나타난다. 각 점은 대문자로 이름이 붙으므로 한 집합에는 최대 26개의 점이 있다. 모든 좌표는 50보다 작은 음이 아닌 정수이며, 한 집합 안의 점은 서로 다르다.

출력

각 점 집합마다 Point set 를 출력하고, 이어서 점 집합의 번호와 콜론(:)을 출력한다.

직사각형이 없으면 콜론 뒤에 같은 줄로 No rectangles(앞에 공백 하나 포함)를 출력한다.

직사각형이 있으면 다음 줄부터 나열한다. 각 직사각형 앞에는 공백 하나가 온다. 각 직사각형은 네 꼭짓점의 이름으로 나타내며, 왼쪽 위에서 시작하여 시계 방향으로, 즉 왼쪽 위, 오른쪽 위, 오른쪽 아래, 왼쪽 아래 순서로 적는다(세로 좌표가 클수록 위쪽이다). 직사각형은 한 줄에 열 개씩 출력하되 마지막 줄만 예외로 하며, 알파벳 순서로 나열한다.