@0
MOV UP ACC
SAV
MOV ACC RIGHT
MOV ACC DOWN
MOV RIGHT ACC
ADD ACC
MOV ACC DOWN
MOV RIGHT ACC
MOV RIGHT DOWN
MOV ACC RIGHT
SWP
SUB DOWN
MOV ACC DOWN

@1
MOV LEFT DOWN
MOV UP ACC
SAV
MOV ACC LEFT
NEG
ADD 11
MOV ACC LEFT
ADD ACC
ADD ACC
MOV ACC DOWN
SWP
MOV ACC LEFT
MOV LEFT DOWN

@2
A:MOV UP DOWN
MOV UP ACC
L:MOV ACC DOWN
JRO DOWN
ADD DOWN
SAV
ADD DOWN
JGZ C
SWP
MOV DOWN NIL
JMP O
C:MOV DOWN ACC
O:MOV ACC UP
MOV UP DOWN
JMP A

@3
A:MOV UP RIGHT
MOV RIGHT DOWN
MOV UP ACC
L:MOV ACC DOWN
JRO DOWN
ADD DOWN
SAV
ADD DOWN
MOV ACC RIGHT
SWP
MOV ACC RIGHT
MOV DOWN RIGHT
MOV RIGHT RIGHT
MOV RIGHT DOWN
JMP A

@4
MOV LEFT ACC
MOV ACC LEFT
SAV
MOV LEFT ACC
JGZ C
MOV LEFT ACC
MOV LEFT NIL
JMP O
C:MOV LEFT NIL
MOV LEFT ACC
O:MOV ACC LEFT
SWP
SUB LEFT
MOV ACC LEFT

@5
MOV UP ACC
B:SUB UP
MOV -1 UP
JGZ B
MOV UP NIL
MOV -2 UP
S:ADD UP
MOV -1 UP
JLZ S
SUB UP
MOV 1 UP
MOV ACC UP
MOV ACC UP
MOV ACC UP
MOV UP DOWN

@6
MOV UP ACC
B:SUB UP
MOV -1 UP
JGZ B
MOV UP NIL
MOV -2 UP
S:ADD UP
MOV -1 UP
JLZ S
SUB UP
MOV 1 UP
MOV ACC UP
MOV ACC UP
MOV ACC UP
MOV UP DOWN
