@0
MOV RIGHT, ACC
JRO ACC
NOP
ADD 1
NOP
ADD 1
NOP
ADD 1
NOP
SUB 3
MOV ACC, RIGHT
ADD UP
MOV ACC, RIGHT
MOV ACC, DOWN
MOV RIGHT, DOWN

@1
MOV UP, ACC
SAV
SUB 1
MOV ACC, LEFT
MOV LEFT, ACC
NEG
ADD ACC
ADD 6
ADD LEFT
SWP
MOV ACC, LEFT
MOV ACC, DOWN
SWP
MOV ACC, DOWN

@2
MOV UP, DOWN
MOV UP, ACC
L: JRO DOWN
MOV ACC, DOWN
JMP L
ADD DOWN
MOV ACC, DOWN

@3
MOV UP, ACC
NEG
ADD 11
MOV UP, DOWN
SAV
ADD ACC
ADD ACC
L: JRO DOWN
MOV ACC, DOWN
JMP L
SWP
N: MOV ACC, DOWN
M: JRO DOWN
JMP N
MOV DOWN, DOWN

@5
MOV UP, ACC
SAV
K: MOV 1, UP
SUB UP
JGZ K
MOV 3, UP
MOV ACC, UP
SWP
SUB UP
MOV ACC, DOWN

@6
MOV UP, ACC
SAV
K: MOV 1, UP
SUB UP
JGZ K
MOV 3, UP
F: ADD UP
JGZ X
MOV 1, UP
JMP F
X: MOV 2, UP
MOV ACC, UP
SWP
SUB UP
MOV ACC, DOWN
