@0
MOV UP,ACC
SAV
L: MOV RIGHT,ACC
JEZ N
SWP
MOV ACC,RIGHT
MOV ACC,RIGHT
JMP C
N: MOV 0,RIGHT
MOV 0,RIGHT
MOV UP,ACC
C: SAV
JMP L

@1
L: MOV UP,ACC
MOV ACC,LEFT
SAV
SUB LEFT
JLZ C
MOV LEFT,NIL
SWP
JMP O
C: MOV LEFT,ACC
O: MOV ACC,RIGHT
JMP L

@2
JNZ L
N: MOV UP,ACC
MOV ACC,DOWN
L: MOV LEFT,ACC
SAV
SUB DOWN
JGZ C
SWP
MOV DOWN,NIL
JMP O
C: MOV DOWN,ACC
O: MOV ACC,DOWN
JNZ L

@4
MOV RIGHT,DOWN

@5
JNZ L
N: MOV UP,ACC
SAV
L: SWP
MOV ACC,UP
SAV
MOV ACC,UP
MOV UP,ACC
MOV ACC,LEFT
JNZ L

@8
MOV UP,DOWN
