5788 - 生日

通过次数

5

提交次数

27

时间限制 : 1 秒
内存限制 : 64 MB

小林的朋友苏苏要过生日,正好小林有两张价值不菲的商场购物券,所以他决定买N件礼物送给苏苏。小林选好了N件礼物,并且它们的价格之和恰好为两张购物券的面额之和。当小林去结账时,突然发现商场对购物券的使用有非常严格的规定:一次只允许使用一张、不找零、不与现金混用。小林身上根本没有现金,并且他不愿意放弃挑选好的礼物。这就意味着,他只能通过这两张购物券结账,而且每一张购物券所购买的物品的总价格,必须精确地等于这张购物的面额。

怎样才能顺利地买回这N件礼物呢?本题的任务就是帮助小林确定是否存在一个购买方案。现已知其中一张购物券的面额以及所有商品的价格,只需要确定能否找到一种方案使得选出来的物品的价格总和正好是这张购物券的面额即可。

输入

输入多组数据。

每组数据的第一行为两个正整数N和M,分别表示一共挑选了N件物品以及一张购物券的面额为M。接下来一行,有N个用空格隔开的正整数,第i个数表示第i个物品的价格。

输出

包含若干行,每行一个单词“YES”或者“NO”,分别代表存在一个购买方案和不存在一个购买方案。

样例

输入

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

输出

YES
NO

提示

【数据规模】

对于30%的输入文件:所有的N≤20。

对于100%的输入 文件:所有的N≤40,并且M和物品的总价值不超过231-1,测试组数不超过10组,不少于5组。

来源

课课通