Bob 在平面上画了 $N$ 个黑点和 $N$ 个白点,并在每对点之间画了有向边。给定一个距离阈值 $D$,对于每一对点 $p$ 和 $q$,Bob 可以根据以下规则画边:
- 如果这两个点颜色相同,则可以任意选择画边 $p \to q$ 或 $q \to p$。
- 如果这两个点颜色不同,假设 $p$ 是白色,$q$ 是黑色,那么当 $dist(p, q) > D$ 时画边 $p \to q$,否则画边 $q \to p$。
距离函数定义为 $dist(p, q) = |p.x - q.x| + |p.y - q.y|$,其中 $p.x$ 和 $q.x$ 分别表示 $p$ 和 $q$ 的 $x$ 坐标,$p.y$ 和 $q.y$ 分别表示 $p$ 和 $q$ 的 $y$ 坐标。
Bob 认为由点 $p, q, r$ 构成的“优美三角形”(即三个点的三元组)应满足以下条件:
- 其中至少有一个黑点,且至少有一个白点。
- $p \to q$,$q \to r$ 和 $r \to p$ 均为它们之间的边。
现在 Bob 想知道优美三角形数量的最小值和最大值。
输入格式
输入包含多组测试数据,请处理至文件末尾。 对于每组测试数据,第一行包含两个整数 $N$ ($N \le 100000$) 和 $D$。接下来的 $N$ 行,每行包含两个整数,表示一个白点的 $x$ 坐标和 $y$ 坐标。再接下来的 $N$ 行,每行包含两个整数,表示一个黑点的 $x$ 坐标和 $y$ 坐标。部分点可能坐标相同。 输入中的所有数字均为非负整数且小于 $2^{31}$。
输出格式
对于每组测试数据,输出两个整数,分别表示优美三角形数量的最小值和最大值。
样例
样例输入 1
2 1 1 2 1 1 3 1 2 2
样例输出 1
0 2