+-計算式(★★★)

2 secs 1024 MB
aiblecode's icon aiblecode

問題文

NN 個の整数が横 11 列に並んでいます。左から ii 番目の整数は AiA_i です。

それぞれ隣接している整数の間に +++) または --) を 11 つずつ入れて、数式を作ります。

例えば、(3,8,5,4)(3, 8, 5, 4) から 3+85+43 + 8 - 5 + 438543 - 8 - 5 - 4 のような数式を作ることが考えられます。

このように作られた数式の計算結果が整数 KK となり得るか判定してください。
なり得るならば、その数式を 11 つ提示してください。

制約

  • 2N102 \leqq N \leqq 10
  • 109K109-10^9 \leqq K \leqq 10^9
  • 1Ai1081 \leqq A_i \leqq 10^8
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられます。

NNKK
A1A_1A2A_2\ldotsANA_N

出力

計算結果が KK になり得ない場合、No を出力してください。

なり得る場合、標準出力に 22 行出力してください。
11 行目には Yes22 行目には実際の数式を出力してくだだい。

サンプル 1

入力
4 10
3 8 5 4
出力
Yes
3+8-5+4

3+85+4=103 + 8 - 5 + 4 = 10 となります。

サンプル 2

入力
3 5
1 2 4
出力
No

どのように +,+, - を割り当てても、計算結果が 55 になり得ません。

1+2+4-1 + 2 + 4 のように、- が先頭に付く場合は題意を満たさないことに注意してください。

サンプル 3

入力
10 100
17 2 37 92 82 64 85 20 68 17
出力
Yes
17-2+37+92+82+64-85-20-68-17

提出


Go (1.21)