@0
A:MOV UP ACC
L:MOV ACC DOWN
JRO DOWN
MOV ACC RIGHT

@3
C:MOV DOWN ACC
SAV
JNZ R
MOV 999 ACC
R:SUB UP
JLZ S
MOV 1 UP
MOV 0 RIGHT
SWP
MOV ACC DOWN
MOV RIGHT NIL
JMP C
S:SWP
MOV ACC RIGHT
MOV -1 UP

@4
A:MOV 0 UP
L:MOV LEFT ACC
JEZ I
MOV ACC UP
JMP L
I:MOV UP DOWN
R:MOV UP ACC
MOV ACC DOWN
JNZ R
MOV DOWN LEFT

@7
MOV 0 LEFT
A:MOV UP ACC
JEZ O
MOV ACC LEFT
R:MOV UP ACC
JEZ D
MOV ACC LEFT
JMP R
D:MOV 0 UP
JMP A
O:MOV LEFT ACC
MOV ACC DOWN
JNZ O
MOV UP NIL
MOV 0 UP
