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

@3
C:SAV
SUB UP
JGZ S
MOV 1 UP
MOV 0 RIGHT
SWP
MOV ACC DOWN
MOV RIGHT NIL
MOV DOWN ACC
JMP C
S:SWP
MOV ACC RIGHT
MOV -1 UP
MOV DOWN ACC

@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
A:MOV UP ACC
JEZ O
MOV ACC LEFT
R:MOV UP ACC
JEZ D
MOV ACC LEFT
JMP R
O:MOV UP ACC
MOV ACC DOWN
JNZ O
D:MOV 0 UP
