@0
MOV UP,RIGHT

@1
MOV LEFT,DOWN

@2
N: MOV UP,ACC
SAV
R: MOV ACC,DOWN
MOV DOWN,ACC
JNZ N
SWP
JMP R

@3


@4
MOV RIGHT,ACC
SAV
MOV RIGHT,DOWN
R: MOV RIGHT,ACC
JEZ H
SUB 1
MOV ACC,DOWN
MOV DOWN,RIGHT
JMP R
H: SWP
MOV ACC,RIGHT
SWP
JMP R

@5
MOV UP,ACC
SAV
MOV UP,LEFT
MOV UP,LEFT
R: MOV RIGHT,ACC
JEZ H
SUB 1
MOV ACC,LEFT
MOV LEFT,RIGHT
JMP R
H: SWP
MOV ACC,RIGHT
SWP
JMP R

@6
C: MOV DOWN,LEFT
MOV UP,ACC
SUB LEFT
MOV ACC,DOWN
MOV DOWN,UP

@7


@8
MOV UP,ACC
R: MOV UP,NIL
MOV ACC,UP
JMP R

@9
C: SAV
MOV ACC,RIGHT
MOV RIGHT,ACC
JEZ M
SWP
ADD 1
MOV ACC,RIGHT
MOV 0,ACC
JMP C
M: SWP
ADD 1
SUB 3
MOV ACC,RIGHT
JEZ C
ADD 3

@10
C: MOV LEFT,UP
MOV UP,LEFT
MOV LEFT,ACC
JLZ N
JEZ F
SUB 1
JEZ N
MOV 0,UP
JMP C
N: MOV 1,UP
MOV 0,DOWN
JMP C
F: MOV 1,UP
MOV 1,DOWN
