@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
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
