Kitten's Computer

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

Kitten recently planned to build a computer of his own. The computer has 400400 registers, each of which can store a 6464-bit binary integer, that is, an integer in the range \[0,2641]\[0, 2^{64} - 1]. The value stored in the ii-th (i\[1,400]i \in \[1, 400]) register is denoted as a_ia\_i. This computer supports 7 assembly instructions:

  • SET i j : Let a_i:=a_ja\_i := a\_j.
  • XOR i j k : Let a_i:=a_ja_ka\_i := a\_j \oplus a\_k (\oplus is the bitwise XOR operation).
  • AND i j k : Let a\_i := a\_j \operatorname{\\&} a\_k (\operatorname{\\&} is the bitwise AND operation).
  • OR i j k : Let a_i:=a_ja_ka\_i := a\_j \operatorname{|} a\_k (\operatorname{|} is the bitwise OR operation).
  • NOT i j : Let a_i:=a_ja\_i := \operatorname{\sim} a\_j (\sim is the unary bitwise NOT operation).
  • LSH i x : Shift a_ia\_i left by xx bits. The vacant bit-positions are filled with 00.
  • RSH i x : Shift a_ia\_i right by xx bits. The vacant bit-positions are filled with 00.

Note that you have to ensure that 1i,j,k4001 \le i,j,k \le 400 and 0x<640 \le x < 64.

You may think that this computer is not powerful enough, but the kitten's computer is not an ordinary computer! This computer has a powerful parallel computing method that can compute all non-interfering instructions simultaneously.

Formally, let us track t_1,t_2,,t_400t\_1, t\_2, \ldots, t\_{400}, denoting the times when the register values were assigned. Initially, all t_it\_i are zeroes. Whenever you execute a command, if it requires a_j_1,a_j_2,,a_j_na\_{j\_1}, a\_{j\_2}, \ldots, a\_{j\_n} as arguments to calculate, and outputs the result to a_ia\_i, then assign t_it\_i to maxt_j_1,t_j_2,,t_j_n+1\max\\{ t\_{j\_1}, t\_{j\_2}, \ldots, t\_{j\_n} \\} + 1. The runtime of your program is the maximum value of all t_it\_i generated during the sequential execution of all instructions.

Today, Kitten wants to use his computer to design a calculator. This calculator is used to quickly calculate the multiplication of 64-bit unsigned integers. At the beginning, registers a_1a\_1 and a_2a\_2 are set to two 64-bit unsigned integers xx and yy, respectively, while the other registers are set to 00. You need to help Kitten design a series of instructions for his program so that the final value of a_1a\_1 is the result of multiplying xx and yy, modulo 2642^{64}.

Kitten requires that the total number of your instructions does not exceed 100,000100\\,000, and the runtime of your program does not exceed 7070.

입력

There is no input for this problem.

출력

Output any number of lines (from 00 to 100,000100\\,000), each containing exactly one instruction formatted as shown above.

힌트

The example output does not solve the problem, it is given only to demonstrate the format.

When checking your output, the checker will perform the following checks.

  1. If your output exceeds 100,000100\\,000 lines, return WA and exit immediately.

  2. If your output contains an illegal instruction, return WA and exit immediately.

  3. Perform the following process 50005000 times:

    1. Given are two 64-bit unsigned integers xx and yy.
    2. Clear all registers to zero and make a_1=xa\_1 = x and a_2=ya\_2 = y.
    3. Execute your program.
    4. If the runtime exceeds 7070, return WA and exit immediately.
    5. Check if the value of a_1a\_1 is (xy)mod264(x \cdot y) \bmod 2^{64}. If not, return WA and exit immediately.
  4. Return OK and exit immediately.

Note that the checker will only check the register a_1a\_1. The final values of all other registers can be arbitrary.

The 50005000 pairs of xx and yy for the checker are fixed in advance.