@1
MOV UP, ACC
MOV ACC, RIGHT
MOV ACC, DOWN
MOV ACC, RIGHT

@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
L: MOV UP, ACC
MOV ACC, DOWN
JEZ Z
MOV -1, DOWN
SWP
ADD 1
SWP
JMP L
Z: MOV 1, DOWN
SWP
MOV ACC, DOWN
MOV RIGHT, ACC
L2: MOV ACC, DOWN
ADD 1
JRO DOWN

@5
L1: SUB UP
JRO UP
SWP
MOV UP, ACC
L2: SWP
ADD UP
SWP
JEZ DN
SUB 1
MOV -2, UP
JMP L2
DN: MOV -99, UP
SWP
MOV ACC, DOWN
MOV 0, ACC
