1658: 最大收益

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:5 Solved:4

Description

工厂有 n 个工作和 m 个工人。工厂的业务给出3组数据源:difficulty, profit 和 worker,其中:
(1)difficulty[i] 表示第 i 个工作的难度
(2)profit[i] 表示第 i 个工作的收益
(3)worker[i] 是第 i 个工人的能力,即该工人只能完成难度小于等于 worker[i] 的工作。
提示:每个工人最多只能安排一个工作,但是一个工作可以完成多次 。
例如:如果 3 个工人都尝试完成一份报酬为 2 的同样工作,那么总收益为6 。如果一个工人不能完成任何工作,他的收益为0 。现在,请你编程计算,在把工人分配到工作岗位后,工厂所能获得的最大收益。

Input

第1行,读入n和m。(1<=n,m<=10000)

第2行,读入n个工作的难度值difficulty[i] ,每个数据之间用空格分隔(1<=difficulty[i]<=100000 

第3行,读入n个工作的收益值profit[i], 每个数据之间用空格分隔(1<=profit[i]<=100000 

第4行,读入m个工人的能力值worker[i] ,每个数据之间用空格分隔 (1<=worker[i]<=100000)

Output

一行,输出最大的收益值。

Sample Input Copy

5 4
2 4 6 8 10
10 20 30 40 50
4 5 6 7

Sample Output Copy

100

HINT

【样例输入2】

3 3
85 47 57
24 66 99
40 25 25
【样例输出2】

0