#3051. 生日

生日

Description

小林的朋友苏苏要过生日,正好小林有两张价值不非的商场购物券,所以他决定买N件礼物送给苏苏。

小林选好了N件礼物,并且它们的价格之和恰好为两张购物券的面额之和。当小林去结账时,突然发现商场对购物券的使用有非常严格的规定:一次只允许使用一张、不找零、不与现金混用。小林身上根本没有现金,并且他不愿意放弃挑选好的礼物。

这就意味着,他只能通过这两张购物券结账,而且每一张购物券所购买的物品的总价格。必须精确地等于这张购物券的面额。怎样才能顺利地买回这N件礼物呢?本题的任务就是帮助小林确定是否存在一个购买方案。

现已知其中-张购物券的面额以及所有商品的价格,只需要确定能否找到一种方案使得选出来的物品的价格总和正好是这张购物券的面额即可。

Input Format

输人多组数据。

每组数据的第一行为两个正整数N和M.分别表示共挑选了N件物品以及一张购物券的面额为M。

接下来一行,有N个用空格隔开的正整数,第i个数表示第i个物品的价格。

Output Format

输出若干行.每行一个单词"YES"或者"NO" .分别代表存在一个购买方案和不存在一个购买方案。

10 2000
1000 100 200 300 400 500 700 600 900 800
10 2290
1000 100 200 300 400 500 7000 600 900 800
YES
NO

Hint

对于30%的输人文件:所有的$N<=20$。

对于100%的输人文件:所有的$N<=40$,并且M和物品的总价值不超过$2^{31}-1$,测试组数不超过10组,不少于5组。对于30%的输人文件:所有的$N<=20$。

对于100%的输人文件:所有的$N<=40$,并且M和物品的总价值不超过$2^{31}-1$,测试组数不超过10组,不少于5组。