#arc0224. [arc022_4]スプリンクラー

[arc022_4]スプリンクラー

问题文

高桥君正在管理着世界上最大的花园之一。在这个花园里,只有一朵世界上最美丽的花盛开着。我们用距离这朵花的点来表示这个花园的位置。假设从花朝东方移动xx,朝南方移动yy后的位置是(x,y)(x, y)。由于高桥君非常整齐,他只在(x,y)(x, y)同时都为整数的点上种植了一朵花,其他地方不种植。

更形式化地说,所有直角坐标上的格点都种植了一朵花,而且世界上最美丽的花被种植在原点。除了格点以外的点没有种植花。

世界上最美丽的花需要大量的水。因此,高桥君决定在花园中的NN个位置安装洒水器。每个洒水器都被安装在(x,y)(x, y)都是整数的点上。同一个位置不会安装两个以上的洒水器。每个洒水器会把水均匀地撒到一个圆形范围内。增加半径可以使水覆盖的范围更广,但是花费也越大,因此每个洒水器都会刚好达到世界上最美丽的花。换句话说,洒水器的喷水半径与它与世界上最美丽花的距离相等。

当高桥君启动洒水器时,他想知道有多少朵花能得到水。

请根据给定的洒水器位置,计算接收到水的花的数量。


输入

输入从标准输入中获取,格式如下所示。

NN x1x_1 y1y_1 x2x_2 y2y_2 : xNx_N yNy_N

  • 第一行包含一个整数N(1N105)N(1≦N≦10^5),表示要安装的洒水器数量。
  • 接下来的NN行,每行包含两个整数xi,yi(105xi,yi105)x_i, y_i(-10^5≦ x_i, y_i ≦ 10^5),用空格分隔。表示第ii个洒水器的位置为(xi,yi)(x_i, y_i)
  • ineqji \\neq j,则(xi,yi)neq(xj,yj)(x_i,y_i) \\neq (x_j,y_j)
  • 保证(xi,yi)neq(0,0)(x_i,y_i) \\neq (0,0)

部分分

该问题设有部分分。

  • N100N≦100\-100xi,yi100\-100 ≦ x_i, y_i ≦100对于所有测试用例均正确时,可得到额外1010分。
  • N1,000N≦1,000\-1,000xi,yi1,000\-1,000 ≦ x_i, y_i ≦1,000对于所有测试用例均正确时,可再得到额外2020分。总计3030分。
  • N105N≦10^5\-1,000xi,yi1,000\-1,000 ≦ x_i, y_i ≦1,000对于所有测试用例均正确时,可再得到额外3030分。总计6060分。
  • N105N≦10^5\-105xi,yi105\-10^5 ≦ x_i, y_i ≦10^5对于所有测试用例均正确时,可再得到额外4040分。总计100100分。

输出

请输出能接收到水的花的数量,以一行表示。在输出末尾添加换行符。


示例输入1


2
0 1
0 -1

示例输出1


9

如下图所示。绿色的点是接收到水的花。红色的点是世界上最美丽的花的位置。一共有99个点。


示例输入2


2
3 1
1 4

示例输出2


74

如下图所示。


示例输入3


4
3 4
4 3
-2 -2
-3 2

示例输出3


146

如下图所示。