@1
A: MOV UP, ACC
SAV
MOV RIGHT, ACC
SWP
MOV ACC, DOWN
SWP
SUB 1
JEZ E
L: SUB 1
SWP
MOV ACC, DOWN
SWP
JNZ L
E: MOV 0, DOWN

@2
MOV UP, LEFT

@4
N: MOV UP, ACC
MOV ACC, RIGHT
L: MOV UP, ACC
JEZ S
MOV ACC, DOWN
JMP L
S: MOV 0, RIGHT

@5
MOV LEFT, DOWN

@6
L: MOV UP, ACC
MOV ACC, RIGHT
I: SUB 1
SWP
ADD RIGHT
SWP
JNZ I
E: SWP
MOV ACC, RIGHT

@7
A: MOV UP, ACC
L: SAV
MOV ANY, ACC
JEZ E
I: SUB 1
SWP
MOV ACC, LEFT
SWP
JNZ I
M: MOV LEFT, ACC
JMP L
E: SWP
MOV ACC, DOWN
