@0
I:MOV 999 RIGHT
MOV UP ACC
JEZ C
MOV ACC RIGHT
L:MOV UP ACC
C:MOV ACC DOWN
JEZ E
R:MOV RIGHT ACC
MOV ACC DOWN
MOV ACC DOWN
JRO DOWN
MOV UP ACC
MOV DOWN NIL
JMP C
E:MOV DOWN NIL

@3
A:MOV UP ACC
JEZ E
L:SAV
SUB UP
JGZ M
SWP
MOV UP RIGHT
MOV 1 UP
E:MOV ACC RIGHT
MOV RIGHT UP
JMP A
M:SWP
MOV UP DOWN
MOV -3 UP
JMP L

@4
A:MOV LEFT ACC
JEZ O
MOV ACC UP
MOV LEFT UP
MOV 1 DOWN
R:MOV DOWN ACC
JEZ E
MOV ACC UP
JMP R
O:MOV UP ACC
SUB 999
MOV ACC DOWN
JNZ O
E:MOV 0 LEFT

@7
MOV 0 LEFT
A:MOV UP ACC
JGZ R
JMP C
O:ADD 999
MOV ACC DOWN
MOV UP ACC
C:JLZ O
MOV 0 DOWN
JMP A
R:MOV LEFT ACC
MOV ACC UP
JNZ R
