지난 <제2회 고려대학교 MatKor Cup: 2023 Winter>에서 현철이는 섯섯시싀 저주에 걸려 원주상에 서로 다른 n개의 점이 있을 때, 해당 n개의 점으로 만들 수 있는 모든 (3n)=6n(n−1)(n−2)개 삼각형에 대해 연구했다. 그러나 모든 것이 삼각형으로 보여 환멸이 난 현철이는 이제 섯섯시싀 저주에서 벗어나고자 섯섯시를 찾아가 어떻게 하면 이 저주에서 벗어날 수 있는지 물었다.
섯섯시: 저기 네가 계속 연구하던 원주상의 n개의 점 A_1,A_2,A_3,⋯,A_n으로 만들 수 있는 모든 m=(3n)개 삼각형들 있지? 그 모든 삼각형에서 다음 행동을 해봐.
현철: 어떤 행동이요?
섯섯시: 삼각형의 세 변 위에서 한 변당 하나씩, 총 세 개의 점을 골라. 이때 변의 양 끝점을 골라도 되고, 그 점들끼리 겹쳐도 돼.
현철: 그래서요?
섯섯시: 그럼 그 점 중 아무 한 점에서 출발해서 나머지 두 점을 모두 거쳐 다시 돌아와.
현철: 이동은 원래 삼각형의 변 위에서 해야 하나요?
섯섯시: 아니, 그냥 원 내부에서 마음대로 움직여도 돼. 다만 이동 중에 악어들이 튀어나올지도 모르지!
현철: 그러니까 모든 가능한 m개의 삼각형에 대해, 세 변 각각에서 한 점씩 고르고, 해당 점들을 한 바퀴 순환하라는 거죠?
섯섯시: 그렇지. 그렇게 모든 삼각형에 대해 순환하면 내가 이 저주를 풀어줄게!
현철: 그런데 악어가 있어요?
섯섯시: 몰라~ 못 믿겠으면 믿지 말든지~
현철이는 최대한 빨리 이 저주에서 벗어나고 싶었기 때문에 각각의 삼각형에 대해 가능한 최적으로 움직이고자 한다. 현철이는 각각의 삼각형에 대해 일정한 속력을 가지고 움직이며, 최적으로 움직인다는 것은 가장 짧은 시간이 소요되게 하는 것이다. 각 삼각형에 대해 최적으로 이동할 때 걸리는 시간을 t_1, t_2, ⋯, t_m라 하자.
여기서 현철이는 섯섯시가 경고한 악어를 거짓말로 생각했지만, 한편으로는 섯섯시싀 삼각형 나라에서 삼각형 피부와 이빨, 그리고 삼각 대가리를 가진 악어가 존재할 수도 있겠다는 걱정이 들었다. 또한 현철이는 악어는 중심에 살 것이라고 생각했으므로, 삼각형의 내부나 변 위에 원의 중심을 포함하는 경우 조심히 걷고, 그렇지 않은 경우 조심하지 않아도 된다 생각해 달린다. 현철이는 걸을 때는 1의 일정한 속력으로 걷는다. 또한, 달릴 때는 삼각형의 가장 긴 변의 길이에 반비례하는 속력으로 달릴 수 있으며, 구체적으로 원의 지름이 가장 긴 변의 길이의 a배라고 하면 해당 삼각형에서는 a의 일정한 속력으로 달린다.
현철이는 잠시 고민하다 다음과 같은 제안을 한다.
현철: 그런데 그러면 제가 m개의 삼각형에 대해 한 번씩 다 하기 번거롭잖아요. 그러지 말고, 모든 삼각형에 대해 이동할 때 t_0=t_1+t_2+⋯+t_m의 시간이 걸리잖아요. 그러면 제가 그냥 이동하는데 거리 t_0의 직선 경로를 걸을게요.
섯섯시: 직선 경로로 바꾸면 편하잖아! 어딜 꼼수를 부리고 있어! 안되겠다. 너는 벌로 거리 t=t_1×t_2×⋯×t_m의 직선 경로를 걸어. 이 직선 위에서는 달릴 생각도 하지 말고!
현철이는 잔머리를 한번 썼다가 t=t_1×t_2×⋯×t_m의 직선을 걷게 생겼다. 현철이가 이 직선을 1의 속력으로 걸을 때 걸리는 시간을 구해보자.
문제에서 원점을 중심으로 하고, 반지름이 r인 원 위에 서로 다른 n개의 점이 주어진다. 이 n개의 점으로 만들 수 있는 m개의 삼각형 각각에 대해 최적으로 이동할 때 삼각형 별로 걸리는 시간을 t_1, t_2, ⋯, t_m이라 할 때, 이들의 곱을 구해보자.
첫 번째 줄에 원 위의 점의 개수 n(3≤n≤5,000)과 원의 반지름의 제곱을 나타내는 정수 r2(1≤r2≤106)이 주어진다.
이후 n개의 줄에 원 위의 점 각각 (x_i,y_i)에 대해 x_i⋅∣x_i∣와 y_i⋅∣y_i∣(x_i2+y_i2=r2, 0≤x_i2,y_i2≤r2)를 나타내는 정수 두 개가 공백으로 구분되어 주어진다.
주어지는 n개의 점은 서로 다르다.
첫 번째 줄에 주어진 점들로 만들 수 있는 각 삼각형들에서의 최적으로 이동할 때 걸리는 시간의 곱을 출력해 보자. 단, 수가 너무 커질 수 있으므로, 답에 ln을 취한 값을 출력한다. 각 삼각형들에서의 최적으로 이동할 때 걸리는 시간의 곱이 t라면 ex=t를 만족하는 x를 출력한다.
정답과의 절대/상대 오차는 10−4까지 허용한다.
x_i⋅∣x_i∣의 절댓값은 x_i2과 같으며, 부호는 x_i의 부호와 같다.