在索契筹备 2014 年奥运会期间,人们引入了黄杨木蛾(一种来自远东的小蝴蝶)。它摧毁了黄杨木林,因此树蛙现在不得不生活在沼泽中。但它们保留了跳跃后将颜色从绿色变为棕色(反之亦然)的能力。
沼泽是一个平面,其中一些点上有草墩。草墩的大小可以忽略不计,可视为平面上的点。青蛙一次跳跃可以从当前所在的草墩跳到距离不超过 $r$ 的任何其他草墩。每次跳跃后,青蛙的颜色都会变为相反的颜色。青蛙不会原地跳跃。
你需要为青蛙的每一个起始草墩(从 $1$ 到 $n$)确定:它是否可以通过若干次跳跃回到起始草墩,并在此过程中改变其颜色。
输入格式
第一行包含两个整数 $n$ 和 $r$ ($2 \le n \le 10^5, 1 \le r \le 10^9$),分别表示沼泽上的草墩数量和青蛙的跳跃距离。
接下来的 $n$ 行描述了草墩的位置。第 $i$ 行包含两个整数 $x_i$ 和 $y_i$ ($0 \le x_i, y_i \le 5 \cdot 10^8$),表示第 $i$ 个草墩的坐标。
任意两个草墩不在同一位置。
输出格式
输出一个由 $n$ 个字符组成的字符串。如果青蛙从草墩 $i$ 出发,能够回到该草墩且颜色变为相反颜色,则第 $i$ 个字符应为“1”,否则为“0”。
子任务
| 子任务 | 分值 | 附加限制 | 必要子任务 |
|---|---|---|---|
| 1 | 10 | $n \le 3$ | |
| 2 | 20 | $n \le 200$ | 1 |
| 3 | 6 | $n \le 1\,000$ | 1, 2 |
| 4 | 9 | $n \le 10\,000$ | 1–3 |
| 5 | 16 | $y_i = 0$ | |
| 6 | 5 | $r \le 2$ | |
| 7 | 5 | $r \le 4$ | 6 |
| 8 | 5 | $r \le 10$ | 6, 7 |
| 9 | 12 | $(x_i - x_j)^2 + (y_i - y_j)^2 \ge \frac{r^2}{4}, i \neq j$ | 6 |
| 10 | 12 | 1–9 |
样例
输入格式 1
6 5 4 1 4 4 1 5 5 9 9 6 10 2
输出格式 1
111000
说明
下图展示了青蛙从第一个草墩出发,通过跳跃改变颜色的过程。
第一次跳跃
第二次跳跃
第三次跳跃
结果:青蛙改变了颜色