@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
MOV UP, DOWN

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

@7
A: MOV LEFT, 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
