部分和クエリ

n 個の整数が与えられ、さらに q 個のクエリが与えられます。各クエリでは、整数 が指定されます。クエリごとに、与えられた整数の部分集合を選んで、その合計が となる組み合わせが存在するかどうかを判定してください。

入力

最初の行には、単一の整数 n (1 ≤ n ≤ 500) が与えられます。
2 行目には、空白区切りで並んだ n 個の整数 (1 ≤ ≤ 100 000) が与えられます。これは集合の要素です。
3 行目には、クエリの数 q (1 ≤ q ≤ 100 000) が与えられ、その後に続く q 行には、各クエリの目標合計となる整数 (1 ≤ ≤ 100 000) が 1 つずつ与えられます。

出力

q 行を出力し、各クエリごとに、合計が指定の値と一致する部分集合が存在する場合は Yes、存在しない場合は No を書き出してください。

Examples

入力
出力
4 1 2 5 7 5 4 3 10 14 11
No Yes Yes Yes No

Constraints

Time limit: 10 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue