확률 실험

원 위의 점 중 세 점을 골라 만들 수 있는 예각 삼각형의 개수를 셉니다.

보통6투 포인터조합론기하아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

컴퓨터 시뮬레이션으로 확률을 실험하는 방법은 수학과 통계에서 널리 쓰인다. 큰 정사각형 안에 원을 하나 그려 두고 무작위로 점을 아주 많이 찍은 다음, 원 안에 들어간 점의 비율을 보면 무리수 π\pi를 근사할 수 있다.

이번에는 다른 실험을 한다. 원의 둘레 위에 점 세 개를 무작위로 찍었을 때, 세 점이 이루는 삼각형이 예각삼각형일 확률을 생각해 보자. 예각삼각형은 세 내각이 모두 90도보다 작은 삼각형이다. 이 확률은 간단한 계산으로 0.250.25임을 알 수 있다. 시뮬레이션 결과가 이 값에 가까운지 확인하려고 한다. 원 위의 점 NN개가 주어질 때, 이 중 세 점을 골라 만들 수 있는 예각삼각형이 몇 개인지 세어라. 같은 삼각형은 한 번만 센다. 삼각형 abc를 셌으면 bca, cab, cba는 다시 세지 않는다.

입력

첫째 줄에 점의 개수 NN과 원의 반지름 RR이 주어진다. (1N2000001 \le N \le 200000, 1R1000001 \le R \le 100000)

원의 중심은 원점이다. 원 위의 점 PPxx축의 양의 방향에서 시계 반대 방향으로 θ\theta도 떨어져 있을 때, 이 점의 위치를 ϕ=θ×1000\phi = \theta \times 1000으로 나타낸다. 즉 PP의 좌표는 (Rcosθ, Rsinθ)(R\cos\theta,\ R\sin\theta)이다.

둘째 줄부터 NN개의 줄에 각 점의 ϕ\phi 값이 한 줄에 하나씩 주어지며, ϕ\phi가 증가하는 순서로 주어진다. ϕ\phi는 모두 정수이고 (0ϕ<3600000 \le \phi < 360000), NN개의 값은 서로 다르다.

출력

예각삼각형의 개수를 출력한다.

힌트

계산 과정의 값과 답이 32비트 정수의 범위를 넘을 수 있으므로 64비트 정수형(C++에서는 long long)을 써야 한다.