@1
R: MOV UP, ACC
C: SUB 1
JEZ D
ADD 1
L: MOV ACC, DOWN
SAV
MOV DOWN, ACC
JNZ C
SWP
JMP L
D: MOV 0, DOWN
JMP R

@4
T: MOV UP, ACC
JEZ E
L: SUB DOWN
MOV ACC, RIGHT
JGZ K
JEZ OK
MOV 2, DOWN
Y: MOV RIGHT, UP
JMP T
K: MOV 1, DOWN
JMP L
OK: MOV 4, DOWN
JMP Y
E: MOV DOWN, NIL
MOV 6, DOWN

@5
JMP L
C: SWP
ADD 1
SWP
L: MOV LEFT, ACC
JGZ C
JEZ S
MOV 0, ACC
SAV
MOV ACC, LEFT
JMP L
S: SWP
ADD 1
MOV ACC, LEFT

@8
S: MOV 2, ACC
L: MOV ACC, UP
JRO UP
JMP L
ADD 1
JMP L
MOV ACC, DOWN
JMP L
MOV 0, DOWN
