#codefestival2018qualbe. [code_festival_2018_qualb_e]Game of +-

[code_festival_2018_qualb_e]Game of +-

配点: 800800

問題文

CODE FESTIVAL 本選で良い成績を取るために, いろはちゃんは 1212 年前から毎日修行をしている.
今日は, 「足し引きゲーム」で修行を行うことにした. このゲームは以下のようなものである.

  • 電光掲示板に数 GG が書かれている. 最初, G=0G = 0 である.
  • プレイヤーは以下の操作を 320320 回以内行うことができる : 11 以上 NN 以下の整数 xx を選び, GG1/x1/x を足す, または GG から 1/x1/x を引く. ただし, GG を負にしてはならない.
  • GG を, このゲームにおいて GG が取り得る値のうち 00 を除いて最小の値にすると, ゲームクリアである.

いろはちゃんは早くゲームクリアしたい. 彼女を助けるために, ゲームクリアする方法を一つ出力せよ.

制約

  • NN11 以上 100100 以下の整数

入力

入力は以下の形式で標準入力から与えられる.

NN

出力

出力は, 以下のような形式で行うこと.

QQ op1op_1 x1x_1 op2op_2 x2x_2 op3op_3 x3x_3 ... opQop_Q xQx_Q

  • QQ は, あなたが行う操作の回数である. QQ の値は, 320320 以下でなければならない.
  • opiop_i は, ii 回目に行う操作の種類である. + のとき「1/xi1/{x_i} を足す」, - のとき「1/xi1/{x_i} を引く」という操作を行うことを意味する.

入力例 1

2

出力例 1

3
+ 2
+ 2
- 2

GG が取り得る値のうち 00 以外で最小のものは, 1/21/2 である.
以下の出力において, GG の値は以下のように変化する.

  • 最初, G=0G = 0 である.
  • 次に, GG1/21/2 を足す. GG の値は 1/21/2 に変化する.
  • 次に, GG1/21/2 を足す. GG の値は 11 に変化する.
  • 最後に, GG から 1/21/2 を引く. GG の値は 1/21/2 に変化する.

入力例 2

3

出力例 2

3
+ 3
+ 3
- 2

GG が取り得る値のうち 00 以外で最小のものは, 1/61/6 である.
以下の出力において, GG の値は以下のように変化する.

  • 最初, G=0G = 0 である.
  • 次に, GG1/31/3 を足す. GG の値は 1/31/3 に変化する.
  • 次に, GG1/31/3 を足す. GG の値は 2/32/3 に変化する.
  • 最後に, GG から 1/21/2 を引く. GG の値は 1/61/6 に変化する.

入力例 3

4

出力例 3

5
+ 3
+ 3
- 2
+ 4
- 3

GG が取り得る値のうち 00 以外で最小のものは, 1/121/12 である.
以下の出力において, GG の値は以下のように変化する.

  • 最初, G=0G = 0 である.
  • 次に, GG1/31/3 を足す. GG の値は 1/31/3 に変化する.
  • 次に, GG1/31/3 を足す. GG の値は 2/32/3 に変化する.
  • 次に, GG から 1/21/2 を引く. GG の値は 1/61/6 に変化する.
  • 次に, GG1/41/4 を足す. GG の値は 5/125/12 に変化する.
  • 最後に, GG から 1/31/3 を引く. GG の値は 1/121/12 に変化する.

入力例 4

7

出力例 4

10
+ 1
- 3
- 7
- 7
+ 2
- 4
- 7
- 5
- 7
- 7