시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB261150.000%

문제

최근에 개장한 동물원에 새로 사자 우리를 신축할 계획이다. 우리는 직각 다각형 모양을 이룬다. 직각 다각형이라는 것은 모든 변이 x축이나 y축에 평행 또는 일치하는 단순 다각형을 말한다. 한 변은 유리로 만들어 속이 들여다보이도록 하고, 나머지는 모두 콘크리트로 만들 예정이다. 이는 여름에는 사자들이 우리 바깥에 있어서 관람하는데 지장이 없지만, 겨울에는 사자가 우리 안에 있어서 유리벽면을 통하여 관람할 수 있도록 하기 위함이다. 아래 그림에서 실선은 콘크리트로, 그리고 점선은 유리로 설치한 변을 나타낸다.

사자 우리를 나타내는 직각 다각형과 유리로 설치한 한 변이 주어질 때, 유리변의 어느 위치에서든지 들여다볼 수 있는 내부 영역을 찾는 프로그램을 작성하시오. 물론 관람자가 유리 벽면을 따라 움직이면 더 많은 영역을 볼 수 있겠지만, 어느 위치에서든지 볼 수 있는 영역을 찾는 것임에 유의한다. 우리 내부에 장애물은 없다고 가정한다.

입력

첫째 줄에 우리를 나타내는 직각 다각형의 꼭짓점의 수 n(4 ≤ n ≤ 10,000)이 주어진다. 둘째 줄부터 마지막 줄까지 개의 줄에는 한 줄에 하나씩 사자 우리를 나타내는 직각 다각형의 꼭짓점의 x, y좌표가 반시계방향으로 주어진다. 유리로 설치한 변은 입력된 첫째 점과 둘째 점을 잇는 변이다. 꼭짓점의 좌표는 모두 정수이고 절댓값이 10,000을 넘지 않는다. 입력되는 정수들 사이에는 빈칸이 하나 이상 있다.

출력

유리 벽면의 어느 위치에서든 보이는 내부 영역을 나타내는 다각형의 둘레의 길이를 소수 둘째 자리까지 반올림하여 출력한다. 0도 반드시 출력해야 한다. (ex. 25.00, 8.70 등)

예제 입력 1

14
2 2
5 2
5 1
10 1
10 3
7 3
7 4
11 4
11 8
6 8
6 6
1 6
1 4
2 4

예제 출력 1

32.49