너무 볼록하지 않은 껍질
시간 제한1초메모리 제한128 MB
원점 못을 공통으로 공유하는 B개의 볼록 다각형 그룹으로 못을 나누어 덮인 넓이의 합이 최소가 되도록 하는 값을 구한다.
문제
못과 고무줄. 기하 선생님들의 자녀로만 이루어진 한 무리의 아이들이 즐기는 놀이의, 그 이름다운 이름입니다. 아이들은 나무판 위에 못 여러 개를 아무 위치에나 박습니다. 그런 다음 못 하나를 원점(Origin) 으로 정하고, 고무줄 개를 준비합니다. 목표는 이 개의 고무줄로 못들을 감싸되 다음 조건을 모두 만족시키는 것입니다.
- 각 고무줄은 못들의 부분집합을 감싼다.
- 모든 못은 어떤 감싸기(wrapping) 안에 들어 있어야 한다.
- 감싸기들은 서로 겹치지 않는다. 단, 모든 고무줄이 함께 닿는 원점 못에서만은 예외이다.
- 각 고무줄이 이루는 감싸기는 꼭짓점이 최소 세 개인 볼록 다각형이어야 한다.
- 감싸기들이 덮는 전체 넓이가, 못을 감싸는 가능한 모든 방법 중에서 최소여야 한다.
그림 1은 이 게임의 한 예시를 보여 줍니다.

그림 1: 못 19개와 고무줄 2개로 이루어진 게임
입력
프로그램은 여러 개의 게임을 처리해야 합니다. 각 게임 설명은 두 정수 와 이 담긴 줄로 시작합니다. 각각 고무줄의 개수와 못의 개수를 뜻하며, 이고 입니다. 이어지는 개의 줄은 못의 위치를 나타내며, 각 줄에 두 정수 와 가 있습니다(). 원점은 입력의 첫 번째 못입니다. 입력의 끝은 으로 표시됩니다.
입력의 모든 게임에서 다음이 성립합니다.
- 같은 위치에 있는 두 못은 없다.
- 한 직선 위에 있는 세 못은 없다.
- 원점 못은 전체 못들의 볼록 껍질에 속하지 않는다. 즉, 고무줄 하나로 모든 못을 감싸면 그 고무줄은 원점 못에 닿지 않으며, 원점은 볼록 껍질의 내부에 있다.
출력
각 게임마다, 감싸기들이 덮는 최소 전체 넓이를 한 줄에 출력합니다. 넓이는 소수점 아래 두 자리까지의 실수로 출력하며, 마지막 자리는 반올림합니다. 반올림 차이가 결과에 영향을 주는 입력은 주어지지 않습니다.