@0
L: MOV UP, ACC
MOV ACC, RIGHT
SWP
ADD 1
SWP
JNZ L
SWP
MOV ACC, DOWN
D: MOV RIGHT, DOWN
SUB 1
JNZ D

@1
MOV UP, DOWN

@2
MOV UP, ACC
MOV ACC, DOWN
L: MOV UP, DOWN
SUB 1
JNZ L
MOV 1, RIGHT

@3
G: MOV LEFT, NIL
Q: MOV RIGHT, ACC
JEZ T
L: MOV DOWN, UP
SUB 1
JNZ L
T: MOV DOWN, ACC
MOV ACC, RIGHT
MOV ACC, DOWN
MOV RIGHT, ACC
JEZ Q
C: MOV UP, DOWN
SUB 1
JGZ C
JMP Q

@4
L: MOV UP, ACC
MOV ACC, LEFT
MOV LEFT, DOWN
MOV ACC, LEFT
JMP L

@6
MOV UP, ACC
L: MOV UP, RIGHT
SUB 1
JNZ L

@7
MOV UP, DOWN
