@0
MOV 4, ACC
I: MOV 0, LEFT
MOV 0, LEFT
SUB 1
JNZ I
S: MOV UP, ACC
SAV
MOV UP, ACC
MOV ACC, DOWN
MOV ACC, DOWN
SWP
MOV ACC, DOWN
JNZ S
MOV UP, DOWN
JMP S

@3
M: MOV RIGHT, ACC
JLZ P
JEZ OP
N: MOV DOWN, UP
SUB 1
JGZ N
JMP OP
P: MOV UP, DOWN
ADD 1
JLZ P
OP: MOV UP, ACC
MOV ACC, RIGHT
MOV RIGHT, UP

@4
S: SWP
SUB UP
MOV ACC, LEFT
MOV UP, ACC
SAV
MOV UP, ACC
JEZ W
MOV LEFT, ACC
MOV ACC, DOWN
MOV ACC, LEFT
JMP S
W: MOV UP, ACC
MOV LEFT, NIL
MOV ACC, LEFT

@7
MOV UP, DOWN
