1382:阔绰的国王-3

时间限制: 5 S | 内存限制: 8192 KB
Accept: 1 | Submit: 15
[提交] [状态] [讨论版]
描述

国王为了奖励一名将军,在地面上放置了m个米袋(1<=m<=10000),每个袋子里各有一定数量的米,每个米袋里米粒的数量a[i]是已知的(1<=i<=m,1<=a[i]<=1e+5)。然后国王给了将军n个正整数b[j](2<=n<=1000,1<=j<=n,1<=b[j]<=20000),将军可以从中任意挑选两个数字,并拿走米粒数量是这两个数字中任意一个的整数倍的米袋,所有符合条件的米袋将军都能拿走。

问将军能够拿走的米粒数量最多是多少粒?

输入

一个正整数T,表示案例的数量。(T<=100)

每组案例先是两个整数m和n,表示米袋数量和国王给的数字数量;

然后是m个整数a[1]~a[m],表示每袋米的米粒数量;

最后是n个整数b[1]~b[n],表示国王给的每个数字。

输出

针对每组案例,输出一个整数,表示将军能够拿走的米粒数量的最大值。

每组案例输出完都要换行。

样例输入

2

5 3

2 3 4 5 6

2 3 4

5 3

2 3 4 5 6

1 2 3

样例输出

15

20


HINT
来源
厦大附中编程竞赛培训