怪物从建筑物中涌出。请设置炮塔以抵御怪物。
在二维平面上,有四面墙围成一个正方形区域,左下角位于 $(0, 0)$,右上角位于 $(10000, 10000)$。
区域内有 $n$ 座建筑物,每座建筑物由 $m$ 个按逆时针顺序给出的点构成。对于每座建筑物,给出的第一个点是怪物出生点。每座建筑物都是凸多边形,且任意两座建筑物互不重叠或接触。
你可以在建筑物外部的任何位置设置炮塔,包括建筑物和墙壁的边缘。注意,炮塔的坐标不需要是整数。当炮塔与出生点之间的连线不穿过任何建筑物内部时,该出生点即可被炮塔攻击。
请计算确保每个怪物出生点都能被至少一个炮塔攻击所需的最少炮塔数量。
输入格式
第一行包含一个整数 $T$ ($1 \le T \le 10$),表示测试用例的数量。
每个测试用例中: 第一行包含一个整数 $n$ ($1 \le n \le 15$),表示建筑物的数量。 对于每座建筑物: 第一行包含一个整数 $m$ ($3 \le m \le 20$)。 接下来的 $m$ 行,每行包含两个整数 $x_i, y_i$ ($0 < x_i, y_i < 10000$),表示建筑物的第 $i$ 个点。
保证每个测试用例中 $m$ 的总和不超过 $200$。
输出格式
输出一个整数,表示所需的最少炮塔数量。
样例
输入格式 1
1 4 4 1 1 2 1 2 2 1 2 4 3 3 4 3 4 4 3 4 2 2
输出格式 1
2