@1
L: MOV UP, ACC
MOV ACC, RIGHT
MOV ACC, DOWN
MOV ACC, RIGHT
JEZ Z
MOV -4, DOWN
JMP L
Z: MOV 1, DOWN

@2
MOV 999, ACC
L: SUB LEFT
JGZ LO
ADD LEFT
JMP L
LO: MOV LEFT, ACC
JEZ DN
SAV
JMP L
DN: SWP
MOV ACC, DOWN

@3
L1: SUB UP
SWP
ADD 1
SWP
JRO UP
MOV ACC, DOWN
SWP
MOV ACC, RIGHT
MOV 0, ACC
SAV

@5
MOV UP, ACC
L: ADD RIGHT
ADD RIGHT
JRO RIGHT
MOV ACC, DOWN

@6
MOV UP, ACC
SAV
MOV UP, ACC
L2: SUB 1
SWP
MOV ACC, LEFT
SWP
MOV ACC, LEFT
JEZ DN
MOV -2, LEFT
JMP L2
DN: MOV 1, LEFT
