#D607. Xum
Xum
Xum
You have a blackboard and initially only an odd number x is written on it. Your goal is to write the number 1 on the blackboard.
You may write new numbers on the blackboard with the following two operations.
- You may take two numbers (not necessarily distinct) already on the blackboard and write their sum on the blackboard. The two numbers you have chosen remain on the blackboard.
- You may take two numbers (not necessarily distinct) already on the blackboard and write their bitwise XOR on the blackboard. The two numbers you have chosen remain on the blackboard.
Perform a sequence of operations such that at the end the number 1 is on the blackboard.
Input
The single line of the input contains the odd integer x (3 ≤ x ≤ 999,999).
Output
Print on the first line the number q of operations you perform. Then q lines should follow, each describing one operation.
- The "sum" operation is described by the line "a + b", where a, b must be integers already present on the blackboard.
- The "xor" operation is described by the line "a ^ b", where a, b must be integers already present on the blackboard.
The operation symbol (+ or ^) must be separated from a, b by a whitespace.
You can perform at most 100,000 operations (that is, q≤ 100,000) and all numbers written on the blackboard must be in the range [0, 5⋅10^{18}]. It can be proven that under such restrictions the required sequence of operations exists. You can output any suitable sequence of operations.
Examples
Input
3
Output
5 3 + 3 3 ^ 6 3 + 5 3 + 6 8 ^ 9
Input
123
Output
10 123 + 123 123 ^ 246 141 + 123 246 + 123 264 ^ 369 121 + 246 367 ^ 369 30 + 30 60 + 60 120 ^ 121
inputFormat
Input
The single line of the input contains the odd integer x (3 ≤ x ≤ 999,999).
outputFormat
Output
Print on the first line the number q of operations you perform. Then q lines should follow, each describing one operation.
- The "sum" operation is described by the line "a + b", where a, b must be integers already present on the blackboard.
- The "xor" operation is described by the line "a ^ b", where a, b must be integers already present on the blackboard.
The operation symbol (+ or ^) must be separated from a, b by a whitespace.
You can perform at most 100,000 operations (that is, q≤ 100,000) and all numbers written on the blackboard must be in the range [0, 5⋅10^{18}]. It can be proven that under such restrictions the required sequence of operations exists. You can output any suitable sequence of operations.
Examples
Input
3
Output
5 3 + 3 3 ^ 6 3 + 5 3 + 6 8 ^ 9
Input
123
Output
10 123 + 123 123 ^ 246 141 + 123 246 + 123 264 ^ 369 121 + 246 367 ^ 369 30 + 30 60 + 60 120 ^ 121
样例
3
5
3 + 3
3 ^ 6
3 + 5
3 + 6
8 ^ 9
</p>