AT_code_festival_2018_qualb_e Game of +-

Description

[problemUrl]: https://atcoder.jp/contests/code-festival-2018-qualb/tasks/code_festival_2018_qualb_e CODE FESTIVAL 本選で良い成績を取るために, いろはちゃんは $ 12 $ 年前から毎日修行をしている. 今日は, 「足し引きゲーム」で修行を行うことにした. このゲームは以下のようなものである. - 電光掲示板に数 $ G $ が書かれている. 最初, $ G\ =\ 0 $ である. - プレイヤーは以下の操作を $ 320 $ 回以内行うことができる : $ 1 $ 以上 $ N $ 以下の整数 $ x $ を選び, $ G $ に $ 1/x $ を足す, または $ G $ から $ 1/x $ を引く. ただし, $ G $ を負にしてはならない. - $ G $ を, このゲームにおいて $ G $ が取り得る値のうち $ 0 $ を除いて最小の値にすると, ゲームクリアである. いろはちゃんは早くゲームクリアしたい. 彼女を助けるために, ゲームクリアする方法を一つ出力せよ.

Input Format

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

Output Format

出力は, 以下のような形式で行うこと. > $ 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} $ を引く」という操作を行うことを意味する.

Explanation/Hint

### 制約 - $ N $ は $ 1 $ 以上 $ 100 $ 以下の整数 ### Sample Explanation 1 $ G $ が取り得る値のうち $ 0 $ 以外で最小のものは, $ 1/2 $ である. 以下の出力において, $ G $ の値は以下のように変化する. - 最初, $ G\ =\ 0 $ である. - 次に, $ G $ に $ 1/2 $ を足す. $ G $ の値は $ 1/2 $ に変化する. - 次に, $ G $ に $ 1/2 $ を足す. $ G $ の値は $ 1 $ に変化する. - 最後に, $ G $ から $ 1/2 $ を引く. $ G $ の値は $ 1/2 $ に変化する. ### Sample Explanation 2 $ G $ が取り得る値のうち $ 0 $ 以外で最小のものは, $ 1/6 $ である. 以下の出力において, $ G $ の値は以下のように変化する. - 最初, $ G\ =\ 0 $ である. - 次に, $ G $ に $ 1/3 $ を足す. $ G $ の値は $ 1/3 $ に変化する. - 次に, $ G $ に $ 1/3 $ を足す. $ G $ の値は $ 2/3 $ に変化する. - 最後に, $ G $ から $ 1/2 $ を引く. $ G $ の値は $ 1/6 $ に変化する. ### Sample Explanation 3 $ G $ が取り得る値のうち $ 0 $ 以外で最小のものは, $ 1/12 $ である. 以下の出力において, $ G $ の値は以下のように変化する. - 最初, $ G\ =\ 0 $ である. - 次に, $ G $ に $ 1/3 $ を足す. $ G $ の値は $ 1/3 $ に変化する. - 次に, $ G $ に $ 1/3 $ を足す. $ G $ の値は $ 2/3 $ に変化する. - 次に, $ G $ から $ 1/2 $ を引く. $ G $ の値は $ 1/6 $ に変化する. - 次に, $ G $ に $ 1/4 $ を足す. $ G $ の値は $ 5/12 $ に変化する. - 最後に, $ G $ から $ 1/3 $ を引く. $ G $ の値は $ 1/12 $ に変化する.