너무 볼록하지 않은 껍질

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

못과 고무줄. 기하 선생님들의 자녀로만 이루어진 한 무리의 아이들이 즐기는 놀이의, 그 이름다운 이름입니다. 아이들은 나무판 위에 못 여러 개를 아무 위치에나 박습니다. 그런 다음 못 하나를 원점(Origin) 으로 정하고, 고무줄 $B$개를 준비합니다. 목표는 이 $B$개의 고무줄로 못들을 감싸되 다음 조건을 모두 만족시키는 것입니다.

  1. 각 고무줄은 못들의 부분집합을 감싼다.
  2. 모든 못은 어떤 감싸기(wrapping) 안에 들어 있어야 한다.
  3. 감싸기들은 서로 겹치지 않는다. 단, 모든 고무줄이 함께 닿는 원점 못에서만은 예외이다.
  4. 각 고무줄이 이루는 감싸기는 꼭짓점이 최소 세 개인 볼록 다각형이어야 한다.
  5. 감싸기들이 덮는 전체 넓이가, 못을 감싸는 가능한 모든 방법 중에서 최소여야 한다.

그림 1은 이 게임의 한 예시를 보여 줍니다.

그림 1

그림 1: 못 19개와 고무줄 2개로 이루어진 게임

입력

프로그램은 여러 개의 게임을 처리해야 합니다. 각 게임 설명은 두 정수 $B$와 $N$이 담긴 줄로 시작합니다. 각각 고무줄의 개수와 못의 개수를 뜻하며, $2 \le B \le 50$이고 $2B+1 \le N \le 101$입니다. 이어지는 $N$개의 줄은 못의 위치를 나타내며, 각 줄에 두 정수 $X$와 $Y$가 있습니다($-10000 \le X, Y \le 10000$). 원점은 입력의 첫 번째 못입니다. 입력의 끝은 $B = N = 0$으로 표시됩니다.

입력의 모든 게임에서 다음이 성립합니다.

  • 같은 위치에 있는 두 못은 없다.
  • 한 직선 위에 있는 세 못은 없다.
  • 원점 못은 전체 못들의 볼록 껍질에 속하지 않는다. 즉, 고무줄 하나로 모든 못을 감싸면 그 고무줄은 원점 못에 닿지 않으며, 원점은 볼록 껍질의 내부에 있다.

출력

각 게임마다, 감싸기들이 덮는 최소 전체 넓이를 한 줄에 출력합니다. 넓이는 소수점 아래 두 자리까지의 실수로 출력하며, 마지막 자리는 반올림합니다. 반올림 차이가 결과에 영향을 주는 입력은 주어지지 않습니다.