#3717. [PA2014]Pakowanie

内存限制:256 MiB 时间限制:90 Sec

题目描述

你有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

数据范围与提示