拉普兰德的愿望
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

暴虐的恶人阻断正义的道路,我的主人啊,以复仇与恶意为名,引领弱小的人吧。

众所周知,拉普兰德对德克萨斯有特殊的感情。

让德克萨斯来担任队长!

把德克萨斯放到我的小队来!

哈哈哈,好,我喜欢你对我的信任。德克萨斯做得到吗?

拉普兰德知道德克萨斯喜欢吃Pocky
于是它跑遍了整个鲁珀族,终于买来了足够德克萨斯吃一辈子的Pocky!
但是德克萨斯并不想见拉普兰德。于是拉普兰德找了N个埋伏点,准备和德克萨斯来一个不期而遇。

但是拉普兰德很担心自己的计划会败露,他认为两个埋伏点如果距离小于d,则若一个被发现,另一个也会被发现。他想知道有多少对藏身之地之间的距离小于d,请你告诉他

在本题中,我们定义两点之间的距离为曼哈顿距离,即|X1-X2|+|Y1-Y2|,其中|x|表示x的绝对值


输入描述:

第一行三个整数N,d,L,表示平面上有N个点,不安全距离为d,坐标的绝对值不超过L

接下来N行,每行两个整数xi,yi表示每个点的坐标

输出描述:

第一行一个整数d,表示距离不小于d的点对的数量
示例1

输入

复制
5 4 10 
5 2 
7 2 
8 4 
6 5 
4 4 

输出

复制
5

说明

符合条件的点对有:(1,3)(1,4)(2,4)(2,5)(3,5)

备注:

对于100%的数据,N <= 100,000 ;L <= 50,000;d <= 10,000,000