@0
L: MOV UP, ACC
JEZ E
MOV ACC, RIGHT
SWP
SUB 1
SWP
JMP L
E: SWP
MOV ACC, RIGHT

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

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

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

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