@0
L: SWP
SUB 1
SWP
MOV UP, ACC
MOV ACC, RIGHT
JNZ L
SWP
MOV ACC, DOWN

@1
MOV UP, ACC
MOV ACC, DOWN
MOV ACC, DOWN

@2
MOV UP, RIGHT

@3
MOV LEFT, ACC
B: MOV UP, DOWN
ADD 1
JLZ B
R: MOV DOWN, ACC
MOV ACC, RIGHT
MOV ACC, DOWN
S: MOV RIGHT, ACC
JLZ B
JEZ R
F: MOV DOWN, UP
SUB 1
JGZ F
JMP R

@4
MOV LEFT, DOWN
ADD UP
MOV ACC, LEFT
MOV UP, ACC
NEG

@7
MOV UP, NIL
L: MOV UP, DOWN
JMP L
