지그재그

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

문제

평면 위에 여러 개의 점이 주어진다. 이 점들을 모두 지나는 지그재그 선을 찾으려고 한다.

지그재그 선은 여러 개의 선분이 끝점에서 차례로 이어져 만들어지는 꺾은선(폴리라인)이다. 지그재그 선은 다음 규칙을 만족해야 한다.

  • 지그재그 선의 각 선분은 주어진 점을 두 개 이상 지나야 한다.
  • 주어진 모든 점은 지그재그 선 위에 놓여야 한다. 즉, 각 점은 적어도 하나의 선분 위에 있어야 한다.

선이 꺾이는 지점을 전환점(turning point) 이라고 한다. 전환점은 주어진 점 위에 있을 수도 있고, 아닐 수도 있다. 선분이 $s$개인 지그재그 선의 전환점은 $s - 1$개이다.

우리는 다음 두 조건을 이 우선순위대로 만족하는 지그재그 선을 찾는다.

  1. 전환점의 개수가 가장 적어야 한다.
  2. 전환점의 개수가 같다면, 지그재그 선의 전체 길이가 가장 짧아야 한다.

각 선분의 길이는 두 끝점 사이의 유클리드 거리이며, 지그재그 선의 길이는 모든 선분 길이의 합이다. 모든 선분이 점을 두 개 이상 지나야 하므로, 때로는 더 긴 선이 정답이 되기도 한다.

점들이 주어졌을 때, 이러한 지그재그 선의 전환점 개수와 길이를 구하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스의 첫째 줄에는 점의 개수 $n$이 주어진다. 이어지는 $n$개의 줄에는 각 점의 좌표 $x$와 $y$가 공백으로 구분되어 주어진다.

모든 좌표는 음이 아닌 정수이다. $n$은 $2 \le n \le 10$을 만족하는 자연수이고, $x$와 $y$는 $0 \le x, y \le 10$인 정수이다. 점의 입력 순서는 의미가 없으며, 주어지는 점은 모두 서로 다르다.

입력의 마지막 줄에는 $0$이 주어지며, 이는 입력의 끝을 의미한다.

출력

각 테스트 케이스마다 한 줄에, 가장 적은 전환점을 가지면서 그중 가장 짧은 지그재그 선의 전환점의 개수길이를 공백으로 구분하여 출력한다.

전환점의 개수는 정수로 출력하고, 길이는 소수점 아래 여섯 자리까지 반올림하여 출력한다.

가장 적은 전환점의 개수는 최대 $4$개이며, 따라서 선분의 개수는 최대 $5$개이다.