This program goes with another one I am making. It will be a maze, but you only see a small part of it at once. These pathways are all variations of a four-way intersection. There are 15 different variations The paths lead up, down, left, and right. the program uses the variable P to output the correct paths.

I need to optimize this code. But I don't know where to start. It is pretty long.

```
If P=1:Then
Goto 1:Else
If P=2:Then
Goto 2:Else
If P=3:Then
Goto 3:Else
If P=4:Then
Goto 4:Else
If P=5:Then
Goto 5:Else
If P=6:Then
Goto 6:Else
If P=7:Then
Goto 7:Else
If P=8:Then
Goto 8:Else
If P=9:Then
Goto 9:Else
If P=10:Then
Goto 10:Else
If P=11:Then
Goto 11:Else
If P=12:Then
Goto 12:Else
If P=13:Then
Goto 13:Else
If P=14:Then
Goto 14:Else
If P=15:Then
Goto 15:Else
Stop
Lbl 1:ClrHome
Output(1,6,"! !"):Output(2,6,"! ! // this gap is 4 spaces long
Output(3,1,"----- -----
Output(6,1,"----- -----
Output(7,6,"! !"):Output(8,6,"! !"):Goto A:Stop
Lbl 2:ClrHome
Output(3,1,"----------------
Output(6,1,"----- ----- // this gap is 6 spaces long
Output(7,6,"! !"):Output(8,6,"! !"):Goto A:Stop
Lbl 3:ClrHome
Output(1,6,"! !"):Output(2,6,"! !
Output(3,1,"----- -----
Output(6,1,"----------------
Goto A:Stop
Lbl 4:ClrHome
Output(1,6,"! !"):Output(2,6,"! !
Output(3,1,"----- ! // this gap is 5 spaces long
Output(4,11,"!
Output(5,11,"!
Output(6,1,"----- !
Output(7,6,"! !"):Output(8,6,"! !"):Goto A:Stop
Lbl 5:ClrHome
Output(1,6,"! !"):Output(2,6,"! !
Output(3,6,"! -----
Output(4,6,"!
Output(5,6,"!
Output(6,6,"! -----
Output(7,6,"! !"):Output(8,6,"! !"):Goto A:Stop
Lbl 6:ClrHome
Output(1,6,"! !"):Output(2,6,"! !
Output(3,6,"! -----
Output(4,6,"!
Output(5,6,"!
Output(6,7,"----------") Goto A:Stop
Lbl 7:ClrHome
Output(3,7,"----------
Output(4,6,"!
Output(5,6,"!
Output(6,6,"! -----
Output(7,6,"! !"):Output(8,6,"! !"):Goto A:Stop
Lbl 8:ClrHome
Output(3,1,"----------
Output(4,11,"!
Output(5,11,"!
Output(6,1,"----- !
Output(7,6,"! !"):Output(8,6,"! !"):Goto A:Stop
Lbl 9:ClrHome
Output(1,6,"! !"):Output(2,6,"! !
Output(3,1,"----- !
Output(4,11,"!
Output(5,11,"!
Output(6,1,"----------"):Goto A:Stop
Lbl 10:ClrHome
Output(1,6,"! !"):Output(2,6,"! !"):Output(3,6,"! !
Output(4,6,"! !"):Output(5,6,"! !"):Output(6,6,"! !
Output(7,6,"! !"):Output(8,6,"! !"):Goto A:Stop
Lbl 11:ClrHome
Output(3,1,"----------------
Output(6,1,"----------------
Goto A:Stop
Lbl 12:ClrHome
Output(3,7,"----------
Output(4,6,"!
Output(5,6,"!
Output(6,7,"----------
Goto A:Stop
Lbl 13:ClrHome
Output(3,7,"----
Output(4,6,"! !"):Output(5,6,"! !"):Output(6,6,"! !
Output(7,6,"! !"):Output(8,6,"! !"):Goto A:Stop
Lbl 14:ClrHome
Output(3,1,"----------
Output(4,11,"!
Output(5,11,"!
Output(6,1,"----------"):Goto A:Stop
Lbl 15:ClrHome
Output(1,6,"! !"):Output(2,6,"! !"):Output(3,6,"! !
Output(4,6,"! !"):Output(5,6,"! !
Output(6,7,"----"):Goto A:Stop
Lbl A:prgmLABRYNTH
```