@0
MOV 999, ACC
SAV
L: SUB RIGHT
JGZ N
ADD RIGHT
JMP L
N: MOV RIGHT, ACC
JEZ D
SAV
JMP L
D: SWP
MOV ACC, DOWN
MOV ACC, DOWN

@1
L: MOV UP, ACC
MOV ACC, LEFT
MOV ACC, LEFT
MOV ACC, RIGHT
MOV ACC, RIGHT
MOV ACC, DOWN
MOV ACC, DOWN
MOV UP, ACC
MOV ACC, LEFT
MOV ACC, LEFT
MOV ACC, RIGHT
MOV ACC, RIGHT
MOV ACC, DOWN
MOV ACC, DOWN
JMP L

@2
MOV -999, ACC
SAV
L: SUB LEFT
JLZ N
MOV LEFT, ACC
JEZ D
SWP
SAV
JMP L
N: MOV LEFT, ACC
SAV
JMP L
D: SWP
MOV ACC, DOWN
MOV ACC, DOWN

@3
SUB ACC
L: SAV
MOV UP, ACC
JEZ D
SWP
ADD UP
JMP L
D: MOV UP, NIL
MOV LEFT, DOWN
MOV RIGHT, ACC
SUB LEFT
MOV ACC, DOWN
MOV RIGHT, DOWN
SWP
MOV ACC, DOWN

@5
MOV UP, ACC
ADD ACC
ADD ACC
SAV
MOV UP, ACC
SUB 4
JEZ I
MOV UP, NIL
SWP
JMP F
I: SWP
ADD UP
F: ADD 6
SUB UP
MOV ACC, DOWN
