00100 PROGRAM BANNER(OUTPUT,INPUT=0) 00200 COMMON M(32,60),L(80) 00300 DIMENSION NN(63),IV(63) 00400 DATA NN/24,12,8*24,6,6,12,6,18,24, 00500+18,8*24,12,0,6,15,24,24,0,18,18,24,24,31,5*24, 00600+0,24,18,0,24,18,18,5*24,31,3*24,0,6,3*12/ 00700 DATA IV/21B,22B,23B,24B,25B,26B,27B,30B,31B,41B, 00800+42B,43B,44B,45B,46B,47B,50B,51B,62B,63B,64B,65B,66B, 00810+67B,70B,71B,0,1,2,3,4,5,6,7,10B,11B,20B,40B,54B, 00900+61B,14B,74B,53B,16B,60B,73B,33B,34B, 01000+75B,76B,13B,12B,20B,37B,52B,57B,17B,36B,56B,32B,35B,72B,15B/ 01100 1000 PRINT ,*WARNING - HAVE PLENTY OF PAPER. INPUT LETTERS.* 01200 LF=67B 01300 READ 70,L 01400 70 FORMAT(80R1) 01500 MX=81 01600 71 MX=MX-1 $ IF(L(MX)-55B)72,71,72 01700 72 PRINT 70,(LF,IXI=1,13)$DO 76 MM=1,MX 01800 LL=L(MM) $ L1=IV(LL)+1 $ K=NN(L1) 01900 98 DO73I=1,K$DO73J=1,60 02000 73M(I,J)=55B 02100 GOTO(38,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22, 02200+23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43, 02300+44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63)L1 02400 1CALLQ(51,60,2.5,6.5)$CALLS(5,8,7,60)$CALLS(1,12,1,6)$GOTO99 02500 2 CALLO(12.5,44.,8.,10.5,1,24,46,60) 02600 CALLS(21,24,38,45)$CALLQ(6,37,2.5,22.5)$CALLS(1,24,1,6)$GOTO99 02700 3CALLQ(34,55,15.,22.5)$GOTO58 02800 4 CALLQ(17,60,3.,18.5)$CALLS(1,24,11,16)$CALLS(17,20,1,60)$GOTO99 02900 5CALLS(1,4,28,54)$CALLS(5,12,28,33) 03000 58 CALLS(1,24,55,60)$GOTO45 03100 6 CALLO(30.,20.,25.5,37.,1,24,24,60) 03200 CALLO(12.5,17.,8.,10.5,1,24,1,33)$GOTO99 03300 8 CALLO(12.5,17.,8.,10.5,1,24,1,30)$GOTO42 03400 9CALLO(-5.,41.,25.5,37.,1,24,1,37) 03500 42CALLO(12.5,44.,8.,10.5,1,24,28,60)$GOTO99 03600 11CALLD(1,17,2)$CALLD(1,37,2)$GOTO99 03700 23CALLS(21,24,1,30)$CALLS(13,20,25,30) 03800 19CALLO(12.5,30.5,8.,24.,13,24,1,15) 03900 CALLO(12.5,30.5,8.,24.,13,24,46,60) 04000 12CALLO(12.5,30.5,8.,24.,1,12,1,60)$GOTO99 04100 14CALLS(1,18,24,27)$CALLS(1,18,34,37)$GOTO99 04200 16CALLS(8,11,17,44) 04300 32CALLS(1,18,28,33)$GOTO99 04400 17CALLQ(1,60,2.5,12.5)$CALLQ(1,60,22.5,12.5)$CALLS(7,18,11,16)$GOTO99 04500 18CALLO(12.5,17.,8.,10.5,16,24,1,30)$CALLS(5,15,1,6)$GOTO39 04600 20CALLO(12.5,30.5,8.,24.,15,24,1,60)$GOTO61 04700 21CALLS(5,24,1,6) 04800 22CALLS(16,24,55,60) 04900 31CALLS(5,15,55,60)$CALLS(5,15,28,33)$GOTO64 05000 24CALLS(5,20,28,33) 05100 26CALLS(21,24,1,60)$GOTO64 05200 25CALLS(5,8,7,54)$GOTO63 05300 27CALLD(1,3,2)$GOTO99 05400 28CALLD(10,54,3) 05500 10CALLD(1,54,3)$GOTO99 05600 29CALLO(12.5,44.,8.,10.5,1,24,41,60)$CALLS(10,13,16,33) 05700 CALLO(12.5,44.,8.,10.5,14,24,28,40)$CALLD(9,3,2)$GOTO99 05800 30CALLQ(11,30,26.5,2.5)$CALLQ(31,50,2.5,26.5)$GOTO99 05900 33CALLO(9.5,20.,5.,13.5,1,18,1,20)$CALLS(15,18,21,60)$GOTO99 06000 34CALLQ(21,60,2.5,22.5)$CALLQ(1,39,22.5,13.)$GOTO64 06100 35CALLS(5,24,1,6)$GOTO64 06200 36CALLQ(1,60,2.,6.)$CALLQ(31,60,16.,6.)$CALLQ(31,60,16.,26.) 06300 CALLQ(1,60,30.,26.)$GOTO99 06400 37CALLQ(1,60,22.5,2.5)$GOTO26 06500 40CALLQ(1,20,22.5,15.) 06600 38CALLO(12.5,30.5,8.,24.,1,24,1,60)$GOTO99 06700 41CALLQ(1,30,22.5,16.) 06800 39CALLO(12.5,44.,8.,10.5,16,24,28,60)$GOTO31 06900 43CALLS(8,10,1,60)$CALLS(15,17,1,60)$GOTO50 07000 44CALLQ(21,40,2.,17.)$CALLQ(21,40,17.,2.)$CALLS(8,11,17,44)$GOTO99 07100 46CALLQ(11,30,-1.5,22.5)$CALLQ(31,50,22.5,-1.5)$GOTO99 07200 47CALLQ(49,60,2.5,9.5)$CALLQ(49,60,16.5,9.5)$CALLS(8,11,1,55)$GOTO99 07300 48 PRINT 70,(LF,IXI=1,13)$GOTO 76 07400 49CALLQ(1,60,2.5,22.5)$GOTO99 07500 50CALLO(12.5,44.,8.,10.5,13,24,46,60) 07600 CALLO(12.5,44.,8.,10.5,1,12,28,60) 07700 45CALLO(12.5,17.,8.,10.5,13,24,1,33) 07800 CALLO(12.5,17.,8.,10.5,1,12,1,15)$GOTO99 07900 51CALLS(11,14,1,54)$CALLS(1,24,55,60)$GOTO99 08000 52CALLO(12.5,30.5,8.,24.,1,24,1,19)$CALLS(1,4,20,60) 08100 CALLS(21,24,20,60)$GOTO99 08200 53CALLQ(1,60,12.5,2.5)$CALLQ(1,60,12.5,22.5)$GOTO99 08300 54CALLQ(1,60,6.,2.)$CALLQ(1,30,6.,16.)$CALLQ(1,30,26.,16.) 08400 CALLQ(1,60,26.,30.)$GOTO99 08500 55CALLQ(1,60,2.5,22.5) 08600 15CALLQ(1,60,22.5,2.5)$GOTO99 08700 57CALLS(1,24,1,6) 08800 7CALLS(1,24,55,60)$GOTO49 08900 13CALLD(1,28,2) 09000 59CALLD(1,8,1)$GOTO99 09100 60CALLO(-.5,30.5,8.,24.,1,12,1,60)$GOTO99 09200 61 CALLS(5,14,1,6) $ CALLS(5,14,55,60) 09300 64CALLS(1,4,1,60)$GOTO99 09400 62CALLS(9,12,7,54) 09500 63CALLS(1,12,1,6)$CALLS(1,12,55,60)$GOTO99 09600 56CALLQ(31,60,12.5,2.5)$CALLQ(31,60,12.5,22.5)$CALLS(11,14,1,30) 09700 99 DO 75 I=1,K $ DO 74 J=1,60 $ L1=61-J 09800 IF(M(L1,J)-55B)75,74,75 09900 74CONTINUE 10000 75PRINT70,(M(I,J),J=1,L1) 10100 76 PRINT 70,(LF,IXI=1,5) $ PRINT 70,(LF,IXI=1,25) $ GOTO 1000 10200 END 10300 SUBROUTINE Q(J1,J2,Y1,Y2) 10400 COMMON M(32,60) $ W=(Y1-Y2)/FLOAT(J1-J2) 10500 H=SQRT(2.25+(2.5*W)**2) $ DO 2 J=J1,J2 $ Y=W*FLOAT(J-J1)+Y1 10600 I1=Y-H+.5 10700 IF(I1.GT.0) GOTO 1 $ I1=1 10800 1 I2=Y+H+.5$ DO 2 I=I1,I2 $ M(I,J)=10B 10900 2 CONTINUE $ RETURN $ END 11000 SUBROUTINE O(X,Y,R,S,K,L,M,N) $ COMMON MM(32,60) 11100 T=R**2.5 $ U=S**2.5 $ V=(R+4.)**2.5 $ W=(S+6.)**2.5 11200 DO 2 I=K,L $ H=(ABS(FLOAT(I)-X))**2.5 11300 A=H/T-1. $ B=1.-H/V 11400 DO 1 J=M,N $ H=(ABS(FLOAT(J)-Y))**2.5 11500 IF(A+H/U.LT.0..O.B.LT.H/W) GOTO 1 11600 MM(I,J)=10B 11700 1 CONTINUE 11800 2 CONTINUE $ RETURN $ END 11900 SUBROUTINE S(I1,I2,J1,J2)$COMMON M(32,60) 12000 DO 1I=I1,I2$DO 1J=J1,J2 12100 1 M(I,J)=10B $ RETURN $ END 12200 SUBROUTINE D(K,L,N) $ COMMON M(32,60) 12300 DIMENSION MD(6,4) 12400 DATA MD/1,-1,-2,-7,-5,-2,1,-1,-2,-2,-1,1, 12500+1,-1,-6,-6,-1,1,3,5,6,6,5,3/ 12600 DO 1 II=1,6$I=K+II-1 $J1=L+MD(II,N)$J2=L+MD(II,4) 12700 DO1J=J1,J2 12800 1 M(I,J)=10B $ RETURN $ END