#ZF1019. 瓜瓜大魔王的入侵

瓜瓜大魔王的入侵

题目描述

瓜瓜大魔王想入侵二次元!

瓜瓜大魔王在二次元位面上布下了 nn 个魔法阵,一旦发动就可以任选三个魔法阵,就可以降临成一个三角形,发动进攻。

但是瓜瓜大魔王的计划被泄露了,二次元位面上的生活着的人们修建了坚固的防御工事,”马奇诺直线“!只有当瓜瓜大魔王降临成的三角形存在一条边 与”马奇诺直线“ 垂直时,才能顺利攻破这条防线!

二次元位面上的生活着的人们显然不能仅仅依靠一条防线来阻止瓜瓜大魔王入侵,于是他们准备了 mm 条”马奇诺直线“,每当一条防线被攻破,他们就会组织安排下一条防线。

当然瓜瓜大魔王也是非常厉害,他发动时间宝石,能够分身遍历探测所有可能的降临三角形,如果所有的防线都被瓜瓜大魔王攻破了(瓜瓜大魔王太厉害了!) 请在一行内输出对于每条防线他有多少种攻破选择,否则请输出一个 1-1

注意:三角形不需要和直线相交,只需要存在一条边与防线垂直即可攻破防线。

输入描述

第一行两个正整数 $n, m(1 \leqslant n \leqslant 5 \times 10 ^ 4, 1 \leqslant m \leqslant 20)$。

接下来 nn 行, 每行有 22 个整数,为 xi,yi(109xi,yi109)x_i, y_i(-10^9 \leqslant x_i, y_i \leqslant 10^9) 代表 nn 个魔法阵在二次元位面坐标,数据保证同一坐标不会存在两个点。

接下来 mm 行, 每行有 33 个整数, 为 $A_i, B_i, C_i(-10^9 \leqslant A_i, B_i, C_i \leqslant 10^9)$ 且 A,BA,B 不全为 00 代表 mm 条防线的一般式 l:Ax+By+C=0l: Ax + By + C = 0

输出描述

如果瓜瓜大魔王能够攻破 mm 条防线,则请在一行内输出 mm 个数,分别代表攻破每条防线时瓜瓜大魔王可行的选择数, 否则请输出一个 1-1

样例

3 1
1 1
1 2
2 1
0 1 -1
1
3 1
1 1
1 2
1 3
1 1 1
-1