小红帽的祖母的小屋已经很旧了,需要拆除并换成一间新小屋。自然地,她希望小屋尽可能安全——没有什么比小红帽被大灰狼吃掉更糟糕的事情了。
祖母想把小屋建在森林的空地之一上。小红帽的家(也就是她父母的家)也位于一片空地上。此外,狼总是潜伏在其中一片空地中。如果小红帽从家走到祖母的小屋途中经过狼所在的空地,她肯定会被吃掉。狼只会在夜间更换它所在的空地,所以每当小红帽在森林中行走时,狼都会位于一个未知但固定的空地中。狼永远不会出现在祖母的小屋所在的空地,也不会出现在小红帽家所在的空地。
小红帽总是从一片空地走到另一片空地。为了避免被狼吃掉,她必须检查狼是否在她想要前往的空地中。幸运的是,她有一副双筒望远镜。因此,每当她身处某片空地并想去另一片空地时,她会先用望远镜检查狼是否在那片空地中。如果狼在,她就不会去那片空地。然而,问题在于:森林不是平坦的。森林里到处都是小山,如果小红帽当前所在的空地和她想要前往的下一片空地之间有小山,她就无法使用望远镜检查狼是否在那片空地中。如果她无法用望远镜检查那片空地,她就绝不会从当前空地前往另一片空地。这包括她自己的家和祖母的小屋(狼永远不会出现在那里,但为了安心,她仍然需要检查)。每座小山都是一个完美的圆,我们假设空地相对于小山来说足够小,因此我们将它们视为点。即使两片空地之间的视线仅与一座小山相切,小红帽的视线也会被阻挡。没有两座小山相交,也没有任何空地位于小山内部或边界上。
如果无论狼坐在哪片空地,小红帽总能找到一条从她家到祖母家并返回的路径,祖母就认为这片空地适合建造她的新小屋。祖母请你确定哪些空地适合她建造小屋。
输入格式
输入包含: 一行包含两个整数 $g$ 和 $h$ ($2 \le g \le 2\,000, 0 \le h \le 2\,000$),分别表示空地的数量和小山的数量。空地编号从 $1$ 到 $g$。小红帽的家总是位于第 $g$ 片空地。 $g$ 行,其中第 $i$ 行包含两个整数 $x_i$ 和 $y_i$ ($-10^7 \le x_i, y_i \le 10^7$),表示第 $i$ 片空地的坐标。 * $h$ 行,每行包含三个整数 $x, y$ 和 $r$ ($-10^7 \le x, y \le 10^7, 0 < r \le 10^7$),表示其中一座小山的圆心坐标和半径。
没有两片空地坐标相同,没有两座小山有公共点,且没有空地位于小山内部或边界上。
输出格式
输出所有适合祖母建造小屋的空地编号。这些编号必须按升序输出。
图 J.1:第一个样例输入。
图 J.2:第二个样例输入。
样例
样例输入 1
4 3 0 0 0 10 10 0 10 10 5 0 2 10 5 2 2 2 1
样例输出 1
2
样例输入 2
7 5 0 0 10 10 10 -10 20 0 30 10 30 -10 40 0 10 4 1 6 -3 3 14 -3 3 20 10 4 30 0 4
样例输出 2
4 5 6