#48. 游戏

游戏

Description

给你两个序列 $A$ 和 $B$,每次你可以分别从两个序列的尾部选择任意长度的子串删除,假设被删除的长度分别为 $lenA$ 和 $lenB$(分别表示从序列 $A$ 和 $B$ 中删除的子串的长度),并且删除的子串的和分别为 $sumA$ 和 $sumB$(分别表示从序列 $A$ 和 $B$ 中删除的子串的累加和)那么该次操作得到的价值就是($sumA - lenA$) $*$ ($sumB - lenB$),问你如果两个序列同时被删空的时候,所得到的所有价值的和的最小值是多少?

Input Format

第一行有一个正整数 $t(1 <= t <= 10)$,表示共有 $t$ 组测试样例。对于每组测试样例:第一行输入两个正整数 $n$,$m(1 <= n,m <= 2000)$,分别表示序列 $A$ 和序列 $B$ 的长度。接下来第二行和第三行分别有 $n$ 和 $m$ 个正整数 $ai$ 和 $bi(1 <= ai, bi <= 1000)$,分别表示序列 $A$ 和序列 $B$ 中的元素。

Output Format

对于每组测试样例,输出一行,该行中只有一个正整数,表示对应的测试样例的答案。

1
3 2
1 2 3
1 2
2

Hint

样例说明:第一次我们选择序列 $A$ 的第三项,选择序列 $B$ 的第二项删除,本次得到的价值为 $2$。(删除后的序列 $A、B$ 分别为:$A{1,2},B{1}$)第二次我们选择序列 $A$ 和序列 $B$ 剩下的所有元素,一次性将其删除完毕,本次得到的价值为 $0$,那么总价值就是 $2$。

Source

Online Judge http://127.0.0.1