TankEngineer 的代理程序显示,ALU(反萝莉控联盟)的大将军 liuq901 即将劫掠你和你虚构的女朋友居住的宁静村庄。你对此感到非常担忧,并决定建造一道防御围栏来保护你的村庄和你虚构的女朋友。
为了简化问题,将村庄视为一个平面,围栏可以看作平面上的一条不自交、不自触的闭合曲线。为了使其具有防御性,你决定将其通电,因此你建造的围栏必须包含连接到电网的正极和负极。
由于时间有限,你必须使用仅有的现有电极——位于 $(0, 0)$ 的正极和位于 $(d, 0)$ 的负极。此外,电源也有限,因此你只能通过连接电极和村庄中 $n$ 个其他枢纽点集中的某些点对来建造围栏。保证没有任何两个点重合。
另一个限制是,围栏上任意两点之间的欧几里得距离不能超过 $d$,否则围栏将没有足够的电力来阻止 liuq901 的军队。
你希望尽可能多地保护村庄的面积。计算你的围栏所能覆盖的最大面积。
输入格式
第一行包含两个整数 $n, d$ ($1 \le n \le 300, 1 \le d \le 10^9$),表示枢纽的数量和允许的最大距离。
接下来的 $n$ 行,每行包含两个整数 $x_i, y_i$ ($-10^9 \le x_i, y_i \le 10^9$),表示第 $i$ 个枢纽的位置。
输出格式
在一行中输出一个整数,即最大面积乘以 2 的结果。
样例
样例输入 1
2 10 5 6 5 -4
样例输出 1
100
样例输入 2
2 10 5 6 5 -5
样例输出 2
60
样例输入 3
2 10 1 5 5 0
样例输出 3
0