섯섯시싀 저주 풀기

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

문제

지난 <제2회 고려대학교 MatKor Cup: 2023 Winter>에서 현철이는 섯섯시싀 저주에 걸려 원주상에 서로 다른 nn개의 점이 있을 때, 해당 nn개의 점으로 만들 수 있는 모든 (n3)=n(n1)(n2)6\binom{n}{3}=\frac{n(n-1)(n-2)}{6}개 삼각형에 대해 연구했다. 그러나 모든 것이 삼각형으로 보여 환멸이 난 현철이는 이제 섯섯시싀 저주에서 벗어나고자 섯섯시를 찾아가 어떻게 하면 이 저주에서 벗어날 수 있는지 물었다.

섯섯시: 저기 네가 계속 연구하던 원주상의 nn개의 점 A_1,A_2,A_3,,A_nA\_1,A\_2,A\_3,\cdots ,A\_n으로 만들 수 있는 모든 m=(n3)m=\binom{n}{3}개 삼각형들 있지? 그 모든 삼각형에서 다음 행동을 해봐.

현철: 어떤 행동이요?

섯섯시: 삼각형의 세 변 위에서 한 변당 하나씩, 총 세 개의 점을 골라. 이때 변의 양 끝점을 골라도 되고, 그 점들끼리 겹쳐도 돼.

현철: 그래서요?

섯섯시: 그럼 그 점 중 아무 한 점에서 출발해서 나머지 두 점을 모두 거쳐 다시 돌아와.

현철: 이동은 원래 삼각형의 변 위에서 해야 하나요?

섯섯시: 아니, 그냥 원 내부에서 마음대로 움직여도 돼. 다만 이동 중에 악어들이 튀어나올지도 모르지!

현철: 그러니까 모든 가능한 mm개의 삼각형에 대해, 세 변 각각에서 한 점씩 고르고, 해당 점들을 한 바퀴 순환하라는 거죠?

섯섯시: 그렇지. 그렇게 모든 삼각형에 대해 순환하면 내가 이 저주를 풀어줄게!

현철: 그런데 악어가 있어요?

섯섯시: 몰라~ 못 믿겠으면 믿지 말든지~

현철이는 최대한 빨리 이 저주에서 벗어나고 싶었기 때문에 각각의 삼각형에 대해 가능한 최적으로 움직이고자 한다. 현철이는 각각의 삼각형에 대해 일정한 속력을 가지고 움직이며, 최적으로 움직인다는 것은 가장 짧은 시간이 소요되게 하는 것이다. 각 삼각형에 대해 최적으로 이동할 때 걸리는 시간을 t_1t\_1, t_2t\_2, \cdots, t_mt\_m라 하자.

여기서 현철이는 섯섯시가 경고한 악어를 거짓말로 생각했지만, 한편으로는 섯섯시싀 삼각형 나라에서 삼각형 피부와 이빨, 그리고 삼각 대가리를 가진 악어가 존재할 수도 있겠다는 걱정이 들었다. 또한 현철이는 악어는 중심에 살 것이라고 생각했으므로, 삼각형의 내부나 변 위에 원의 중심을 포함하는 경우 조심히 걷고, 그렇지 않은 경우 조심하지 않아도 된다 생각해 달린다. 현철이는 걸을 때는 11의 일정한 속력으로 걷는다. 또한, 달릴 때는 삼각형의 가장 긴 변의 길이에 반비례하는 속력으로 달릴 수 있으며, 구체적으로 원의 지름이 가장 긴 변의 길이의 aa배라고 하면 해당 삼각형에서는 aa의 일정한 속력으로 달린다.

현철이는 잠시 고민하다 다음과 같은 제안을 한다.

현철: 그런데 그러면 제가 mm개의 삼각형에 대해 한 번씩 다 하기 번거롭잖아요. 그러지 말고, 모든 삼각형에 대해 이동할 때 t_0=t_1+t_2++t_mt\_0=t\_1+t\_2+\cdots +t\_m의 시간이 걸리잖아요. 그러면 제가 그냥 이동하는데 거리 t_0t\_0의 직선 경로를 걸을게요.

섯섯시: 직선 경로로 바꾸면 편하잖아! 어딜 꼼수를 부리고 있어! 안되겠다. 너는 벌로 거리 t=t_1×t_2××t_mt=t\_1\times t\_2\times\cdots\times t\_m의 직선 경로를 걸어. 이 직선 위에서는 달릴 생각도 하지 말고!

현철이는 잔머리를 한번 썼다가 t=t_1×t_2××t_mt=t\_1\times t\_2\times\cdots\times t\_m의 직선을 걷게 생겼다. 현철이가 이 직선을 11의 속력으로 걸을 때 걸리는 시간을 구해보자.

문제에서 원점을 중심으로 하고, 반지름이 rr인 원 위에 서로 다른 nn개의 점이 주어진다. 이 nn개의 점으로 만들 수 있는 mm개의 삼각형 각각에 대해 최적으로 이동할 때 삼각형 별로 걸리는 시간을 t_1t\_1, t_2t\_2, \cdots, t_mt\_m이라 할 때, 이들의 곱을 구해보자.

입력

첫 번째 줄에 원 위의 점의 개수 n(3n5,000)n(3\le n \le 5\\,000)과 원의 반지름의 제곱을 나타내는 정수 r2(1r2106)r^2(1\le r^2 \le 10^6)이 주어진다.

이후 nn개의 줄에 원 위의 점 각각 (x_i,y_i)(x\_i, y\_i)에 대해 x_ix_ix\_i\cdot\lvert x\_i\rverty_iy_i(x_i2+y_i2=r2y\_i\cdot\lvert y\_i\rvert(x\_i^2+y\_i^2 = r^2, 0x_i2,y_i2r2)0\le x\_i^2, y\_i^2 \le r^2)를 나타내는 정수 두 개가 공백으로 구분되어 주어진다.

주어지는 nn개의 점은 서로 다르다.

출력

첫 번째 줄에 주어진 점들로 만들 수 있는 각 삼각형들에서의 최적으로 이동할 때 걸리는 시간의 곱을 출력해 보자. 단, 수가 너무 커질 수 있으므로, 답에 ln\ln을 취한 값을 출력한다. 각 삼각형들에서의 최적으로 이동할 때 걸리는 시간의 곱이 tt라면 ex=te^x=t를 만족하는 xx를 출력한다.

정답과의 절대/상대 오차는 10410^{-4}까지 허용한다.

힌트

x_ix_ix\_i\cdot\lvert x\_i\rvert의 절댓값은 x_i2x\_i^2과 같으며, 부호는 x_ix\_i의 부호와 같다.