Little ColdHand 想要建造一个围栏来圈住他的奶牛的放牧区域。然而,为了使围栏有效,它必须包含所有 $m$ 个草地位置。否则,奶牛可能会反抗他。
为了解决这个问题,Little ColdHand 向星际奶牛公司寻求帮助。然而,该公司只提供了 $n$ 个围栏点,他只能在点与点之间建造围栏。最终的成本将是所使用的点的数量。
Little ColdHand 知道最经济的围栏应该是凸包,但他不知道所需的具体点数。因此,他向你寻求帮助以解决这个问题:
确定构建一个完全包围所有 $m$ 个吃草位置的围栏所需的最少点数。
注:如果围栏与任何草地位置相交,我们不认为这些位置被完全包围。
输入格式
输入的第一行包含整数 $T$ ($1 \le T \le 10$),表示测试用例的数量。接下来是各测试用例的描述。
每个测试用例的第一行包含两个整数 $n$ 和 $m$ ($1 \le n \le 500, 1 \le m \le 500$),分别表示围栏点的数量和草地位置的数量。
接下来的 $n$ 行,每行包含两个整数 $x_i$ 和 $y_i$ ($-10^9 \le x_i, y_i \le 10^9$),描述了位于 $(x_i, y_i)$ 的围栏点 $a_i$。
接下来的 $m$ 行,每行包含两个整数 $x_i$ 和 $y_i$ ($-10^9 \le x_i, y_i \le 10^9$),描述了位于 $(x_i, y_i)$ 的草地位置 $b_i$。
保证所有测试用例中 $n$ 和 $m$ 的总和均不超过 $4000$。
输出格式
对于每个测试用例,如果存在任何解决方案,输出一行一个整数,表示围栏的最小成本。否则,输出 $-1$。
样例
样例输入 1
2 4 1 1 1 1 -1 -1 1 -1 -1 0 0 4 1 1 1 1 -1 -1 1 -1 -1 1 0
样例输出 1
4 -1