#P5052. 「FJSC2018TGD4T2」视线

「FJSC2018TGD4T2」视线

Description

二维平面上,原点处有一个半径为R的圆。平面上有 NN 个点,保证没有点在圆上或圆内,保证任意两个点不与圆相切,求互相可以看见的点的对数。

看见:对于两个点 (x1,y1)(x1, y1)(x2,y2)(x2, y2) ,他们的线段与圆没有交点。

计算对数时,(a,b)(a,b)(b,a)(b,a) 视为相同,且 (a,a)(a,a) 不算点对。

Input Format

从文件 b.in 读入数据

第一行,两个整数 N,RN,R

22 ~ N+1N+1 行,每行两个整数,表示点的坐标。

Output Format

向文件 b.out 输出数据

一行,一个整数,表示能互相看见的点的对数。

Sample

样例输入1

4 5
0 10
0 -10
10 0
-10 0

样例输出1

4

样例1解释

有一个半径为 55 的圆。

总共有 C42=6C_4^2 = 6 个对数。其中有两个点对不满足“看见”:

(10,0)(-10, 0)(10,0)(10, 0)

(0,10)(0, 10)(0,10)(0, -10)

Hint

对于 40%40\% 的数据,N1000N \le 1000

对于 100%100\% 的数据, N50000N \le 50000

点的坐标为[106,106][-10^6, 10^6]内的整数。

R的取值为[1,106][1, 10^6]内的整数。