小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。
很明显,用不同的爬行卡片使用顺序会使得最终游戏的得分不同,小明想要找到一种卡片使用顺序使得最终游戏得分最多。
现在,告诉你棋盘上每个格子的分数和所有的爬行卡片,你能告诉小明,他最多能得到多少分吗?
第 2 行 N个非负整数,a1, a2, ……, aN,其中 ai 表示棋盘第 i 个格子上的分数。
第 3 行M 个整数,b1,b2, ……, bM,表示 M 张爬行卡片上的数字。
输入数据保证到达终点时刚好用光 M 张爬行卡片,即 N−1=∑b_i (1≤i≤m)
1 ≤ N≤ 350,1 ≤M≤ 120,且 4 种爬行卡片,每种卡片的张数不会超过 40;0 ≤ ai ≤ 100,1 ≤ i ≤ N;1 ≤ bi ≤ 4,1 ≤ i ≤M。输入数据保证 N−1=∑b_i (1≤i≤m)
乌龟棋的棋盘是一行 N个格子,每个格子上一个分数(非负整数) 。棋盘第 1 格是唯一的起点,第 N格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。
很明显,用不同的爬行卡片使用顺序会使得最终游戏的得分不同,小明想要找到一种卡片使用顺序使得最终游戏得分最多。
现在,告诉你棋盘上每个格子的分数和所有的爬行卡片,你能告诉小明,他最多能得到多少分吗?
Input
第 1 行2 个正整数 N和 M,分别表示棋盘格子数和爬行卡片数。第 2 行 N个非负整数,a1, a2, ……, aN,其中 ai 表示棋盘第 i 个格子上的分数。
第 3 行M 个整数,b1,b2, ……, bM,表示 M 张爬行卡片上的数字。
输入数据保证到达终点时刚好用光 M 张爬行卡片,即 N−1=∑b_i (1≤i≤m)
Output
输出只有 1行,1 个整数,表示小明最多能得到的分数。1 ≤ N≤ 350,1 ≤M≤ 120,且 4 种爬行卡片,每种卡片的张数不会超过 40;0 ≤ ai ≤ 100,1 ≤ i ≤ N;1 ≤ bi ≤ 4,1 ≤ i ≤M。输入数据保证 N−1=∑b_i (1≤i≤m)
Sample Input
9 5 6 10 14 2 8 8 18 5 17 1 3 1 2 1