It's early in the morning and the Croatian IOI team is starting to assemble at the Zagreb airport. The trip is long with the final destination being Singapore with a layover in Amsterdam. Mr. Malnar drank the last drop of his grapefruit-based beverage and ordered the team to proceed to the gate. As it usually happens, he disappeared after the security check and somehow managed to show up just a few minutes before boarding.
Olympian 1: Where were you?! I swear you're gonna miss the next flight if you keep doing this.
Mr. Malnar: It's not my fault this time, the security wouldn't let me through. They thought I might be a terrorist.
Olympian 2: A terrorist?! You wouldn't hurt a fly. What happened?
Mr. Malnar: Ah, they found MalnaRISC (Reduced Instruction Set Computer) and refused to believe me that I am capable of building my own processor. They let me go once I explained how efficient it is at sorting integers.
Olympian 3: I also wouldn't believe you. As a matter of fact, I still don't. What makes your processor so interesting?
Mr. Malnar: You are members of our national IOI team, I shouldn't need to explain anything to you. Here is the documentation, figure it out yourselves.
Olympian 4: Give that to me, I'll solve this year's COI on it using the assembly.
The assembly language for MalnaRISC contains a single instruction:
CMPSWP
– swaps the values in registers and if holds.
What's special about MalnaRISC is that all instructions written in the same line will execute in parallel during a single nanosecond. Naturally, each register can only be used at most once as an argument in a single line.
It is known that registers
Note: The sample input is not in the test data. Also for each subtask, your solution will be validated against a series of sequences of
Input Specification
The only line contains an integer
Output Specification
Output an integer
In the next CMPSWP
Scoring
Subtask | Points | ||||
---|---|---|---|---|---|
If you have outputted a correct program on some subtask that correctly sorts the values in registers in
The points for each subtask will be rounded to two decimal places. The total score is obtained by summing these points and rounding that sum in the same manner.
Sample Input 1
2
Sample Output 1
1
CMPSWP R1 R2
Sample Input 2
3
Sample Output 2
3
CMPSWP R1 R2
CMPSWP R1 R3
CMPSWP R2 R3
Sample Input 3
4
Sample Output 3
4
CMPSWP R1 R3
CMPSWP R2 R4
CMPSWP R1 R2 CMPSWP R3 R4
CMPSWP R2 R3
Comments