@0
MOV 999 RIGHT
L:MOV UP ACC
MOV ACC DOWN
JEZ W
R:MOV RIGHT ACC
MOV ACC DOWN
MOV ACC DOWN
JRO DOWN
W:MOV DOWN NIL
JMP L

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

@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
MOV 999 UP
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
