@0
MOV RIGHT, ACC
Q: SUB 2
SWP
ADD 1
SWP
JGZ Q
SWP
MOV ACC, RIGHT

@1
MOV UP, ACC
S: SAV
M: SUB 2
JGZ M
JLZ N
SWP
MOV ACC, LEFT
MOV -2, DOWN
MOV LEFT, ACC
JMP S
N: SWP
MOV ACC, DOWN

@2
MOV DOWN, ACC
Q: SUB 5
SWP
ADD 1
SWP
JGZ Q
SWP
MOV ACC, DOWN

@3
MOV RIGHT, ACC
Q: SUB 3
SWP
ADD 1
SWP
JGZ Q
SWP
MOV ACC, RIGHT

@4
MOV UP, ACC
S: SAV
M: SUB 3
JGZ M
JLZ N
SWP
MOV ACC, LEFT
MOV -3, RIGHT
MOV LEFT, ACC
JMP S
N: SWP
MOV ACC, RIGHT

@5
MOV LEFT, ACC
S: SAV
M: SUB 5
JGZ M
JLZ N
SWP
MOV ACC, UP
MOV -5, DOWN
MOV UP, ACC
JMP S
N: SWP
MOV ACC, DOWN

@8
L: MOV RIGHT, ACC
JGZ P
NEG
MOV ACC, DOWN
JMP L
P: SUB 1
JEZ Z
ADD 1
MOV ACC, DOWN
Z: MOV 0, DOWN

@9
MOV UP, ACC
S: SAV
M: SUB 7
JGZ M
JLZ N
SWP
MOV ACC, RIGHT
MOV -7, LEFT
MOV RIGHT, ACC
JMP S
N: SWP
MOV ACC, LEFT

@10
MOV LEFT, ACC
Q: SUB 7
SWP
ADD 1
SWP
JGZ Q
SWP
MOV ACC, LEFT
