@0
MOV UP, ACC
MOV ACC, DOWN
MOV ACC, RIGHT
MOV RIGHT, ACC
L: SAV
SUB DOWN
NEG
MOV ACC, DOWN
JLZ F
SWP
JMP L
F: SWP
MOV ACC, DOWN
MOV ACC, DOWN
MOV ACC, DOWN

@1
MOV UP, ACC
SAV
MOV LEFT, ACC
MOV ACC, DOWN
SWP
MOV ACC, LEFT
MOV ACC, DOWN

@2
MOV UP, ACC
MOV ACC, DOWN
L: MOV ACC, UP
MOV UP, ACC
JLZ F
JMP L
F: ADD UP
SAV
MOV ACC, DOWN
MOV UP, ACC
MOV ACC, DOWN
SWP
MOV ACC, DOWN
MOV UP, ACC
MOV ACC, DOWN

@3
MOV UP, ACC
SAV
MOV UP, ACC
MOV ACC, RIGHT
SWP
MOV ACC, DOWN
L: MOV ACC, RIGHT
MOV RIGHT, ACC
JLZ F
JMP L
F: ADD RIGHT
MOV ACC, DOWN
MOV ACC, DOWN

@4
MOV LEFT, ACC
NEG
ADD 11
SAV
L: SAV
SUB LEFT
NEG
MOV ACC, LEFT
JLZ F
SWP
JMP L
F: SWP
MOV ACC, LEFT
MOV ACC, DOWN
MOV ACC, DOWN

@5
S: MOV UP, ACC
SAV
MOV UP, ACC
ADD ACC
SUB UP
JGZ U
SWP
SUB UP
MOV UP, NIL
MOV ACC, DOWN
JMP S
U: SWP
SUB UP
ADD UP
MOV ACC, DOWN

@6
S: MOV UP, ACC
SAV
MOV UP, ACC
ADD ACC
SUB RIGHT
JGZ U
SWP
SUB UP
MOV RIGHT, NIL
MOV ACC, DOWN
JMP S
U: SWP
SUB UP
ADD RIGHT
MOV ACC, DOWN

@7
MOV UP, ACC
MOV ACC, LEFT
