高度な部分和クエリ

指定された n 個の数値 からなる集合について、q 件のクエリを処理してください。クエリには次の2種類があります:
  • Type 1: 数値の部分集合の和が s になるものが存在するかどうかを判定する。
  • Type 2: 指定された数値 s を集合から取り除く。

Input

最初の行には、集合に含まれる数値の個数を表す整数 n (1 ≤ n ≤ 300) が与えられます。2 行目には、集合の要素となる n 個の整数 が空白区切りで与えられます。
3 行目には、クエリの数を表す整数 q が与えられ、続く q 行には、それぞれ空白区切りの 2 つの整数 ts が与えられます:
  • Type 1 のクエリ: 最初の整数 t は 1 で、2 つ目の整数 s が目標とする合計値です。
  • Type 2 のクエリ: 最初の整数 t は 2 で、2 つ目の整数 s は取り除く要素です。
Type 2 のクエリは 200 を超えません

Output

Type 1 のクエリに対して、該当する部分集合が存在すれば Yes、存在しなければ No を出力してください。

Examples

Input
Output
4 1 2 5 7 7 1 4 1 3 1 10 2 1 1 10 1 3 1 9
No Yes Yes No No Yes
 

Constraints

Time limit: 8 seconds

Memory limit: 512 MB

Output limit: 1 MB

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