분할의 성곽
Time Limit: 2 SecMemory Limit: 1024 MiB

순례자여, 오래된 도시 소멜롯을 보라.
바람의 분기점에 세워진 이 도시는, 한때 에레워드 경에 의해 평화롭게 다스려졌다.
그러나 그의 죽음과 함께, 두 아들 베네딕트와 테오발트는 도시를 나누기로 결심하였다.

그들이 남긴 유언은 단순하지만 무겁다.

“탑을 잇되, 서로 마주하지 말라.
길을 만들되, 그 사이에 외로운 탑이 없어야 한다.”

도시에 박힌 개의 감시탑을 이용하여, 두 형제는 두 개의 성곽을 세우려 한다. 그 성곽은 도시를 둘로 갈라 서로의 영역을 정의한다.
성곽은 다음의 네 가지 조건을 모두 만족해야 한다.

  1. 성곽은 감시탑과 감시탑을 잇는 직선 선분들로 이루어진 닫힌 다각형이다. 모든 꼭짓점은 오직 감시탑이어야 한다.
  2. 두 성곽은 서로 만나지 않는다 경계도, 내부도, 단 하나의 점조차 공유하지 않는다.
  3. 개의 감시탑 모두는 정확히 하나의 성곽의 꼭짓점이 된다. 어느 탑도 성곽 밖에 고립되지 않는다.
  4. 두 성곽이 둘러싼 영역은 볼록해야 한다. 탑에서 바라볼 때, 도시 내부의 모든 지점을 거침없이 볼 수 있어야 한다.

두 형제는 서로가 억울함을 느끼지 않도록 두 성곽의 넓이 차이가 가능한 한 작기를 바란다.
성곽을 나눌 수 있는 모든 방법 중, 두 영역의 넓이 차이의 최소값을 구하라.
만약 규칙을 어기지 않고 도시를 나눌 수 있는 방법이 없다면, -1을 출력하라.

입력

첫 줄에 감시탑의 수 이 주어진다.
다음 개의 줄에는 각 감시탑의 좌표 가 주어진다.
다음이 보장된다.

  • 서로 다른 두 감시탑은 같은 위치에 있지 않다.
  • 어떤 세 감시탑도 한 직선 위에 놓여 있지 않다.

출력

규칙을 만족하는 두 성곽이 존재한다면, 두 영역의 넓이 차이의 최솟값을 소수점 이하 6자리 이상으로 출력한다.
규칙을 만족하는 성곽 분할이 없다면 -1을 출력한다.

Example Input 1
6
1 1
2 4
3 9
4 16
5 25
6 36
Example Output 1
0.000000
Language-Specific Restrictions