#282. 栅栏的木料

栅栏的木料

说明

农民 John 准备建一个栅栏来围住他的牧场。他已经确定了栅栏的形状,但是他在木料方面有些问题。当地的杂货储存商扔给 John 一些木板,而 John 必须从这些木板中找出尽可能多所需的木料。当然,John 可以切木板。因此,一个 99 英尺的木板可以切成一个 55 英尺和一个 44 英尺的木料(当然也能切成 3333 英尺的,等等)。John 有一把梦幻之锯,因此他在切木料时,不会有木料的损失。所需要的木料规格都已经给定。你不必切出更多木料,那没有用。

输入格式

11 行:N(1N50)N(1 \le N \le 50),表示提供的木板的数目。

2N+12\sim N+1行:NN 行,每行包括一个整数,表示各个木板的长度。

N+2N+2 行:R(1R1023)R (1 \le R \le 1023),所需木料的数目。 第 N+3N+R+1N+3\sim N+R+1 行:RR 行,每行包括一个整数 (1ri128)(1 \le r_i \le 128) 表示所需木料的长度。

输出格式

只有一行,一个数字,表示能切除的最多的所需木料的树木。当然,并不是任何时候都能切出所有所需木料。

样例

4
30
40
50
25
10
15
16
17
18
19
20
21
25
24
30
7