题目描述
Problem Statement
This is an output-only problem. You shouldn't read anything from the input.
In short, your task is to simulate multiplication by using only comparison (x < y) and addition (x + y).
There is no input in this problem, you just print a sequence of operations.
Imagine that there is a big array a[0], a[1], ..., a[N-1] of length N.
The first two values are initially two non-negative integers A and B (which are unknown to you),
the other elements are zeros.
Your goal is to get the product $A \cdot B$ in a[2] at the end.
You are allowed operations of two types, with the following format (where $0 \leq i, j, k < N)$:
-
- i j k — applies operation a[k] = a[i] + a[j].
- < i j k — applies operation a[k] = a[i] < a[j].
That is, if a[i] < a[j] then a[k] becomes 1, otherwise it becomes 0.
You can use at most Q operations.
Elements of a can't exceed V.
Indices (i, j, k) don't have to be distinct.
It's allowed to modify any element of the array (including the first two).
The actual checker simulates the process for multiple pairs (A, B) within a single test.
Each time, the checker chooses values A and B, creates the array $a = [A, B, 0, 0, \ldots, 0]$,
applies all your operations and ensures that $a[2] = A \cdot B$.
Sample Input 1
Sample Output 1
4
< 0 1 8
+ 0 1 2
+ 2 8 2
+ 0 0 0
入力例 1 では、正誤判定機はペア (A, B) = (2, 3) についてのみ提出された操作列を検証します。
上記の出力は、このテストケースを通過します。その過程は次の通りです。
- はじめ、$a[0] = 2, a[1] = 3, a[2] = a[3] = \ldots = a[N-1] = 0 である$。
- < 0 1 8 により、a[0] < a[1] であるため a[8] = 1 となる。
-
- 0 1 2 により、a[2] = a[0] + a[1] = 5 となる。
-
- 2 8 2 により、a[2] = a[2] + a[8] = 6 となる。
-
- 0 0 0 により、a[0] = a[0] + a[0] = 4 となる。
- 要求された通り、$最終的に a[2] = 6 = A \cdot B となっている$。
Constraints
- $0 \leq A, B \leq 10^9$
- N = Q = 200\,000
- V = 10^{19} = 10\,000\,000\,000\,000\,000\,000
Sample Input 1
Sample Output 1
4
< 0 1 8
+ 0 1 2
+ 2 8 2
+ 0 0 0
入力例 1 では、正誤判定機はペア (A, B) = (2, 3) についてのみ提出された操作列を検証します。
上記の出力は、このテストケースを通過します。その過程は次の通りです。
- はじめ、$a[0] = 2, a[1] = 3, a[2] = a[3] = \ldots = a[N-1] = 0 である$。
- < 0 1 8 により、a[0] < a[1] であるため a[8] = 1 となる。
-
- 0 1 2 により、a[2] = a[0] + a[1] = 5 となる。
-
- 2 8 2 により、a[2] = a[2] + a[8] = 6 となる。
-
- 0 0 0 により、a[0] = a[0] + a[0] = 4 となる。
- 要求された通り、$最終的に a[2] = 6 = A \cdot B となっている$。
Sample Input 1
Sample Output 1
4
< 0 1 8
+ 0 1 2
+ 2 8 2
+ 0 0 0
In the first sample test, the checker checks your sequence only for a pair (A, B) = (2, 3).
The provided output is correct for this test:
- Initially, $a[0] = 2, a[1] = 3, a[2] = a[3] = \ldots = a[N-1] = 0$.
- < 0 1 8 applies a[8] = 1 because a[0] < a[1].
-
- 0 1 2 applies a[2] = a[0] + a[1] = 5.
-
- 2 8 2 applies a[2] = a[2] + a[8] = 6.
-
- 0 0 0 applies a[0] = a[0] + a[0] = 4.
- As required, at the end we have $a[2] = 6 = A \cdot B$.
输入格式
见题面 Input 部分
输出格式
见题面 Output 部分