@0
L: MOV RIGHT, ACC
JLZ F
JEZ R
SAV
JMP L
R: SWP
F: MOV ACC, DOWN

@1
S: MOV UP, ACC
T: MOV ACC, LEFT
NEG
M: ADD 8
MOV ACC, RIGHT
JLZ M
JNZ R
MOV 11, RIGHT
R: MOV RIGHT, ACC
JLZ O
MOV -2, LEFT
JMP T
O: MOV 0, LEFT

@2
ADD 4
JRO LEFT
JMP Z
JMP L1
JMP Z
JMP L2
JMP Z
JMP L3
Z: NEG
L3: SUB 1
L2: SUB 1
L1: SUB 1
MOV ACC, LEFT
MOV 0, ACC

@3
S: MOV UP, ACC
JLZ F
T: MOV ACC, RIGHT
M: SUB 3
SWP
ADD 1
SWP
JGZ M
JLZ N
MOV -3, RIGHT
SWP
JMP T
N: MOV 0, ACC
SAV
F: MOV ACC, RIGHT

@4
L: MOV LEFT, ACC
JLZ F
JEZ R
SAV
JMP L
R: SWP
F: MOV ACC, RIGHT

@5
S: MOV LEFT, ACC
JLZ F
T: MOV ACC, RIGHT
M: SUB 5
SWP
ADD 1
SWP
JGZ M
JLZ N
MOV -5, RIGHT
SWP
JMP T
N: MOV 0, ACC
SAV
F: MOV ACC, RIGHT

@6
L: MOV LEFT, ACC
JLZ F
JEZ R
SAV
JMP L
R: SWP
F: MOV ACC, DOWN

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

@9
K: SAV
L: MOV RIGHT, ACC
JGZ K
JLZ F
SWP
F: MOV ACC, LEFT

@10
S: MOV UP, ACC
JLZ F
T: MOV ACC, LEFT
M: SUB 7
SWP
ADD 1
SWP
JGZ M
JLZ N
MOV -7, LEFT
SWP
JMP T
N: MOV 0, ACC
SAV
F: MOV ACC, LEFT
