你正在设计一个数字键盘,包含数字 1 到 4,每个数字对应一个唯一的按键。所有按键排列成一个 $2 \times 2$ 的矩阵,键盘下方有一个检测电路。当按下某个键时,电路会将按键信号传输给控制器,控制器会接收到该键的行号和列号。我们可以用一对 $(row, column)$ 来表示一次按键事件。具体来说,当你按下数字 $i$ 的键(其中 $i \in \{1, 2, 3, 4\}$)时,控制器会接收到一对 $( \lfloor (i - 1)/2 \rfloor, (i - 1) \bmod 2 )$。例如,当你按下 3 号键时,控制器得到的按键信号是 $(1, 0)$。
出于某种原因,你可能需要同时按下多个键。当你这样做时,控制器仍然可以接收到它们对应的行号和列号。然而,它们的行号会混合在一起,列号也是如此。例如,当你同时按下 1 号键和 4 号键时,控制器会得到行号 $\{0, 1\}$ 和列号 $\{0, 1\}$,因为 1 号键发出 $(0, 0)$,而 4 号键发出 $(1, 1)$。另一个例子是,当你同时按下 1 号键和 2 号键时,控制器只能接收到 $(\{0\}, \{0, 1\})$,因为 1 号键发出 $(0, 0)$,2 号键发出 $(0, 1)$,它们的行号相同。注意,不同的按键组合可能会导致相同的信号。同时按下 2 号键和 3 号键会得到 $(\{0, 1\}, \{0, 1\})$,这与同时按下 1 号键和 4 号键的结果相同。同时按下 1、2、3、4 号键也会得到相同的结果。
给定一个以 $(row, column)$ 对形式表示的按键信号,请编写一个程序来确定可能导致该信号的按键组合总数。
输入格式
输入的第一行是一个正整数,指定测试用例的数量。每个测试用例紧随其后。对于每个测试用例,第一行给出两个正整数 $m$ 和 $n$。第二行给出 $m$ 个不同的整数,表示接收到的行号。第三行给出 $n$ 个不同的整数,表示接收到的列号。同一行中的所有数字均以空格分隔。
输出格式
为每个测试用例输出一行结果。
实现细节
- 最多有 10 个测试用例。
- $1 \le m, n \le 2$。
样例
样例输入 1
2 2 1 0 1 0 1 2 1 0 1
样例输出 1
1 1
样例输入 2
2 2 2 0 1 0 1 1 1 1 1
样例输出 2
7 1