@0
MOV UP, ACC
MOV ACC, RIGHT
MOV ACC, RIGHT

@1
E: MOV UP, ACC
SAV
SUB LEFT
JGZ B
MOV LEFT, DOWN
SWP
JMP S
B: SWP
MOV ACC, DOWN
MOV LEFT, ACC
S: MOV ACC, DOWN
MOV ACC, DOWN

@2
MOV UP, ACC
SAV
SUB RIGHT
JGZ C
SWP
MOV ACC, DOWN
MOV RIGHT, ACC
JMP S
C:
MOV RIGHT, DOWN
SWP
S:
MOV ACC, DOWN
MOV ACC, DOWN

@3
MOV UP, ACC
MOV ACC, LEFT
MOV ACC, LEFT

@5
MOV UP, ACC
SAV
SUB RIGHT
JLZ H
MOV RIGHT, ACC
JMP S
H: MOV RIGHT, NIL
SWP
S: MOV ACC, RIGHT
MOV UP, RIGHT
MOV UP, RIGHT

@6
MOV UP, ACC
SAV
MOV UP, LEFT
MOV UP, LEFT
MOV LEFT, DOWN
SUB LEFT
JGZ L
MOV LEFT, ACC
JMP S
L:
MOV LEFT, NIL
SWP
S:
MOV ACC, DOWN
MOV ACC, DOWN

@9
E: MOV UP, ACC
SAV
SUB UP
JGZ X
MOV UP, DOWN
JMP E
X: MOV UP, NIL
SWP
MOV ACC, DOWN
