[PA2014]Pakowanie

时间限制:90s      空间限制:256MB

题目描述

你有n个物品和m个包。物品有重量,且不可被分割;包也有各自的容量。要把所有物品装入包中,至少需要几个包?


输入格式

第一行两个整数n,m(1<=n<=24,1<=m<=100),表示物品和包的数量。
第二行有n个整数a[1],a[2],…,a[n](1<=a[i]<=10^8),分别表示物品的重量。
第三行有m个整数c[1],c[2],…,c[m](1<=c[i]<=10^8),分别表示包的容量。


输出格式

如果能够装下,输出一个整数表示最少使用包的数目。若不能全部装下,则输出NIE。


样例输入

4 3
4 2 10 3
11 18 9

样例输出

2

提示

没有写明提示


题目来源

鸣谢Jcvb