@1
S: MOV 0, RIGHT
L: MOV -1, ACC
SUB UP
MOV ACC, DOWN
MOV ACC, DOWN
JEZ E
MOV ACC, RIGHT
MOV -1, ACC
SUB UP
MOV ACC, DOWN
MOV ACC, DOWN
JEZ E
MOV ACC, RIGHT
JMP L
E: MOV DOWN, NIL

@4
S: MOV -999, ACC
L: SAV
SUB UP
JLZ N
SWP
MOV UP, NIL
JMP L
N: MOV UP, ACC
JNZ L
SWP
MOV ACC, RIGHT
MOV RIGHT, UP

@5
MOV LEFT, DOWN
MOV 0, RIGHT
T: MOV UP, ACC
JEZ P
MOV ACC, RIGHT
MOV UP, ACC
JEZ P
MOV ACC, RIGHT
JMP T
P: MOV 1, LEFT
S2: MOV RIGHT, ACC
MOV ACC, DOWN
JNZ S2

@7
MOV UP, ACC
L: SAV
SUB UP
JLZ D
MOV ACC, DOWN
SWP
SAV
SUB UP
JLZ D
MOV ACC, DOWN
SWP
JMP L
D: MOV -1, DOWN
