@0


@1
 MOV -1, RIGHT
L:MOV UP, ACC
 MOV ACC, DOWN
 MOV ACC, DOWN
 JLZ E
 MOV ACC, RIGHT
 JMP L
E:MOV DOWN, NIL

@2


@3


@4
 MOV 999, ACC
L:SAV
 SUB UP
 JGZ NEW
 ADD UP
 JMP L
NEW:MOV UP, ACC
 JGZ L
FIN:SWP
 NEG
 MOV ACC, RIGHT
 MOV RIGHT, UP

@5
 MOV -1, RIGHT
S:MOV LEFT, ACC
 SAV
REV:MOV UP, ACC
 JLZ RD
 MOV ACC, RIGHT
 JMP REV
RD:MOV 999, LEFT
L3:SWP
 SAV
 ADD RIGHT
 JLZ T
 MOV ACC, DOWN
 JMP L3
T:MOV -1, DOWN

@6


@7
MOV UP, DOWN

@8

