E - Game of +-

Time Limit: 2 sec / Memory Limit: 1024 MB

配点: 800

問題文

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

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

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

制約

  • N1 以上 100 以下の整数

入力

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

N

出力

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

Q
op_1 x_1
op_2 x_2
op_3 x_3
...
op_Q x_Q
  • Q は, あなたが行う操作の回数である. Q の値は, 320 以下でなければならない.
  • op_i は, i 回目に行う操作の種類である. + のとき「1/{x_i} を足す」, - のとき「1/{x_i} を引く」という操作を行うことを意味する.

入力例 1

2

出力例 1

3
+ 2
+ 2
- 2

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

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

入力例 2

3

出力例 2

3
+ 3
+ 3
- 2

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

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

入力例 3

4

出力例 3

5
+ 3
+ 3
- 2
+ 4
- 3

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

  • 最初, G = 0 である.
  • 次に, G1/3 を足す. G の値は 1/3 に変化する.
  • 次に, G1/3 を足す. G の値は 2/3 に変化する.
  • 次に, G から 1/2 を引く. G の値は 1/6 に変化する.
  • 次に, G1/4 を足す. G の値は 5/12 に変化する.
  • 最後に, G から 1/3 を引く. G の値は 1/12 に変化する.

入力例 4

7

出力例 4

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