@0
L: MOV UP, ACC
SAV
MOV UP, ACC
SUB 8
MOV ACC, DOWN
SWP
MOV ACC, DOWN
JNZ X
MOV UP, DOWN
X: SWP
MOV ACC, DOWN

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

@4
L: MOV UP, LEFT
MOV UP, ACC
JEZ W
MOV UP, LEFT
MOV LEFT, ACC
MOV ACC, DOWN
MOV ACC, LEFT
JMP L
W: MOV UP, ACC
MOV UP, LEFT
MOV LEFT, NIL
MOV ACC, LEFT

@7
SUB 4
I: MOV 0, LEFT
MOV 0, LEFT
ADD 1
JLZ I
L: MOV UP, DOWN
JMP L
