The Stig의 정체가 밝혀지면서, 인기 자동차 프로그램 Top Gear는 그를 대신할 침착하고 정체를 숨긴 새 드라이버가 급히 필요해졌고, 그 자리를 당신이 맡게 되었습니다. 하지만 당신은 빠르게 달리는 것을, 특히 구불구불한 트랙에서 달리는 것을 별로 좋아하지 않습니다. 이를 덜어 주려고 알고리즘을 잘 아는 친구가, 꺾는 양(회전량)이 가장 적은 왕복 경로를 계산해 보라고 제안했습니다.
트랙은 서로 겹치지 않는 곧은 도로(간선)들로 이루어져 있고, 각 교차점(정점)에서는 항상 정확히 $2$개 또는 $4$개의 도로가 뻗어 나옵니다. 왕복 경로는 오일러 회로여야 합니다. 즉 모든 도로를 정확히 한 번씩 지나 출발한 곳으로 되돌아와야 합니다(이러한 회로는 입력 그래프에 항상 존재함이 보장됩니다). 총 회전량은 각 정점에서의 회전량을 모두 더한 값이며, 정점을 곧게(직진으로) 통과하면 그 회전량은 $0$입니다. 도로는 어느 방향으로든 달릴 수 있습니다.
한 정점에서 어떤 도로로 들어와 다른 도로로 나갈 때의 회전량은 진행 방향이 바뀐 각도(라디안)의 절댓값입니다. 두 도로가 이루는 각을 $\theta \in [0, \pi]$라 하면 회전량은 $\pi - \theta$이며, 직진($\theta = \pi$)이면 $0$, 완전히 되돌아오는 U턴($\theta = 0$)이면 $\pi$입니다. 차수가 $4$인 정점은 회로가 두 번 지나가므로, 그 정점의 네 도로를 두 쌍으로 어떻게 짝지을지 고를 수 있습니다. 다만 전체 경로가 하나의 오일러 회로를 이루어야 한다는 조건은 지켜야 합니다.
첫째 줄에 정점의 수 $3 \leq N \leq 10000$과 간선의 수 $N \leq M \leq 2N$이 공백으로 구분되어 주어집니다.
다음 $N$개의 줄에 각 정점의 $x$, $y$ 좌표가 순서대로 주어집니다($0 \leq x, y \leq 10000$). 모든 정점의 좌표 쌍은 서로 다릅니다.
다음 $M$개의 줄에 두 정수 $i$와 $j$가 공백으로 구분되어 주어지며, 이는 정점 $i$와 정점 $j$를 잇는 간선을 뜻합니다. 정점 번호는 $0$부터 시작합니다.
오일러 회로를 완성하는 데 필요한 최소 총 회전량을 라디안 단위로, 소수점 아래 여섯 자리까지 반올림하여 출력합니다.

그림: 예제 2의 트랙을 나타낸 그림.