Problem2110--拼数

2110: 拼数

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 174  Solved: 41
[Status] [Submit] [Creator:]

Description

给你一个大小为 n 的数列 a1, a2, ……, an

有一个整数 s,初始时 s = 0。

你需要对 s 进行若干次操作,每一次操作,你可以从数列中选择任意一个整数 ai,并将 s 的数值增加 ai。(注意:选过的数字可以再选,数列中的任意元素都可以选择任意次)

你的目的是使 s 最终变成 m 。问:是否存在可行的操作方案?

Input

输入的第一行包含一个整数 n(1 ≤ n ≤ 100)。

输入的第二行包含 n 个整数 a1, a2, ……, an,两两之间以一个空格分隔(1 ≤ ai ≤ 100)。

输入的第三行包含一个整数 m(1 ≤ m ≤ 10000)。

Output

如果存在一种方案使得 s 最终变成了 m,输出 “YES”;否则,输出 “NO”。

Sample Input Copy

【样例输入1】
3
2 3 7
10
【样例输出1】
YES
【样例输入2】
3
3 6 8
10
【样例输出2】
NO

HINT

【样例解释】
样例1:s 选择加 5 次 2 (或者加 2 次 2,再加 2 次 3,或者加 1 次 3 再加 1 次 7)能够变成 10。
样例2:不存在让 s 变成 10 的加数方案。
【数据规模与约定】
· 对于 50% 的数据,1 ≤ n,ai ≤ 10, 1 ≤ m ≤ 100
· 对于 100% 的数据,1 ≤ n,ai ≤ 100, 1 ≤ m ≤ 10000

Source/Category