@1
MOV UP, ACC
NEG
MOV ACC, DOWN
MOV ACC, DOWN

@2
MOV UP, ACC
MOV ACC, DOWN
MOV ACC, DOWN

@5
MOV UP, RIGHT
MOV UP, DOWN
MOV ACC, DOWN
SWP
MOV ACC, DOWN
MOV ACC, RIGHT
MOV RIGHT, ACC

@6
S: MOV LEFT, ACC
MOV ACC, RIGHT
JEZ Z
MOV UP, NIL
JMP U
Z: MOV UP, DOWN
U: MOV LEFT, RIGHT
MOV UP, LEFT

@7
MOV LEFT, DOWN
MOV ACC, DOWN
SWP
MOV ACC, DOWN
MOV LEFT, ACC

@8
S: MOV UP, ACC
JEZ D
JRO ACC
JMP O
JMP T
JMP D
JMP D
O: MOV UP, RIGHT
MOV UP, NIL
JMP S
T: MOV UP, NIL
MOV UP, RIGHT
JMP S
D: MOV UP, NIL
MOV UP, NIL

@9
MOV ANY, DOWN

@10
S: MOV UP, ACC
SUB 3
JEZ O
JLZ D
MOV UP, NIL
MOV UP, LEFT
JMP S
O: MOV UP, LEFT
MOV UP, NIL
JMP S
D: MOV UP, NIL
MOV UP, NIL
