%CONTROL 0 %ROUTINE CHECKSTUDENT %BYTEINTEGER I ;!%MCODE I=0 *XC_80(16,11),80(11); ! CLEAR BUFFER *MVI_81(11),160 *MVI_95(11),7 *LD_0,80(11) *LD_2,88(11) *SVC_254 *STD_4,80(11) *MVC_I(1),81(11) *NI_I,1 PRINTSTRING("No access to Student users ")%ANDSTOPIF I#0 %END %DYNAMICROUTINESPEC CLEAR(%STRING(63)K) %DYNAMICROUTINESPEC DEFINE(%STRING(63)K) %EXTERNALROUTINESPEC PROMPT(%STRING(15)S) %EXTERNALROUTINE SNOOPY(%STRING (63) FILE) CHECKSTUDENT %INTEGER I, J, K, L %CONSTBYTEINTEGERARRAY C(0 : 454) = %C 0,X'18',X'36',X'14',X'3E',X'71',X'18',X'18',X'0C',X'18',0,0,0,0, 0,X'01',X'3E',X'0C',X'3E',X'7F',X'60',X'7F',X'3E',X'7F',X'3E', X'3E',0,0,X'04',0,X'20',X'3C',X'3E',X'08',X'7E',X'3E',X'7E', X'7F',X'7F',X'3E',X'63',X'1E',X'07',X'63',X'60',X'41',X'43', X'3E',X'7E',X'3E',X'7E',X'3E',X'3F',X'63',X'63',X'63',X'41', X'42',X'7F',X'3C',0,X'3C',X'08',0,11,0,X'18',X'36',X'14',X'49', X'52',X'24',X'18',X'18',X'C',X'22',X'08',0,0,0,X'02',X'63',X'1C', X'43',X'06',X'60',X'60',X'63',X'03',X'63',X'63',0,X'18',X'08', 0,X'10',X'66',X'41',X'14',X'63',X'63',X'63',X'60',X'60',X'63', X'63',X'C',X'03',X'66',X'60',X'63',X'63',X'63',X'63',X'63',X'63', X'63',X'C',X'63',X'63',X'63',X'63',X'42',X'2',X'30',0,X'C',X'1C', 0,22,0,X'18',X'36',X'7F',X'48',X'74',X'18',X'18',X'18',X'C', X'14',X'8',0,0,0,X'04',X'63',X'0C',X'06',X'0C',X'6C',X'60',X'60', X'6',X'63',X'63',X'18',X'18',X'10',X'7E',X'08',X'06',X'5F',X'22', X'63',X'60',X'63',X'60',X'60',X'60',X'63',X'C',X'03',X'6C',X'60', X'77',X'73',X'63',X'63',X'63',X'63',X'60',X'C',X'63',X'63',X'63', X'36',X'66',X'04',X'30',0,X'0C',X'2A',0,33,0,X'18',0,X'14',X'3E', X'08',X'19',0,X'18',X'0C',X'3E',X'3E',0,X'7E',0,X'08',X'63',X'C', X'0C',X'1E',X'6C',X'7E',X'7E',X'0C',X'3E',X'3E',X'18',0,X'20', 0,X'4',X'C',X'53',X'63',X'7E',X'60',X'63',X'7C',X'7C',X'60', X'7F',X'C',X'3',X'78',X'60',X'6B',X'6B',X'63',X'7E',X'63',X'7E', X'3E',X'C',X'63',X'63',X'63',X'1C',X'3C',X'08',X'30',X'7F',X'0C', X'08',0,44,0,X'18',0,X'7F',X'09',X'17',X'26',0,X'18',X'0C',X'14', X'08',X'18',0,0,X'10',X'63',X'0C',X'18',X'03',X'7F',X'03',X'63', X'18',X'63',X'3',X'00',X'18',X'10',X'7E',X'08',X'18',X'5F',X'7F', X'63',X'60',X'63',X'60',X'60',X'67',X'63',X'C',X'03',X'6C',X'60', X'63',X'67',X'63',X'60',X'6B',X'63',X'3',X'0C',X'63',X'22',X'6B', X'36',X'18',X'10',X'30',X'01',X'0C',X'08',0,55,0,0,0,X'14',X'49', X'25',X'46',0,X'18',X'0C',X'22',X'08',X'18',0,X'18',X'20',X'63', X'C',X'30',X'63',X'0C',X'63',X'63',X'30',X'63',X'03',X'18',X'18', X'08',0,X'10',0,X'40',X'63',X'63',X'63',X'63',X'60',X'60',X'63', X'63',X'0C',X'63',X'66',X'60',X'63',X'63',X'63',X'60',X'67', X'63',X'63',X'C',X'63',X'14',X'77',X'63',X'18',X'20',X'30',X'01', X'0C',X'08',0,66,0,X'18',0,X'14',X'3E',X'47',X'39',0,X'0C',X'18', 0,0,X'8',0,X'18',X'40',X'3E',X'1E',X'7F',X'3E',X'0C',X'3E',X'3E', X'60',X'3E',X'6',X'18',X'8',X'4',0,X'20',X'18',X'3F',X'63',X'7E', X'3E',X'7E',X'7F',X'60',X'3E',X'63',X'1E',X'3E',X'63',X'7F', X'63',X'63',X'3E',X'60',X'3E',X'63',X'3E',X'C',X'3E',X'8',X'22', X'41',X'18',X'7F',X'3C',0,X'3C',X'08',X'7F',77 %CONSTBYTEINTEGERARRAY S(0 : 1139) = %C 124, 0, 124, 0, 184, 1, 131, 1, 0, 184, 1, 131, 1, 0, 184,1,131,1,0,184,1,131,1,0,184,1,131,1,0,184,1,131,1,0, 184,1,131,1,0,184,1,131,1,0,184,1,131,1,0,184,1,131,1,0, 184,1,131,1,0,184,1,131,1,0,184,1,131,1,0,184,1,131,1,0, 184,1,131,1,0,184,1,131,1,0,184,1,131,1,0,184,1,131,1,0, 184,1,131,1,0,184,1,131,1,0,184,1,131,1,0,184,1,131,1,0, 184,1,131,1,0,184,1,131,1,0,184,1,131,1,0,184,1,131,1,0, 184, 1, 131, 1, 154, 17, 0, 184, 1, 131, 1, 150, 8, 136, 10, 0, 184, 1, 131, 1, 149, 5, 145, 9, 0, 184, 1, 131, 1, 144, 11, 148, 8, 0, 184, 1, 131, 1, 145, 2, 131, 8, 149, 6, 0, 184, 1, 131, 1, 144, 3, 137, 2, 142, 1, 136, 7, 0, 184, 1, 131, 1, 142, 3, 153, 6, 136, 5, 0, 184, 1, 131, 1, 140, 4, 155, 7, 136, 4, 0, 184, 1, 131, 1, 139, 4, 159, 7, 135, 4, 0, 184, 1, 131, 1, 137, 4, 162, 5, 137, 4, 0, 184, 1, 131, 1, 135, 5, 166, 1, 140, 3, 0, 184, 1, 131, 1, 133, 5, 129, 2, 178, 4, 0, 184, 1, 131, 1, 130, 11, 179, 4, 0, 184, 1, 131, 7, 130, 5, 180, 3, 0, 159, 13, 140, 1, 131, 5, 147, 2, 169, 3, 0, 156, 29, 131, 1, 150, 7, 164, 1, 129, 2, 0, 153, 8, 151, 1, 131, 1, 151, 9, 160, 5, 0, 151, 5, 156, 1, 131, 1, 153, 10, 156, 6, 0, 150, 5, 157, 1, 131, 1, 155, 9, 154, 7, 0, 149, 4, 159, 1, 131, 1, 158, 6, 153, 8, 0, 147, 4, 161, 1, 131, 1, 160, 1, 156, 8, 0, 147, 4, 161, 1, 131, 1, 188, 9, 0, 146, 3, 163, 1, 131, 1, 183, 2, 130, 10, 0, 145, 3, 164, 1, 131, 1, 182, 2, 130, 11, 0, 144, 3, 154, 3, 136, 1, 131, 1, 181, 2, 130, 12, 0, 144, 2, 151, 11, 132, 1, 131, 1, 180, 2, 130, 13, 0, 144, 2, 147, 18, 129, 1, 131, 1, 179, 2, 130, 14, 0, 143, 2, 147, 19, 129, 1, 131, 1, 178, 2, 130, 15, 0, 143, 2, 148, 16, 131, 1, 131, 1, 177, 2, 130, 16, 0, 143, 2, 154, 9, 132, 1, 131, 1, 176, 2, 130, 17, 0, 143, 2, 167, 1, 131, 1, 175, 2, 130, 18, 0, 143, 2, 167, 1, 131, 1, 174, 2, 130, 19, 0, 143, 3, 166, 1, 131, 1, 173, 2, 130, 20, 0, 144, 3, 165, 1, 131, 1, 172, 2, 130, 21, 0, 144, 4, 164, 1, 131, 1, 171, 3, 129, 21, 0, 145, 4, 163, 1, 131, 1, 170, 4, 129, 21, 0, 146, 4, 162, 1, 131, 1, 167, 4, 129, 2, 129, 20, 0, 147, 6, 159, 1, 131, 1, 164, 5, 130, 24, 0, 148, 7, 157, 1, 131, 1, 161, 9, 129, 2, 0, 151, 14, 147, 1, 131, 1, 157, 8, 134, 23, 0, 156, 29, 131, 1, 155, 6, 138, 23, 0, 165, 26, 150, 6, 141, 22, 0, 164, 12, 132, 2, 137, 1, 129, 1, 145, 5, 144, 22, 0, 164, 11, 132, 3, 135, 1, 132, 1, 143, 5, 145, 21, 0, 164, 10, 131, 2, 139, 4, 142, 4, 148, 20, 0, 164, 9, 132, 2, 131, 1, 152, 3, 151, 18, 0, 165, 7, 133, 2, 129, 3, 152, 2, 153, 16, 0, 165, 6, 134, 2, 133, 7, 129, 10, 133, 2, 153, 15, 0, 165, 4, 135, 2, 130, 6, 132, 4, 129, 15, 153, 13, 0, 165, 2, 136, 2, 129, 4, 138, 3, 129, 14, 155, 10, 0, 173, 3, 129, 2, 138, 1, 132, 2, 139, 2, 157, 7, 0, 171, 3, 129, 1, 140, 2, 134, 1, 138, 2, 158, 5, 0, 169, 3, 131, 1, 130, 1, 134, 3, 129, 2, 133, 2, 138, 2, 0, 167, 3, 134, 2, 130, 1, 131, 3, 129, 2, 135, 1, 136, 4, 0, 165, 3, 138, 7, 131, 2, 135, 1, 134, 2, 130, 2, 0, 162, 4, 144, 3, 131, 2, 135, 2, 132, 2, 131, 2, 0, 160, 4, 144, 2, 134, 2, 135, 2, 131, 2, 132, 2, 0, 158, 3, 145, 3, 135, 2, 136, 2, 129, 2, 133, 2, 0, 158, 2, 144, 3, 137, 2, 137, 3, 134, 2, 0, 158, 3, 141, 4, 137, 2, 147, 2, 0, 159, 3, 139, 3, 139, 2, 148, 2, 0, 161, 3, 135, 2, 142, 2, 148, 2, 0, 162, 3, 133, 2, 143, 2, 146, 4, 0, 164, 3, 129, 3, 144, 2, 145, 2, 129, 2, 0, 165, 3, 147, 2, 143, 2, 131, 2, 0, 163, 3, 149, 2, 140, 3, 134, 2, 0, 161, 3, 152, 2, 138, 3, 135, 2, 0, 159, 4, 153, 3, 135, 3, 137, 2, 0, 158, 3, 156, 2, 133, 3, 139, 2, 0, 157, 3, 158, 4, 129, 3, 140, 2, 0, 155, 4, 160, 4, 143, 2, 0, 154, 3, 181, 2, 0, 154, 2, 182, 2, 0, 153, 3, 181, 2, 0, 153, 2, 181, 3, 0, 153, 2, 180, 3, 0, 153, 3, 177, 4, 0, 154, 2, 174, 5, 0, 154, 3, 170, 6, 0, 155, 4, 168, 3, 0, 158, 4, 165, 2, 0, 160, 7, 160, 2, 0, 165, 2, 160, 2, 0, 165, 2, 144, 2, 142, 2, 0, 165, 2, 144, 2, 142, 2, 0, 165, 2, 144, 2, 142, 2, 0, 165, 2, 144, 2, 142, 2, 0, 165, 2, 144, 2, 142, 2, 0, 165, 2, 144, 2, 142, 2, 129, 9, 0, 151, 11, 131, 2, 144, 2, 140, 24, 0, 145, 22, 144, 2, 139, 2, 145, 10, 0, 140, 8, 163, 2, 139, 2, 145, 10, 0, 140, 8, 163, 2, 166, 5, 0, 137, 5, 169, 2, 159, 1, 137, 4, 0, 135, 4, 153, 1, 146, 2, 161, 1, 137, 1, 129, 1, 0, 133, 3, 139, 1, 143, 1, 146, 4, 150, 1, 139, 1, 137, 2, 0, 132, 2, 140, 1, 143, 1, 145, 2, 131, 3, 151, 1, 138, 1, 133, 4, 0, 132, 3, 138, 1, 139, 7, 139, 6, 135, 12, 136, 6, 135, 9, 0, 134, 11, 129, 14, 129, 15, 148, 27, 0, 137, 6, 135, 4, 140, 7, 170, 6, 0 %INTEGERARRAY COPY(1 : 12) %ROUTINE STARS(%INTEGER J) %CYCLE J = 1,1,J PRINTSYMBOL('*') %REPEAT %END PROMPT("TEXT:") DEFINE("STREAM01,".FILE) SELECT OUTPUT(1) SET MARGINS(1,1,132) NEWPAGE %CYCLE I = 1,1,2 STARS(124) NEWLINE %REPEAT %CYCLE READSYMBOL(I) %EXIT %IF I = '.' J = 0; K = 0 %CYCLE %EXIT %IF I = NL I = 32 %IF I < 32 %OR I > 122 I = I-32 %IF I >= 96 J = J+1 COPY(J) = I-32 %UNLESS J > 12 READSYMBOL(I) %REPEAT %UNLESS J <= 12 %START SELECT OUTPUT(0) PRINTSTRING("LINE TOO LONG - RETYPE"); NEWLINE SELECT OUTPUT(1) %FINISH %ELSE %START %UNLESS J = 12 %START I = 12; K = J+(12-J)>>1 COPY(I) = 0 %AND I = I-1 %WHILE I > K COPY(I) = COPY(J) %AND J = J-1 %AND I = I-1 %C %WHILE J > 0 COPY(I) = 0 %AND I = I-1 %WHILE I > 0 %FINISH %CYCLE I = 1,1,3 PRINT STRING("**") SPACES(120) PRINT STRING("** ") %REPEAT %CYCLE L = 0,65,390 PRINT STRING("** ") %CYCLE I = 1,1,12 J = C(L+COPY(I)) %IF J = 0 %THEN SPACES(9) %ELSE %START %CYCLE K = 6,-1,0 PRINTSYMBOL(' '+(J>>K&1)*10) %REPEAT SPACES(2) %FINISH %REPEAT PRINT STRING(" ** ") %REPEAT %CYCLE I = 1,1,2 PRINT STRING("**") SPACES(120) PRINT STRING("** ") %REPEAT %FINISH %REPEAT %CYCLE I = 0,1,1139 J = S(I) %IF J = 0 %THEN NEWLINE %ELSE %START K = J&127 %IF K # J %THEN SPACES(K) %ELSE STARS(K) %FINISH %REPEAT NEWPAGE SELECTOUTPUT(0) CLOSESTREAM(1) CLEAR("ST1") %END %OWNINTEGER AT = 1 , SEL = 0 %ROUTINE SELECT(%STRING(63)K) %STRING(63) S %RETURNIF SEL= 1 SEL = 1 PRINTSTRING("PARAMETERS ? - LP'S ONLY. ")%ANDSTOPUNLESS K->(".LP").S AT=0%IF S="AT" DEFINE("ST39,".K) SELECTOUTPUT(39) SETMARGINS(39,1,120) %END %EXTERNALROUTINE CALENDAR(%STRING(63)S) %CONSTSTRING (23) %ARRAY MONT(0:11) = %C " J A N U A R Y "," F E B R U A R Y ", " M A R C H "," A P R I L ", " M A Y "," J U N E ", " J U L Y "," A U G U S T ", " S E P T E M B E R "," O C T O B E R ", " N O V E M B E R "," D E C E M B E R" %CONSTSTRING (19)WKHD = %C "S M T W T F S" %CONSTSTRING (6) %ARRAY NUMS(1:70) = %C " 0000 ","0 0"(5)," 0000 ", " 1 "," 11 "," 1 1 "," 1 "(3)," 11111", " 2222 ","2 2"," 2 "," 2 "," 2 "," 2 ","222222", " 3333 ","3 3"," 3"," 333 "," 3"," 3 ","3333 ", "4 4 "(3),"444444"," 4 "(3), "555555","5 "(2),"55555 "," 5"(2),"55555 ", " 6666 ","6 "(2),"666666","6 6"(2)," 6666 ", "777777"," 7"(2)," 7 "," 7 "," 7 "," 7 ", " 8888 ","8 8"(2)," 8888 ","8 8"(2)," 8888 ", " 9999 ","9 9"(2)," 99999"," 9"(2)," 9999 ", %OWNBYTEINTEGERARRAY MONTHS(0:11) = 31,26,31,30,31,30,31,31,30, 31, 30,31 %INTEGER YEAR,I,J,K,L,JAN %OWNSTRING (3) %ARRAY MO(0:503) = " "(504) %INTEGERFN REM(%INTEGER I,J) %RESULT = I-J*(I//J) %END %INTEGERFN DIGIT(%INTEGER I,J) %RESULT = REM(I//(10**(J-1)),10) %END %INTEGERFN LPYR(%INTEGER YR) %RESULT = 28 %IF REM(YR,4) # 0 %OR (REM(YR,100) = 0 %AND%C REM(YR,400) # 0) %RESULT = 29 %END %ROUTINE FEB(%INTEGERNAME YR,JAN,%BYTEINTEGERNAME LF) %INTEGER S LF = LPYR(YR) JAN = 4 %IF YR < 1976 %THEN S = 1000 %ELSE S = 1975 %CYCLE I = S,1,YR-1 JAN = JAN+LPYR(I)+1 %REPEAT JAN = REM(JAN,7) JAN = 7 %IF JAN = 0 %END %ROUTINE ENCODE(%STRINGNAME M, %INTEGER N,MN) %STRING (1) IC %INTEGER I M = " " %RETURNIF N>MN M = " " I = DIGIT(N,2) IC = " " IC = TOSTRING(I+'0')%IF I>0 M = M.IC IC = " " I=DIGIT(N,1) IC=TOSTRING(I+'0')%IF I>0%OR N>0 M=M.IC %END SELECT(S) %CYCLE NEWPAGE PROMPT("WHICH YEAR?:") READ(YEAR) %UNTIL 1000 < YEAR < 10000 %OR YEAR <= 0 %EXITIF YEAR <= 0 NEWLINES(5+AT*5) %CYCLE I = 1,1,7 SPACES(24+AT*27) %CYCLE J = 4,-1,1 PRINTSTRING(NUMS(DIGIT(YEAR,J)*7+I)) SPACES(2) %REPEAT NEWLINE %REPEAT NEWLINES(4) !END OF YEAR PRINTOUT FEB(YEAR,JAN,MONTHS(1)) %CYCLE I = 0,1,11 L=MONTHS(I) %CYCLE J = 0,1,41 ENCODE(MO(J+42*I),J-JAN+2,L) %REPEAT JAN = REM(JAN+L,7) JAN = 7 %IF JAN = 0 %REPEAT %CYCLE I = 0,3+AT,9-AT SPACES(5+AT*16) %CYCLE J = I,1,2+AT+I PRINTSTRING(MONT(J)) %REPEAT NEWLINE SPACES(7+AT*16) %CYCLE J = I,1,J PRINTSTRING(WKHD) SPACES(4) %REPEAT %CYCLE J = I*42,7,I*42+35 NEWLINE SPACES(5+AT*16) %CYCLE K = J,42,84+AT*42+J %CYCLE L = K,1,K+6 PRINTSTRING(MO(L)) %REPEAT SPACES(2) %REPEAT %REPEAT NEWLINES(4) %REPEAT %REPEAT SELECTOUTPUT(0) CLOSESTREAM(39) CLEAR("ST39") %END %EXTERNALROUTINE SUSIE(%STRING(63)KK) CHECKSTUDENT %OWNSTRING(46)%ARRAY SUS(0:4)=%C " SSSS U U SSSS II EEEEEE", "S U U S II E", " SSSS U U SSSS II EEEE", " S U U S II E", " SSSS UUUU SSSS II EEEEEE" %CONSTBYTEINTEGERARRAY CHAR(0:2998)=%C 98, 203, 0, 95, 210, 0, 92, 216, 0, 90, 219, 0, 89, 221, 0, 89, 222, 0, 88, 224, 0, 87, 226, 0, 86, 226, 0, 86, 228, 0, 86, 217, 64, 202, 0, 85, 217, 64, 192, 64, 202, 0, 84, 219, 64, 203, 0, 84, 192, 128, 212, 128, 32, 128, 198, 128, 198, 0, 83, 192, 128, 201, 32, 196, 32, 196, 32, 128, 198, 32, 129, 197, 0, 82, 192, 128, 202, 33, 128, 196, 71, 196, 32, 129, 197, 0, 82, 192, 128, 202, 32, 128, 32, 128, 32, 194, 64, 193, 66, 197, 130, 197, 0, 81, 192, 128, 203, 33, 128, 32, 128, 65, 129, 193, 71, 33, 129, 197, 0, 81, 205, 32, 128, 32, 128, 32, 64, 128, 32, 128, 193, 70, 33, 129, 198, 0, 80, 207, 32, 128, 32, 128, 64, 32, 128, 193, 128, 193, 66, 128, 66, 129, 198, 0, 81, 204, 128, 64, 130, 32, 192, 75, 128, 32, 199, 128, 32, 0, 82, 206, 128, 32, 128, 32, 64, 201, 64, 128, 32, 195, 64, 195, 128, 32, 0, 83, 128, 204, 32, 128, 32, 192, 65, 198, 65, 32, 128, 196, 64, 195, 128, 32, 0, 84, 206, 128, 32, 130, 32, 128, 32, 128, 32, 64, 128, 32, 128, 32, 194, 65, 196, 128, 32, 0, 85, 206, 128, 32, 129, 51, 32, 128, 64, 206, 0, 85, 204, 65, 193, 64, 130, 65, 194, 64, 194, 65, 200, 0, 82, 208, 66, 197, 66, 194, 65, 137, 0, 80, 208, 64, 193, 128, 32, 128, 71, 193, 65, 128, 194, 64, 197, 0, 79, 209, 64, 194, 128, 32, 128, 32, 128, 32, 128, 64, 130, 65, 128, 198, 64, 193, 0, 79, 209, 65, 193, 32, 128, 32, 128, 32, 128, 65, 129, 192, 64, 128, 198, 64, 193, 0, 79, 194, 130, 70, 196, 64, 195, 32, 128, 32, 129, 65, 129, 196, 129, 193, 64, 192, 0, 79, 193, 131, 192, 68, 192, 67, 128, 32, 128, 65, 129, 71, 199, 65, 192, 0, 80, 134, 67, 193, 65, 197, 128, 32, 128, 32, 128, 69, 198, 64, 192, 64, 192, 0, 80, 135, 66, 194, 64, 196, 128, 32, 128, 32, 128, 32, 130, 67, 192, 65, 193, 65, 193, 64, 192, 0, 79, 136, 66, 195, 134, 65, 128, 64, 196, 64, 128, 64, 196, 64, 193, 71, 193, 0, 79, 135, 67, 198, 66, 32, 136, 64, 128, 65, 197, 64, 192, 65, 193, 64, 194, 0, 78, 136, 69, 194, 69, 32, 134, 65, 129, 65, 197, 64, 198, 0, 78, 136, 78, 32, 134, 66, 129, 65, 197, 68, 192, 0, 78, 135, 32, 128, 79, 32, 132, 66, 132, 64, 192, 64, 199, 0, 77, 137, 32, 128, 78, 32, 132, 67, 130, 194, 64, 192, 65, 193, 0, 77, 129, 192, 134, 32, 128, 70, 128, 71, 32, 131, 72, 194, 0, 77, 129, 192, 133, 32, 128, 32, 69, 193, 34, 69, 33, 129, 72, 128, 64, 128, 0, 77, 129, 192, 134, 32, 128, 69, 128, 192, 128, 33, 73, 4, 73, 128, 0, 77, 129, 192, 133, 32, 128, 32, 68, 193, 128, 192, 34, 73, 32, 128, 34, 67, 33, 0, 77, 129, 192, 132, 32, 128, 32, 128, 32, 67, 192, 128, 192, 128, 32, 128, 34, 71, 32, 4, 34, 68, 128, 0, 77, 129, 192, 132, 64, 128, 33, 67, 128, 192, 128, 192, 128, 32, 128, 33, 72, 128, 35, 67, 128, 0, 77, 32, 128, 192, 132, 32, 128, 32, 128, 32, 66, 128, 192, 128, 192, 128, 32, 128, 34, 73, 128, 35, 66, 32, 0, 78, 128, 192, 131, 32, 128, 32, 128, 33, 66, 194, 128, 32, 128, 32, 128, 33, 74, 128, 34, 67, 128, 0, 79, 192, 130, 32, 128, 32, 128, 32, 128, 32, 66, 193, 128, 32, 128, 32, 128, 32, 128, 32, 75, 128, 33, 68, 128, 0, 79, 192, 133, 32, 128, 33, 66, 194, 128, 192, 128, 32, 193, 33, 70, 130, 65, 128, 33, 67, 32, 128, 0, 79, 192, 132, 32, 128, 32, 128, 67, 193, 128, 32, 128, 32, 128, 32, 192, 128, 192, 33, 64, 135, 64, 128, 33, 68, 32, 128, 0, 79, 192, 133, 32, 128, 33, 66, 194, 128, 32, 131, 192, 128, 192, 128, 192, 132, 192, 129, 64, 128, 64, 33, 68, 32, 128, 0, 79, 192, 132, 32, 128, 32, 128, 32, 66, 193, 129, 32, 128, 192, 128, 192, 128, 192, 128, 192, 135, 64, 128, 65, 34, 68, 32, 128, 0, 79, 192, 133, 32, 128, 33, 66, 193, 128, 192, 128, 192, 128, 192, 128, 32, 128, 32, 128, 32, 128, 32, 128, 67, 128, 66, 131, 67, 130, 0, 79, 192, 132, 32, 128, 32, 128, 32, 66, 194, 128, 192, 32, 129, 32, 128, 32, 128, 32, 128, 32, 128, 32, 64, 129, 65, 128, 65, 132, 66, 129, 192, 0, 79, 192, 133, 32, 129, 32, 66, 196, 128, 192, 128, 193, 64, 198, 67, 128, 65, 133, 65, 129, 0, 79, 192, 133, 33, 128, 32, 66, 195, 128, 192, 128, 192, 128, 192, 128, 195, 70, 128, 65, 132, 0, 79, 192, 133, 32, 128, 32, 67, 196, 129, 78, 128, 64, 128, 0, 79, 192, 134, 32, 128, 67, 195, 132, 194, 73, 128, 12, 128, 0, 79, 192, 133, 32, 128, 32, 67, 194, 128, 192, 128, 66, 128, 193, 72, 128, 12, 64, 128, 0, 79, 192, 134, 32, 128, 67, 194, 128, 70, 128, 192, 71, 12, 65, 128, 0, 78, 193, 133, 32, 128, 32, 68, 196, 69, 128, 192, 69, 12, 66, 128, 0, 78, 128, 192, 134, 32, 128, 68, 128, 194, 71, 128, 192, 67, 12, 128, 32, 65, 128, 0, 77, 192, 128, 192, 135, 32, 68, 128, 75, 128, 67, 129, 32, 65, 128, 0, 76, 130, 193, 135, 33, 68, 128, 77, 12, 129, 32, 65, 128, 0, 75, 130, 33, 193, 138, 67, 128, 75, 32, 192, 129, 32, 65, 128, 0, 73, 192, 130, 34, 193, 137, 68, 128, 73, 32, 131, 32, 65, 128, 0, 73, 192, 130, 35, 128, 193, 136, 32, 68, 128, 71, 193, 130, 4, 32, 0, 71, 192, 131, 33, 128, 32, 131, 193, 136, 68, 128, 71, 192, 130, 32, 65, 128, 0, 70, 192, 131, 32, 136, 194, 134, 69, 128, 70, 193, 129, 32, 65, 128, 0, 69, 192, 136, 32, 133, 194, 135, 68, 128, 69, 193, 129, 32, 0, 68, 192, 131, 32, 131, 32, 136, 193, 136, 67, 128, 68, 32, 192, 129, 32, 64, 128, 0, 67, 192, 131, 32, 133, 32, 136, 194, 136, 66, 128, 67, 192, 130, 32, 0, 66, 192, 134, 32, 128, 32, 128, 32, 139, 194, 135, 66, 128, 66, 192, 129, 33, 128, 0, 65, 192, 132, 32, 128, 32, 143, 196, 136, 65, 128, 64, 192, 130, 32, 64, 128, 0, 65, 133, 32, 144, 201, 133, 66, 192, 130, 32, 64, 128, 0, 4, 134, 32, 129, 32, 146, 197, 133, 66, 193, 128, 65, 128, 0, 132, 32, 129, 33, 138, 32, 128, 32, 128, 32, 128, 32, 128, 32, 128, 32, 196, 135, 66, 192, 65, 128, 0, 192, 132, 32, 128, 32, 128, 32, 128, 32, 135, 33, 128, 32, 128, 32, 128, 32, 128, 35, 68, 192, 133, 67, 129, 0, 192, 130, 32, 128, 32, 128, 32, 128, 32, 128, 32, 135, 32, 128, 32, 128, 32, 128, 32, 128, 33, 128, 32, 71, 192, 133, 66, 128, 0, 192, 131, 32, 128, 32, 128, 32, 128, 32, 137, 32, 128, 32, 128, 32, 128, 33, 128, 33, 64, 32, 72, 192, 130, 194, 64, 130, 0, 132, 32, 128, 64, 32, 128, 32, 128, 32, 138, 32, 128, 32, 128, 32, 128, 36, 64, 32, 72, 130, 193, 65, 134, 0, 4, 131, 32, 128, 32, 128, 32, 128, 32, 128, 32, 140, 32, 128, 32, 128, 37, 64, 32, 71, 193, 128, 194, 65, 135, 194, 0, 64, 192, 131, 32, 128, 32, 128, 32, 128, 32, 128, 32, 128, 32, 129, 32, 135, 32, 128, 32, 128, 38, 64, 32, 71, 131, 193, 8, 64, 192, 65, 131, 66, 192, 8, 0, 65, 192, 131, 32, 128, 32, 128, 32, 128, 32, 128, 32, 128, 32, 140, 32, 129, 39, 64, 32, 69, 192, 130, 193, 8, 64, 192, 9, 65, 193, 68, 128, 64, 128, 0, 66, 192, 131, 32, 128, 32, 128, 32, 128, 32, 128, 32, 128, 32, 139, 32, 128, 32, 128, 32, 128, 37, 64, 32, 64, 32, 68, 130, 193, 65, 192, 8, 64, 193, 64, 194, 65, 33, 128, 33, 128, 32, 128, 32, 0, 67, 192, 128, 33, 128, 32, 128, 32, 128, 32, 128, 32, 144, 33, 128, 32, 128, 40, 64, 32, 68, 129, 193, 64, 193, 65, 193, 65, 193, 9, 129, 32, 128, 37, 128, 0, 69, 192, 32, 192, 128, 32, 128, 32, 128, 32, 128, 32, 128, 32, 143, 32, 129, 32, 128, 40, 65, 32, 67, 129, 192, 64, 193, 9, 193, 8, 64, 193, 8, 32, 130, 32, 128, 32, 64, 36, 0, 71, 192, 32, 192, 128, 32, 131, 32, 128, 32, 144, 33, 128, 32, 128, 41, 64, 32, 67, 193, 64, 193, 32, 64, 193, 8, 64, 195, 8, 195, 32, 128, 64, 34, 128, 0, 73, 32, 192, 33, 128, 32, 128, 32, 128, 32, 128, 32, 144, 32, 129, 32, 128, 41, 64, 32, 66, 193, 65, 193, 65, 193, 65, 10, 132, 33, 128, 35, 128, 0, 73, 131, 192, 33, 128, 32, 128, 32, 128, 32, 128, 32, 143, 32, 129, 32, 128, 42, 64, 32, 64, 9, 129, 193, 65, 194, 32, 135, 33, 128, 36, 0, 72, 135, 192, 33, 128, 32, 128, 32, 128, 32, 147, 32, 129, 32, 128, 39, 64, 32, 65, 129, 64, 192, 8, 65, 192, 32, 8, 133, 32, 128, 33, 128, 34, 128, 0, 71, 192, 138, 192, 33, 128, 32, 128, 32, 147, 32, 129, 32, 128, 32, 128, 38, 64, 32, 67, 9, 65, 10, 130, 32, 128, 33, 128, 32, 128, 35, 0, 71, 192, 32, 192, 139, 192, 33, 128, 32, 152, 32, 128, 64, 38, 64, 32, 66, 192, 135, 32, 128, 32, 128, 32, 128, 32, 128, 33, 128, 0, 72, 32, 192, 33, 192, 139, 192, 128, 32, 155, 40, 64, 32, 65, 192, 134, 32, 128, 32, 128, 32, 128, 32, 128, 33, 0, 75, 32, 192, 34, 192, 138, 192, 151, 32, 129, 33, 128, 37, 64, 32, 66, 192, 134, 32, 128, 32, 128, 33, 128, 0, 79, 32, 192, 35, 192, 33, 192, 34, 192, 33, 192, 157, 36, 64, 33, 66, 192, 133, 32, 128, 34, 0, 80, 129, 65, 32, 192, 33, 192, 34, 192, 33, 65, 192, 159, 37, 66, 192, 132, 32, 128, 64, 128, 0, 80, 129, 65, 192, 131, 74, 192, 157, 38, 67, 131, 32, 0, 79, 192, 129, 65, 192, 131, 78, 192, 161, 66, 192, 131, 0, 79, 130, 65, 192, 128, 192, 128, 82, 193, 158, 66, 130, 0, 78, 192, 130, 65, 128, 193, 128, 87, 128, 194, 153, 64, 129, 0, 78, 130, 65, 192, 131, 94, 194, 147, 64, 128, 0, 77, 193, 129, 65, 192, 131, 93, 192, 128, 193, 147, 32, 0, 77, 128, 193, 128, 65, 128, 192, 130, 92, 192, 129, 193, 32, 147, 0, 76, 192, 128, 194, 130, 192, 158, 192, 130, 192, 33, 146, 0, 76, 129, 195, 160, 192, 131, 192, 32, 147, 0, 76, 131, 194, 131, 90, 192, 130, 193, 33, 146, 0, 75, 192, 130, 65, 194, 130, 89, 192, 130, 192, 32, 146, 0, 75, 130, 192, 66, 128, 192, 130, 88, 192, 130, 192, 32, 144, 33, 0, 75, 131, 65, 192, 132, 87, 192, 130, 192, 32, 144, 33, 0, 74, 192, 130, 66, 192, 131, 88, 192, 129, 192, 32, 145, 12, 0, 74, 131, 66, 128, 192, 130, 87, 192, 129, 192, 32, 143, 33, 12, 0, 73, 192, 131, 66, 128, 192, 130, 87, 192, 129, 32, 144, 32, 128, 32, 0, 73, 131, 66, 192, 155, 192, 129, 192, 32, 128, 32, 142, 33, 0, 73, 131, 66, 192, 155, 192, 129, 32, 128, 32, 142, 33, 0, 72, 192, 131, 66, 128, 192, 130, 86, 192, 129, 192, 32, 129, 32, 140, 32, 128, 12, 0, 72, 132, 66, 128, 192, 130, 85, 128, 192, 129, 32, 129, 32, 140, 33, 12, 0, 72, 131, 66, 192, 132, 85, 192, 129, 192, 128, 32, 141, 32, 128, 12, 0, 71, 192, 131, 66, 192, 131, 85, 192, 128, 192, 34, 128, 32, 140, 33, 0, 71, 192, 129, 193, 66, 193, 130, 85, 192, 128, 193, 32, 128, 32, 141, 12, 0, 70, 192, 129, 193, 67, 128, 192, 130, 84, 192, 128, 193, 32, 128, 32, 128, 32, 139, 33, 129, 0, 70, 130, 194, 66, 128, 192, 130, 83, 192, 129, 193, 33, 128, 32, 138, 33, 131, 0, 70, 131, 192, 128, 65, 192, 132, 77, 193, 128, 193, 131, 192, 32, 128, 32, 128, 32, 138, 32, 12, 131, 0, 69, 192, 131, 194, 64, 192, 130, 192, 77, 193, 128, 193, 132, 193, 33, 128, 32, 138, 33, 132, 0, 69, 131, 64, 193, 64, 128, 192, 130, 75, 192, 130, 192, 134, 193, 32, 128, 32, 128, 32, 137, 33, 132, 0, 69, 132, 64, 194, 128, 192, 130, 74, 193, 128, 192, 129, 192, 133, 193, 33, 128, 33, 136, 32, 128, 192, 132, 0, 69, 134, 193, 142, 192, 130, 192, 128, 192, 134, 193, 32, 128, 32, 128, 32, 136, 32, 128, 193, 131, 0, 68, 192, 134, 193, 142, 192, 131, 32, 135, 193, 33, 128, 32, 128, 32, 134, 32, 129, 193, 131, 0, 68, 131, 68, 128, 192, 130, 74, 192, 130, 32, 136, 193, 32, 128, 32, 128, 32, 128, 32, 133, 32, 67, 132, 0, 68, 131, 68, 128, 192, 130, 75, 192, 139, 193, 33, 128, 32, 128, 32, 133, 32, 68, 132, 0, 67, 192, 130, 69, 128, 192, 130, 76, 192, 138, 193, 32, 128, 32, 128, 32, 135, 68, 192, 131, 0, 67, 131, 68, 192, 131, 77, 192, 138, 193, 33, 128, 32, 134, 32, 128, 33, 66, 133, 0, 67, 131, 68, 192, 131, 76, 192, 139, 193, 34, 137, 33, 67, 132, 0, 66, 192, 130, 69, 128, 192, 130, 75, 192, 140, 193, 33, 128, 32, 133, 32, 64, 128, 33, 67, 192, 131, 0, 66, 131, 69, 128, 192, 130, 74, 192, 132, 32, 135, 193, 65, 32, 134, 32, 64, 32, 128, 32, 68, 132, 0, 66, 131, 69, 128, 192, 146, 32, 128, 32, 133, 193, 66, 130, 64, 130, 64, 137, 192, 131, 0, 66, 131, 69, 128, 192, 140, 192, 133, 32, 132, 193, 32, 128, 68, 128, 64, 129, 64, 33, 141, 0, 65, 192, 130, 69, 192, 131, 73, 192, 133, 32, 132, 193, 32, 128, 32, 128, 67, 128, 64, 128, 32, 64, 32, 128, 64, 128, 33, 68, 192, 131, 0, 65, 131, 69, 192, 131, 73, 192, 131, 32, 128, 32, 131, 193, 32, 128, 64, 128, 65, 133, 32, 64, 128, 32, 64, 32, 128, 33, 67, 133, 0, 65, 130, 70, 128, 192, 129, 74, 192, 136, 194, 131, 32, 64, 134, 32, 64, 128, 65, 35, 68, 192, 131, 0, 65, 130, 70, 128, 192, 129, 73, 193, 135, 194, 131, 32, 130, 64, 128, 64, 130, 32, 64, 128, 65, 32, 128, 64, 32, 68, 192, 131, 0, 64, 192, 129, 70, 192, 131, 72, 194, 133, 192, 64, 194, 130, 32, 128, 32, 129, 65, 130, 32, 65, 32, 65, 33, 128, 32, 68, 132, 0, 64, 130, 70, 192, 131, 72, 199, 66, 193, 132, 33, 129, 65, 130, 65, 33, 66, 128, 33, 69, 132, 0, 64, 130, 70, 128, 192, 129, 74, 197, 67, 193, 131, 34, 68, 128, 32, 64, 33, 67, 128, 34, 68, 192, 131, 0, 193, 128, 71, 128, 192, 129, 73, 198, 68, 192, 132, 32, 128, 66, 129, 32, 66, 128, 67, 128, 34, 68, 132, 0, 193, 128, 70, 192, 131, 73, 197, 69, 192, 131, 32, 128, 32, 65, 129, 32, 66, 32, 68, 193, 128, 32, 69, 131, 0, 73, 192, 130, 76, 194, 71, 132, 32, 128, 64, 129, 33, 65, 33, 78, 131, 0, 73, 128, 192, 128, 192, 87, 131, 32, 128, 32, 64, 192, 64, 32, 65, 33, 192, 78, 192, 131, 0, 73, 193, 129, 86, 192, 134, 64, 32, 64, 35, 128, 79, 132, 0, 72, 192, 130, 87, 193, 133, 64, 32, 64, 35, 81, 131, 0, 72, 192, 130, 87, 193, 64, 131, 65, 32, 64, 32, 64, 32, 82, 192, 130, 0, 72, 128, 192, 129, 86, 194, 131, 65, 32, 65, 33, 128, 82, 132, 0, 72, 128, 192, 129, 86, 193, 133, 64, 32, 66, 32, 84, 131, 0, 71, 192, 130, 87, 193, 132, 64, 32, 64, 34, 128, 84, 131, 0, 71, 192, 130, 87, 193, 129, 192, 129, 64, 32, 64, 35, 84, 192, 131, 0, 71, 128, 192, 129, 87, 193, 32, 193, 65, 128, 65, 34, 86, 131, 0, 70, 192, 130, 88, 192, 33, 192, 32, 192, 128, 64, 129, 65, 128, 86, 131, 0, 70, 192, 130, 88, 194, 32, 193, 64, 16, 64, 16, 33, 87, 192, 130, 0, 70, 128, 192, 129, 88, 193, 64, 193, 64, 193, 64, 128, 32, 128, 87, 131, 0, 70, 128, 192, 129, 90, 192, 128, 64, 193, 65, 192, 32, 192, 87, 192, 130, 0, 69, 195, 93, 193, 65, 193, 33, 192, 87, 195, 0, 108, 193, 0 !%OWNSTRING(45)%ARRAY LINE(0:325)=%C !" $$$$$$$$$$", !"$$", !" $$$$$$$$$$$$$", !"$$$$$$", !" $$$$$$$$$$$$$$$$", !"$$$$$$$$$", !" $$$$$$$$$$$$$$$$$$", !"$$$$$$$$$$", !" $$$$$$$$$$$$$$$$$$$", !"$$$$$$$$$$$", !" $$$$$$$$$$$$$$$$$$$", !"$$$$$$$$$$$$", !" $$$$$$$$$$$$$$$$$$$$", !"$$$$$$$$$$$$$", !" $$$$$$$$$$$$$$$$$$$$$", !"$$$$$$$$$$$$$$", !" $$$$$$$$$$$$$$$$$$$$$", !"$$$$$$$$$$$$$$", !" $$$$$$$$$$$$$$$$$$$$$$", !"$$$$$$$$$$$$$$$", !" $$$$$$$$$$$$$$$$$$$$$$", !"$$$$ $$$$$$$$$$$", !" $$$$$$$$$$$$$$$$$$$$$$$", !"$$$ $ $$$$$$$$$$$", !" $$$$$$$$$$$$$$$$$$$$$$$$", !"$$$$ $$$$$$$$$$$$", !" $*$$$$$$$$$$$$$$$$$$$$$*", !".*$$$$$$$*$$$$$$$", !" $*$$$$$$$$$$.$$$$$.$$$$$.", !"*$$$$$$$.**$$$$$$", !" $*$$$$$$$$$$$..*$$$$$ ", !" $$$$$.**$$$$$$", !" $*$$$$$$$$$$$.*.*.$$$ $$ ", !" $$$$$$***$$$$$$", !" $*$$$$$$$$$$$$..*.* **$$ ", !" ..**$$$$$$", !" $$$$$$$$$$$$$$.*.*. *.*$$ ", !" ..**$$$$$$$", !" $$$$$$$$$$$$$$$$.*.* .*$$*$$", !" * **$$$$$$$", !" $$$$$$$$$$$$$* ***.$ ", !" *.$$$$$$$$*.", !" $$$$$$$$$$$$$$$*.*. $$$$$$", !"$$$$ *.$$$$ $$$$*.", !" *$$$$$$$$$$$$$.*.$ $$$$$", !"$$ .*$$$$$ $$$$*.", !" $$$$$$$$$$$$$$$*.***.*.*", !". *.*.$$$ $$$$$*.", !" $$$$$$$$$$$$$$$*.**----", !".* $$$$$$$$$$$$$$$", !" $$$$$$$$$$$$$ $$ *** ", !"$$$ $$$ $$$$$$$$$", !" $$$$$$$$$$$$$$$$$ $$$$$$", !" $$$ **********", !" $$$$$$$$$$$$$$$$$ $$*.* ", !" $$ *$$$ $$$$$$", !" $$$$$$$$$$$$$$$$$$ $$$*.*.*.*", !" *** *$$$$$$$ $$", !" $$$$$$$$$$$$$$$$$$ $$.*.*.* ", !" **$ *$$$$$$$ $$", !" $$$*** $$$$$ $$$$.*.** ", !" **$$$$$**$$ $", !" $$****$ $ *.* ** ", !" $$$$$$$$ $", !" ******* $$ $$$$$$*.*.* ", !" $$$$$$$ $ $", !" ******** $$$ $$$$$*.*.*.**", !"* $ $$ $$ $", !" ********* $$$$******* * $$", !"$$$ * $$$$$ $$ $$", !" ******** $$$$$$$ .******", !"*** * $$$$$$ $ $$ $$$", !" ********* $$$ .*****", !"** ** $$$$$$ $$$$$$$", !" ********* .*****", !"** ** $$$$$$ $", !" ********.* .***", !"** ***** $ $$$$$$$$", !" **********.* .***", !"** ***$$$ $ $$", !" **$*******.* * .**", !"** $$$", !" **$******.*. $$... ..", !"** * *", !" **$*******.* *$*.. ", !" ( *", !" **$******.*. $$*$... ", !" .*... ..", !" **$*****.*.*. $*$*.*... ", !" .(... *", !" **$***** *.. *$*$*.*.. ", !" *.... *", !" .*$*****.*.*. *$*$*.*... ", !" *.... .", !" *$****.*.*.. $$$*.*.*.. ", !" *... *", !" $***.*.*.*. $$*.*.*.*. ", !" *.. *", !" $******.*.. $$$*$*.$$.. ", !" *** *.. .*", !" $*****.*.* $$*.*.*.$*$.. *", !"******* *.. .*", !" $******.*.. $$$*.****$*$*$*", !"****$** * .. .*", !" $*****.*.*. $$**.*$*$*$*$**", !"****** * ... .*", !" $******.*.. $$*$*$*$*.*.*.*", !".* * **** ***", !" $*****.*.*. $$$*$.**.*.*.*.", !"*. ** * ***** **$", !" $******.**. $$$$$*$*$$ $$$$", !"$$$ * ****** **", !" $******..*. $$$$*$*$*$*$$$$", !" * ***** ", !" $******.*. $$$$$** ", !" * *", !" $*******.* $$$$*****$$$ ", !" */*", !" $******.*. $$$*$* *$$ ", !" */ *", !" $*******.* $$$* *$ ", !" / *", !" $$******.*. $$$$$ *$ ", !" / *", !" *$*******.* *$$$ *$", !" /*. *", !" $*$********. * *", !" **. *", !" ***$$********.. * ", !" /**. *", !" ***..$$*********** * ", !" .$**. *", !" $***...$$********** * ", !" .****. *", !" $***....*$$*********. * ", !"$$***(. ", !" $****..*.****$$********* * ", !"`$***. *", !" $****.*********$$$******* * ", !" $$**. *", !" $*********.******$$$******** * ", !" $$**. ", !" $****.****.*********$$********* * ", !" .$**. *", !" $****.******.*********$$$********* * ", !" $***. ", !" $*******.*.*.************$$$******** * ", !" $**..*", !" $*****.*.****************$$$$$********* * ", !"$***. *", !" ******.*****************$$$$$$$$$$****** ", !"$***. *", !"(*******.**.*******************$$$$$$****** ", !" $$* *", !"*****.**..***********.*.*.*.*.*.$$$$$********", !" $ *", !"$*****.*.*.*.********..*.*.*.*.... $*****", !"* **", !"$***.*.*.*.*.********.*.*.*.*..*. $***", !"*** *", !"$****.*.*.*.**********.*.*.*..*.. . $", !"***$$$ ***", !"*****.* .*.*.***********.*.*.*..... . ", !" ***$$ *******", !"(****.*.*.*.*.*************.*.*...... . ", !" $$*$$$ ********$$$", !" $****.*.*.*.*.*.**.********.*.*....... . ", !" ****$$) $ **** $)", !" $****.*.*.*.*.*.*************.**........ . ", !" $***$$) $)) $$ * *", !" $****.*.*.*.*.*.************.*.*.*...... .", !" . ***$$ $) $$ $$$ ..*..*.*.", !" $*..*.*.*.*.*****************..*.*.......", !".. . **$$ $$ $$ $$))**.*......*", !" $.$*.*.*.*.*.****************.**.*.....", !".... . **$ $$))$$) $$).***.*. .....", !" $.$*.****.*.*****************..*.*...", !"....... . $$ $$. $$) $$$$)$$$$.* ...*", !" .$..*.*.*.*.*****************.**.*.", !"......... . $$ $$ $$ )))*****..*....*", !" ****$..*.*.*.*.****************.**.", !"*........... . ))**$$ $$$.********..*.....", !" ********$..*.*.*.*******************", !"*.**.*........ . ** $) $.)******.*..*...*", !" $***********$..*.*.******************", !"**.**.*.*....... . )) )))***.*..*.*....", !" $.$************$..*.*****************", !"********.* ....... . $********.*.*.*.*..*", !" .$..$************$*.****************", !"************......... . $*******.*.*.*.*..", !" .$...$***********$***************", !"*********.**..*...... . $*******.*.*..*", !" .$....$..$...$..$************", !"******************..... .. $******.*...", !" ** .$..$...$.. $**********", !"**********************...... $*****.* *", !" ** $**** $*******", !"***********************....... ****.", !" $** $**** $***", !"******************************* $****", !" *** $*$* $", !"$******************************* ***", !" $*** *$$* ", !" *$$$************************** **", !" *** $**** ", !" $$$******************** *", !" $$** $**** ", !" $*$$********************.", !" *$$* *$*** ", !" $**$$.********************", !" $*$$$***$***********************", !"********$***$..*******************", !" **$$$$**************************", !"*******$****$.********************", !" ****$$$**** ", !" $***$$..*******************", !" $*** $$$*** ", !" $***$.*******************", !" ***$ *$*** ", !" $***$.*****************..", !" **** $***** ", !" $***$.*****************..", !" $*** $**** ", !" $**$.******************/", !" **** *$*** ", !" $**$.****************../", !" $**** *$*** ", !" $**.*****************.*.", !" **** $***************************", !"*$**$.*.***************..", !" **** $***************************", !"*$**.*.***************..", !" $**** *$*** ", !"$**$.**.*************.*/", !" ***** *$*** *", !"$**.**.*************../", !" **** $***** $", !"**$*.**************.*/", !" $**** $**** $*", !"$...*.*************..", !" $**$$ $$*** $*", !"$$.*.**************/", !" $**$$ *$*** $*$", !"$.*.*.************..**", !" ***$$$ *$*** $**$", !"$..*.***********..****", !" ****$* $***** $$*$$****$", !".*.*.***********./****", !" $****$$$ $***$ $$*$$*****$", !"$..*.***********..*****", !" **** $$ *$*** $***$*******$", !"$.*.*.**********..*****", !" ***** $$$*$*** $$*$**$******$", !"$..*..*********.*$*****", !" *******$$***************$***$*$*******$", !"$.*.*.*********.*$$****", !" $*******$$***************$****.********$", !"$..*.*.*******.**$$****", !" **** *$*** $***.*********$", !"$.*.*.*.******. *****", !" **** *$*** $************$", !"$..*.*.******. *****", !" $*** *$*** $***********$", !"$.*.*.******** $****", !" **** $**** $***********$", !"$..*.*******.*.. ******", !" **** $**** $************$", !"$...**********.. *****", !" $*** *$*** $*************$", !"$..*.******. *.. $****", !" **** *$*** $*****.********$", !"$ .*******. .*. *****", !" **** *$*******************.*.******$$", !" *** *** **********$****", !" **** *$*************$******.*****$$.*", !" * ** ..**************", !" $*** $**** $******.*****$$.*.", !"* * *. .* *.. $****", !" **** $**** $****.*.****$$.* *", !" ******. *. .*.. ******", !" *** *$** $*********$$$****.", !" *******. * .... $****", !" *** *$** $$********$$$****.*", !"** * ***. * .* . $****", !" $** $**** $$$******$ $$$***.*.", !"** ***. . ..*. *****", !" *** $**** $$$$$$$$ $$*****..", !"** *** .. *.. *****", !" *** *$** $$$$$$ $$****...", !" *. .. *... $****", !"$$* *$** $$$$$$$ $*****.*", !" **. * *... *****", !"$$* $**** $$$$$$ $****.*.", !" **. . $$*. ****", !" $*** $$$ *****.*", !" **.. .. ****", !" *$*$ ****.*.", !" $ . ..$ $****", !" $$** $*******", !" . ....* *****", !" $*** $$******", !" . .... ****", !" $*** $$ **** ", !" . . . $***", !" *$** $$$**** ", !". ..* *****", !" *$** $$****** ", !". . ****", !" $*** $$***** .", !" ...* ****", !" $*** $$**$** .", !" .... $****", !" *$** $$.$$ * ", !" ... ****", !" $*** $..$.$* *", !"* * ****", !" $*** $$$.$$ : ", !":.. $***", !" *$** $$ $$ $$ ", !"*.* ****", !" *$** $* $$ ", !"$.$ $***", !" $$$$ $$ $", !"$..$ $$$$", !" ", !"$$" %INTEGER I,J,K,L SELECT(KK) PROMPT("WANT SUSIE ?") READSYMBOL(I) %IF I='Y'%START NEWPAGE NEWLINES(10) %CYCLE I=0,1,4 SPACES(20+AT*16) PRINTSTRING(SUS(I)) NEWLINE %REPEAT NEWLINES(5) ! %CYCLE I=0,2,324 SPACES(16*AT) %CYCLE I=0,1,2998 J=CHAR(I) %IF J=0 %START NEWLINE SPACES(AT*16) %FINISHELSESTART L=J&X'3F' %IF J>=X'C0'%THEN K='$'%ELSESTART %IF J>=X'80'%THEN K='*'%ELSESTART %IF J>=X'40'%THEN K=' '%ELSESTART L=L&15 %IF J>=X'30'%THEN K='-'%ELSESTART %IF J>=X'20'%THEN K='.'%ELSESTART %IF J>=16%THEN K=':'%ELSESTART L=L&3 %IF J>=12 %THEN K='/' %ELSESTART %IF J>=8 %THEN K=')'%ELSE K='(' %FINISH %FINISH %FINISH %FINISH %FINISH %FINISH %FINISH %CYCLE L=0,1,L PRINTSYMBOL(K) %REPEAT %FINISH %REPEAT !PRINTSTRING(LINE(I)) ! PRINTSTRING(LINE(I+1)) ! NEWLINE ! %REPEAT %FINISH READSYMBOL(I)%UNTIL I=NL CALENDAR("") %END %SYSTEMINTEGERMAPSPEC COMREG(%INTEGER I) %EXTERNALROUTINE NS(%STRING(63)K) PRINTSTRING("No access to Student users ")%ANDSTOPIF BYTEINTEGER(COMREG(16)+3)='U' SEL=1 PROMPT("WIDTH:") READ(AT) SKIPSYMBOL AT=AT&1 DEFINE("ST39,".K) SELECTOUTPUT(39) SETMARGINS(39,1,120) SUSIE("") %END %EXTERNALROUTINESPEC DESTROY(%STRING(63)K) %DYNAMICROUTINESPEC LUNAR(%STRING(63)K) %EXTERNALROUTINE PERFLUNAR(%STRING(63)K) DEFINE("ST39,SS#LIST") SELECTOUTPUT(39) PRINTSTRING(" 1 YES NO 0 71 200 75 0 6 200 2 0 6 200 1 0 6 50 2 9 1 12 2 9 1 NO ") SELECTOUTPUT(0) CLOSESTREAM(39) SELECTINPUT(39) LUNAR("") SELECTOUTPUT(0) CLOSESTREAM(39) CLEAR("ST39") DESTROY("SS#LIST") %END %ROUTINE STARCOMM PRINTSTRING('THE POSSIBLE COMMANDS ARE DESIGNATED BY THE FOLLOWING NUMBERS AND CODE WORDS. 1 RANGE (REPEAT LAST RANGE AND BEARING 2 PHASEF (FIRE FORWARD PHASERS 3 PHASER (FIRE REAR PHASERS 4 TORPF (FIRE FORWARD PHOTON TORPEDOES ') PRINTSTRING(' 5 TORPR (FIRE REAR PHOTON TORPEDOES 6 PROBE (FIRE AN ANTIMATTER PROBE 7 MOVE (MOVE FORWARD 8 TURN (CHANGE DIRECTION OF TRAVEL 9 DAMAGE (GIVE DAMAGE REPORT 10 SHIELDS (SET OPTIMUM SHIELD ') PRINTSTRING('11 CHANCES (GIVE FIRING PROBABILITIES 12 COMMANDS (REPEAT THIS LIST 13 BLUFF (ATTEMPT TO BLUFF THE KLINGON 14 WAIT (LET THE KLINGON MOVE NEXT 15 SUICIDE (BLOW UP THE ENTERPRISE 16 SURRENDER (SURRENDER TO THE KLINGON ') %END %ROUTINESPEC STARINST(%STRING (63) K) %DYNAMICSTRINGFNSPEC DATE %DYNAMICSTRINGFNSPEC TIME %DYNAMICLONGREALFNSPEC RANDOM(%INTEGERNAME I, %INTEGER J) %EXTERNALROUTINE STARTREK %INTEGERFN TESTDRAINNREAD %INTEGER I %CYCLE I = NEXTSYMBOL %EXIT %IF '0' <= I <= '9' %OR I = '-' SKIPSYMBOL %REPEAT READ(I) %RESULT = I %END %INTEGERFN READLINE %INTEGER I, J, NO NO = 0 I = 0 %CYCLE %RESULT = TESTDRAINNREAD %IF NO = 0 %AND 0 < NEXTSYMBOL-'0' <10 READSYMBOL(J) %RESULT = NO+I %IF J = NL %AND NO # 0 I = I+1 %AND NO = NO<<8!J %IF J > ' ' %REPEAT %END %INTEGERFN DATETIME ! THIS M/C DEPENDENDANT ON TIME & DATE AS STRINGS ! ALSO RELIES ON STRING RESOLUTION SO COMPILER DEPENDANT ! IF REQUIRED CAN BE FIXED AS AN OWN INTEGER %STRING (16) AS %CONSTBYTEINTEGERARRAY C(0 : 8) = %C 16,15,13,12,10,9,8,7,5 %INTEGER DT, I AS = DATE.TIME DT = 0 %CYCLE I = 0,1,8 DT = DT*10+CHARNO(AS,C(I))-'0' %REPEAT %RESULT = DT!!X'54321FED' %END %INTEGERFN MSIGN(%INTEGER R) %RESULT = 1 %IF R < 0 %RESULT = -1 %END %INTEGERFNSPEC CHSHIELD(%INTEGER X) %ROUTINESPEC AWD(%INTEGER I) %ROUTINESPEC PRINTDES(%INTEGER I) %ROUTINESPEC SPEED(%INTEGER SP) %ROUTINESPEC KILL(%INTEGER I) %ROUTINESPEC CHWEAP %INTEGERFNSPEC ENTERHM %REALFNSPEC TCHFN(%INTEGER I) %ROUTINESPEC TO 90(%INTEGER B) %INTEGERFNSPEC VEL(%INTEGER I) %SWITCH SW(0 : 11) %CONSTSTRING (16) %ARRAY WEAP(1 : 3) = %C 'PHASERS','PHOTON TORPEDOES','PROBES' %CONSTREAL U3 = 0.017453 %REAL A, X3, Y3, RAI, CS %SHORTINTEGERARRAY ES, VS(0 : 1) %SHORTINTEGERNAME S0, S1 %SHORTINTEGER M0, M1, B, R9, B0, RB1 %BYTEINTEGERARRAY PR, EX, FL(0 : 1), Z(1 : 8) %BYTEINTEGERNAME X0, X1, P0, P1, X %BYTEINTEGER C1, S, C, T1 %INTEGER K, I, C0, STARDATE, J, RAN, STD, R %CONSTSTRING (10) %ARRAY N(0 : 1) = %C 'ENTERPRISE','KLINGON' %CONSTINTEGER YES = M'YEV' %CONSTBYTEINTEGERARRAY TST(0 : 4) = 80,60,45,35,0 %CONSTINTEGERARRAY CIS(0 : 15) = %C M'ANGJ',M'ASEL',M'ASEX',M'ORPK',M'ORPW',M'ROBJ',M'MOVI',M'TURR', M'MAGK',M'ELDZ',M'NCEZ',M'AND[',M'LUFK',M'WAIX',M'CIDL',M'NDE[' !%CONSTSTRING (9) %ARRAY CS(1 : 17) = %C !'RANGE','PHASEF','PHASER','TORPF', !'TORPR','PROBE','MOVE','TURN','DAMAGE','SHIELDS','CHANCES','COMMANDS', !'BLUFF','WAIT','SUICIDE','SURRENDER',' ' %CONSTSTRING (20) COMPDIS = 'COMPLETELY DISABLED ' %REALFN RANDOMREAL %RESULT = RANDOM(RAN,1) %END %INTEGERFN MODRAN(%INTEGER I, J) %RESULT = INT(RANDOMREAL*I)+J %END %ROUTINE PR100(%INTEGER I) PRINT(I/100,5,2) %END ! INITIALISING SECTION ! STARTING RANDOMISER PRINTSTRING('ENTER YOUR 3-DIGIT LUCKY NUMBER ') I = TEST DRAIN N READ %UNTIL 99 < I < 1000 RAN = DATETIME!!I!1 A = RANDOM(RAN,0) %CYCLE I = 1,1,I A = RANDOMREAL %REPEAT !STARTING GAME STD = MODRAN(I*10,571500) PRINTSTRING('YOU ARE IN COMMAND OF THE ENTERPRISE DO YOU WANT A DESCRIPTION OF THE GAME ') PROMPT('? :') STARINST('') %IF READLINE = YES S0 == ES(0) S1 == ES(1) X0 == EX(0) X1 == EX(1) P0 == PR(0) P1 == PR(1) !STARTING INDIVIDUAL ACTION %UNTIL I # YES %CYCLE STARDATE = STD P0 = 10 S = 0 S0 = 400 X0 = 0 Z(1) = 100 Z(2) = 100 Z(3) = 100 Z(4) = 100 ! STARTING INITIALISING OF EACH CONTACT PRINTSYMBOL('A') %CYCLE PRINTSTRING(' KLINGON SHIP IS APPROACHING ') R = MODRAN(50,-25) VS(0) = -R VS(1) = R B0 = R*4 ;! FOR CONVENIENCE T1 = 0 S1 = 400 X1 = 0 C0 = 8 P1 = 10 R = MODRAN(-500,2000) FL(0) = 0 FL(1) = 0 Z(5) = 100 Z(6) = 100 Z(7) = 100 Z(8) = 100 ! RETURN POINT FOR EACH KLINGON MOVE %WHILE R < 2000 %CYCLE RETURN: PRINTSTRING('BEARING') WRITE(B0,4) PRINTSTRING(' DEGREES. RANGE') WRITE(R,5) PRINTSTRING(' MGM STAR DATE') PR100(STARDATE) NEWLINE ! RETURN POINT FOR EACH MOVE NEXTCOMM: !COMMAND DECODING STARDATE = STARDATE+5 PROMPT('ORDERS:') K = READLINE %IF K!16 = ';' %THEN C = C0-1 %ELSESTART ! READLINE(':') = ; %IF K < 17 %THEN C = K-1 %ELSESTART C = 0 C = C+1 %WHILE C < 16 %AND K # CIS(C) %FINISH C0 = C+1 %FINISH %IF C0 > 16 %START COM: PRINTSTRING('WHAT ?? ') C = 0 %FINISH -> SW(C) %IF 6 <= C <= 11 -> KLSM %IF C > 0 -> RETURN !TURN SW(7): %IF X0 < 4 %START PROMPT('DEGREES:') J = TESTDRAINN READ -> COM %IF !J! > 180 B0 = B0+J B0 = B0+360*MSIGN(B0) %IF !B0! > 180 -> RETURN %FINISH SW(10): !CHANCES TO 90 (B0) I = X0 R9 = R %WHILE I < 3 %CYCLE I = I+1 PRINTSTRING(WEAP(I)) PRINTSTRING(' =') PRINT(TCHFN(I)*100,1,2) NEWLINE %REPEAT -> NEXTCOMM %IF X0 < 4 SW(6): ! MOVE PRINTSTRING(COMPDIS) %AND -> NEXTCOMM %IF X0 = 4 SPEED(0) PROMPT('MGM ?') K = TESTDRAIN N READ I = READLINE %IF NEXTSYMBOL # NL -> NEXTCOMM %IF K < 0 K = K*50 %IF I = 'X' ! 'X' IS READLINE ('W') M0 = K M0 = J %IF M0 > J -> KLD SW(11): ! COMMAND STARCOMM -> NEXTCOMM SW(9): ! SHIELDS S = CHSHIELD(1) %IF S = 0 %THEN PRINTSTRING( %C 'UNABLE TO SET SHIELDS') %ELSE %START PRINTSTRING('SHIELD') WRITE(S,3) %FINISH NEWLINE -> NEXTCOMM SW(8): ! DAMAGES PRINTSTRING(' SHIELD STRENGTH SHIELD ENTERPRISE KLINGON ') %CYCLE I = 1,1,4 WRITE(I,3) WRITE(Z(I),9) WRITE(Z(I+4),10) NEWLINE %REPEAT PRINTSTRING('INDEX') WRITE(S0//4,8) WRITE(S1//4,10) PRINTSTRING(' APPROX R') WRITE(S0+100,5) WRITE(S1+100,10) PRINTSTRING(' WEAPON AND ENGINE STATUS ') %CYCLE I = 0,1,1 PRINTSTRING('-----') PRINTSTRING(N(I)) PRINTSTRING('----- ') K = EX(I) %IF K = 4 %THEN PRINTSTRING(COMPDIS) %ELSE %START J = K AWD(J) %AND J = J-1 %WHILE J # 0 SPEED(I) %IF K < 3 %START WRITE(PR(I),2) PRINTSTRING(' PROBES REMAINING ') %FINISH %FINISH %REPEAT -> RETURN ! SUICIDE OR SURRENDER KLSM: PROMPT('SURE?') -> RETURN %IF C0 > 14 %AND READLINE # YES ! KLINGON DECISION SECTION M0 = 25 KLD: M1 = VEL(1) M1 = 25 %IF M1 < 25 C1 = 4 RB1 = -1 %IF X1 > 1 %START %IF X1 > 2 %START %IF R < S1+50 %THEN C1 = 0 %ELSE %START %IF X1 = 4 %THEN M1 = 0 %ELSE %START RB1 = 1 %IF R >= 700 %FINISH %FINISH %FINISH %ELSE %START %IF R >= 800 %THEN %START T1 = MODRAN(2,0) %IF T1 = 0 RB1 = 1 %IF T1 = 2 %FINISH %ELSE %START T1 = 0 C1 = 3 %FINISH %FINISH %FINISH %ELSE CHWEAP M1 = 25 %UNLESS C1 = 4 I = B0 I = I+360 %IF I < 0 CS = I*U3 I = M1*RB1 A = 1 %CYCLE RAI = R+A*I X3 = RAI*COS(CS)-A*M0 Y3 = RAI*SIN(CS) B = INT(ARCTAN(X3,Y3)/U3) R9 = INT(SQRT(X3*X3+Y3*Y3)) %EXIT %IF A # 1 B0 = B J = R9 A = RANDOMREAL %REPEAT R = J STARDATE = MODRAN(10,STAR DATE+20) -> SW(ENTERHM) SW(0): PRINTSTRING('HE MISSED ') SW(1): %CYCLE I = 0,1,1 X == EX(I) %IF ES(I) <= TST(X)*4 %START X = X+1 PRINTSTRING(N(I)) SPACE %IF X < 4 %THEN AWD(X) %ELSE PRINTSTRING(COMPDIS) %FINISH X = 3 %IF X = 2 %AND PR(I) = 0 %REPEAT %REPEAT SW(2): PRINTSTRING(' CONTACT WITH KLINGON BROKEN ') -> FINISH %IF RANDOMREAL >= .2 PRINTSTRING('ANOTHER') %REPEAT SW(3): KILL(0) -> ESUI %IF C1 # 0 C0 = 0 SW(4): PRINTSTRING('KLINGON IS INITIATING SELF-DESTRUCTION ') %C %IF C1 = 0 KILL(1) ESUI: PRINTDES(J) %IF C0 # 0 %AND R >= R9*100 SW(5): FINISH: PRINTSTRING(' THE GAME IS AT AN END THE ENGAGEMENT LASTED') PR100(STARDATE-STD) PRINTSTRING(' HRS ') PROMPT('AGAIN:') I = READLINE %WHILE YES # I # M'NQ' STD = MODRAN(5000,STARDATE) %REPEAT !*********************************************************************** !************ END OF MAIN PROGRAM LEVEL ***************************** !*********************************************************************** %ROUTINE SPEED(%INTEGER S) J = VEL(S) PRINTSTRING('MAXIMUM SPEED') WRITE(J,4) PRINTSTRING(' MGM/MOVE ') %END %ROUTINE AWD(%INTEGER I) PRINTSTRING('ALL ') %IF I < 3 PRINTSTRING(WEAP(I)) PRINTSTRING(' DEAD ') %END %ROUTINE PRINTDES(%INTEGER I) NEWLINE PRINTSTRING(N(I)) PRINTSTRING(' DESTROYED') PRINTSTRING('..YOU ARE DEAD.') %IF I = 0 %END %ROUTINE KILL(%INTEGER I) PRINTDES(I) PRINTSTRING(' EXPLOSION RADIUS') R = MODRAN(10000,125*ES(I)) PR100(R) PRINTSTRING(' MGM ') J = I!!1 %END %ROUTINE TO 90(%INTEGER BR) B = !BR-INT(BR/90)*90! %END %INTEGERFN VEL(%INTEGER I) %RESULT = (ES(I)-140)*(400+VS(I))//260 %END %REALFN TCHFN(%INTEGER C) %INTEGER R %REAL CS %IF C = 3 %START CS = (1500-R9)/2500 %RESULT = CS*CS*CS %IF CS >= 0 %FINISH R = R9-300*C+100 %RESULT = 0 %IF !R! >= 200 %RESULT = (1-R*R/40000)*SIN((90-B)*U3)*(1-(B//45)/(2*C+1)) %END %INTEGERFN CHSHIELD(%INTEGER L) C = 50 %CYCLE I = L,1,L+3 J = Z(I) L = I %AND C = J %IF C < J %REPEAT %RESULT = 0 %IF C = 50 %RESULT = L %END %INTEGERFN ENTERHM %INTEGERFN HOWHIT(%INTEGER C, I, K) %RESULT = 0 %IF C = 6 K = MODRAN(3,1) %IF K <= 0 X == Z(K+I*4) PRINTSYMBOL('A') %IF RANDOMREAL < .2 %THEN J = 2 %C %AND PRINTSTRING(' DIRECT') %ELSE J = 1 PRINTSTRING(' HIT ON SHIELD') WRITE(K,1) %RESULT = 0 %IF X = 0 J = (3+I)*(7-C)*J J = INT(J*(RANDOMREAL+.1)) J = X %AND PRINTSTRING(' WHICH IS GONE') %IF X < J X = X-J ES(I) = ES(I)-J NEWLINE %RESULT = 1 %END %CONSTSTRING (35) %ARRAY NSI(0 : 1) = %C 'KLINGON WITHDRAWING AT TOP SPEED !!','KLINGON ACCEPTED SURRENDER' %CONSTSTRING (18) %ARRAY SI(0 : 1) = %C 'BLUFF FAILED ','SURRENDER IGNORED ' %SWITCH SW(0 : 4) %IF C0 > 6 %START I = C0//15 %IF C0&2 # 0 %START %RESULT = 3 %IF I # 0 %FINISH %ELSE %START %RESULT = 4 %IF C1 = 0 %IF FL(I) = 0 %START FL(I) = 1 %IF I = 0 %AND X1 = 4 %THEN PRINTSTRING( %C 'KLINGON CANNOT MOVE ') %ELSE %START K = I*3+2 PRINTSTRING(NSI(I)) %AND %RESULT = K %C %IF MODRAN(-10,K) > 0 %FINISH %FINISH PRINTSTRING(SI(I)) %FINISH %FINISH %ELSE %START C = C0//2 %IF X0 >= C %THEN AWD(C) %ELSE %START %IF C = 3 %START %IF P0 = 0 %THEN PRINTSTRING('NO MORE PROBES ') %C %AND C = 0 %ELSE P0 = P0-1 %FINISH %ELSE %START B = !B+180*MSIGN(B)*(C0&1)! PRINTSTRING('INCORRECT ANGLE ') %AND C = 0 %C %IF B >= 90 %FINISH %IF C # 0 %START %IF RANDOMREAL < TCHFN(C) %START %RESULT = 4 %IF HOWHIT(C0,1,CHSHIELD(5)-4) = 0 %FINISH %ELSE PRINTSTRING('YOU MISSED ') %FINISH %FINISH %FINISH -> SW(C1) SW(0): %RESULT = 4 SW(3):P1 = P1-1 SW(1): SW(2):TO 90(B) PRINTSTRING('KLINGON FIRING ') PRINTSTRING(WEAP(C1)) NEWLINE %RESULT = 0 %IF RANDOMREAL >= TCHFN(C1) %RESULT = 3 %IF HOWHIT(C1*2,0,S) = 0 SW(4): %RESULT = 1 %END %ROUTINE CHWEAP %SWITCH KL(0 : 3) -> KL(X0&3) KL(0): %IF R <= 1000 %START %IF R > 350+X1*50 %THEN C1 = 2 %ELSE %START %IF X1 = 0 %THEN C1 = 1 %ELSE RB1 = 1 %FINISH %FINISH %RETURN KL(1): %IF X1 # 0 %START %IF 300 <= R <= 1000 %THEN C1 = 2 %ELSE %START RB1 = 1 %IF RANDOMREAL < .5 %FINISH %FINISH %ELSE %START C1 = 2 %IF 125+S0 < R <= 700 C1 = 1 %IF R < 125 %FINISH %RETURN KL(2): %IF R < 450 %THEN RB1 = 1 %ELSE %START %IF R <= 750 %THEN C1 = 2 %ELSE %START K = R-550 M1 = K %IF K < M1 %FINISH %FINISH %RETURN KL(3): %IF X1 = 0 %THEN K = S0+50 %ELSE K = 375 %IF R < K %THEN RB1 = 1 %ELSE %START %IF R < 375 %THEN C1 = 1 %ELSE %START %IF 550 < R < 725 %OR R < X1*450 %START %IF (RANDOMREAL-.3)*P1 < 0 %THEN C1 = 3 %ELSE C1 = 2 %FINISH %FINISH %FINISH %END %END %EXTERNALROUTINE STARINST(%STRING (63) K) K = '.TT' %IF K = '' DEFINE('ST01,'.K) SELECTOUTPUT(1) PRINTSTRING(%C "THIS GAME SIMULATES A BATTLE BETWEEN THE STARSHIP ENTERPRISE AND ONE OR MORE KLINGON STARSHIPS. THE OBJECT OF THE GAME IS TO DESTROY THE KLINGON SHIP WITH AS LITTLE DAMAGE TO THE ENTERPRISE AS POSSIBLE. LIKEWISE, THE KLINGON IS TRYING TO DESTROY THE ENTE") PRINTSTRING("RPRISE WITH AS LITTLE DAMAGE TO HIS OWN SHIP AS POSSIBLE. BOTH SHIPS HAVE EQUAL WEAPONS AND APPROXIMATELY EQUAL TOP SPEED. DEFENSIVE ABILITIES ARE ALSO ROUGHLY EQUAL. WEAPONS AND DEFENSES ARE DESCRIBED BELOW: WEAPONS TYPE ") PRINTSTRING("ANGE(MGM) EFFECTIVE RELATIVE # SHOTS ANGLE STRENGTH AVAILABLE PHASER 0-400 MOD(A)<90 5 INFINITE PHASER 0-400 MOD(A)>90 4 INFINITE TORPEDO 300-700 MOD(A)<90 3 INF") PRINTSTRING("INITE TORPEDO 300-700 MOD(A)>90 2 INFINITE PROBE 0-1500 ALL INFINITE 10 PHASER AND TORPEDO HITS ARE MORE LIKELY WHEN THE RANGE IS NEAREST TO 200 AND 500 MGM, RESPECTIVELY, AND WHEN THE BEARING OF THE KLINGON IS NEAR") PRINTSTRING(%C "EST TO 0, -180, OR 180 DEGREES. THE POSSIBILITY OF A PROBE HIT DEPENDS ONLY ON THE RANGE. (A PROBE HIT ALWAYS RESULTS IN TOTAL DESTRUCTION OF THE SHIP IT HITS AND MAY DESTROY THE OTHER SHIP). THE RADIUS OF THE EXPLOSION RESULTING FROM EITHER A SUICIDE OR") PRINTSTRING(" A PROBE HIT IS ROUGHLY PROPORTIONAL TO THE AVERAGE SHIELD STRENGTH OF THE DESTROYED VESSEL. SINCE IT MAY BE AS LARGE AS 600 MGM, BOTH SHIPS MAY BE DESTROYED BY THE SAME EXPLOSION. DEFENSES EACH SHIP HAS FOUR SHIELDS WHICH ABSORB T") PRINTSTRING("HE ENERGY TO THE SEVERITY OF THE HIT. A DIRECT HIT IS TWICE AS POWERFUL AS THE AVERAGE HIT. THE SHIELD WHICH IS HIT IS DETERMINED RANDOMLY UNLESS THE SHIELDS COMMAND HAS BEEN GIVEN. THIS COMMAND CAUSES THE STRONGEST SHIELD TO BE PLACED TOWARD THE KLINGO") PRINTSTRING("N AND TO BE KEPT FACING THE KLINGON UNTIL ANOTHER SHIELDS COMMAND IS GIVEN. A HIT ON A ZERO STRENGTH SHIELD RESULTS IN TOTAL DESTRUCTION. MOVEMENT EACH VESSEL MOVES IN THE DIRECTION IT IS POINTING UP TO THE MAXIMUM DISTANCE POSSIBL") PRINTSTRING("E FOR IT. (MAXIMUM MOVEMENT DISTANCE DEPENDS ON AVERAGE SHIELD STRENGTH). THIS USUALLY CAUSES NO PROBLEM SINCE A SHIP MAY BE TURNED ANY NUMBER OF DEGREES WITHOUT PENALTY. HOWEVER, A SHIP MAY NOT MOVE AND FIRE IN THE SAME TURN. ALSO, WHEN A SHIP DOES NO") PRINTSTRING("T MOVE VOLUNTARILY, INERTIA CARRIES IT 25 MGM PER TURN IN THE DIRECTION IT IS FACING. COMMANDS THE COMMANDS RANGE (1), TURN (8), DAMAGE (9), SHIELDS (10), CHANCES (11), AND COMMANDS (12) ARE FREE MOVES, THAT IS,THE KLINGON DOES NOT") PRINTSTRING(" TAKE HIS TURN AFTER ONE OF THESE COMMANDS IS GIVEN. ALL OTHER COMMANDS COST A TURN. THE BLUFF (13) AND THE SURRENDER (16) COMMANDS ALWAYS FAIL WHEN THEY ARE GIVEN MORE THAN ONCE IN A GAME. IF YOU WISH TO REPEAT A COMMAND, TYPE A '*'. IF YOU GIVE THE MOVE") PRINTSTRING(" (7) COMMAND AND DECIDE THAT YOU REALLY WANT TO GIVE A DIFFERENT COMMAND, TYPE ANY NEGATIVE NUMBER AND THEN TYPE THE CORRECT COMMAND. IF YOU TYPE THE VALUE FOLLOWED BY A 'W' THIS WARP FACTOR IS CONVERTED TO MGM 1 W = 50 MGM. ") STARCOMM SELECTOUTPUT(0) CLOSESTREAM(1) CLEAR("ST1") %END %EXTERNALSTRING(1)%FN SNL %RESULT=' ' %END %EXTERNALROUTINE READWORD(%STRINGNAME S) SKIPSYMBOL %WHILE NEXTSYMBOL = NL %OR NEXTSYMBOL = ' ' S = '' S=S.TOSTRING(NEXTSYMBOL)%AND SKIPSYMBOL%WHILE NL#NEXTSYMBOL#' ' %END %OWNINTEGER R=X'54321FED' %EXTERNALREALFN RANDOMREAL %RESULT = RANDOM(R,1) %END %EXTERNALINTEGERFN RANDOMIN %RESULT=INT(RANDOM(R,1)*100) %END %EXTERNALROUTINE RESTARTRA %REAL X R=X'54321FED' X=RANDOM(R,0) %END %EXTERNALROUTINE JUGGLERANDOMS %REAL X X=RANDOM(R,0) %END %EXTERNALROUTINE SANTA(%STRING(63)S) %INTEGER I,J,K CHECKSTUDENT %CONSTBYTEINTEGERARRAY SANT(0:7414) = %C ' ', 26, 207, 138, ' ', 24, 'D', 2, 138, ' ', 23, 196, ' ', 2, 196, 138, ' ', 22, 207, ' ', 4, 'O', 2, 138, ' ', 23, 196, ' ', 3, 207, 160, 196, 138, ' ', 24, 196, 160, 207, ' ', 3, 'D', 2, 138, ' ', 24, 'O', 2, ' ', 8, 196, ' ', 2, 'O', 4, 138, ' ', 24, 196, ' ', 5, 185, ' ', 2, 196, ' ', 2, 'O', 2, ' ', 3, 207, 138, ' ', 7, 'M', 3, ' ', 13, 196, ' ', 6, 185, 160, 'O', 5, ' ', 5, 207, 138, ' ', 6, 'M', 5, ' ', 9, 'M', 3, 160, 196, ' ', 7, 'O', 4, 138, ' ', 5, 'M', 2, ' ', 3, 'M', 2, ' ', 5, 205, 'O', 2, ' ', 11, 196, ' ', 3, 'O', 2, ' ', 5, 207, 138, ' ', 4, 'M', 2, ' ', 5, 'M', 2, ' ', 3, 205, 160, 'O', 2, ' ', 10, 196, ' ', 5, 'O', 3, ' ', 3, 207, 138, ' ', 3, 'M', 2, ' ', 6, 'M', 3, 160, 205, ' ', 2, 'O', 2, ' ', 9, 196, ' ', 7, 'O', 3, ' ', 3, 'O', 2, 138, ' ', 2, 'M', 2, ' ', 8, 'M', 3, ' ', 3, 'O', 2, ' ', 8, 196, ' ', 10, 'O', 5, 138, ' ', 6, 'M', 7, ' ', 5, 'O', 2, ' ', 7, 196, 138, ' ', 4, 'M', 9, ' ', 5, 'O', 2, ' ', 6, 196, 138, ' ', 3, 'M', 3, ' ', 7, 196, ' ', 4, 'O', 2, ' ', 5, 196, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 196, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 196, 138, ' ', 3, 'M', 2, ' ', 7, 'O', 13, 138, ' ', 4, 'M', 2, ' ', 5, 'O', 2, 160, 210, 213, 196, 207, 204, 208, 200, 160, 'O', 2, 138, ' ', 11, 196, ' ', 6, 'O', 2, ' ', 2, 207, 196, 138, ' ', 11, 196, ' ', 6, 'O', 2, 160, 207, 160, 196, 138, 205, ' ', 10, 196, ' ', 6, 'O', 3, ' ', 2, 196, 138, 'M', 2, ' ', 9, 196, ' ', 6, 'O', 3, ' ', 2, 196, 138, 160, 'M', 2, ' ', 8, 196, ' ', 6, 'O', 2, ' ', 4, 196, 138, ' ', 2, 'M', 4, ' ', 6, 196, ' ', 5, 'O', 2, ' ', 4, 196, 138, 205, ' ', 2, 'M', 4, ' ', 4, 'M', 5, ' ', 2, 'O', 2, ' ', 5, 196, 138, 'M', 2, ' ', 4, 'M', 5, ' ', 7, 'O', 2, ' ', 5, 196, 138, 160, 'M', 2, ' ', 5, 'M', 2, ' ', 7, 'O', 3, ' ', 5, 196, 138, ' ', 2, 'M', 7, ' ', 8, 'O', 3, ' ', 4, 196, 138, ' ', 3, 'M', 9, ' ', 4, 207, 160, 'O', 2, ' ', 4, 196, 138, ' ', 11, 'M', 2, 196, 160, 207, ' ', 2, 'O', 2, ' ', 2, 'D', 2, 138, ' ', 14, 196, 207, ' ', 2, 'O', 2, 'D', 2, 160, 'D', 2, 138, ' ', 16, 'D', 2, 'O', 2, ' ', 4, 'D', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, ' ', 4, 'D', 2, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 2, 196, 138, ' ', 18, 'O', 2, ' ', 2, 196, ' ', 4, 196, 207, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 3, 207, 160, 196, 138, ' ', 18, 'O', 2, ' ', 4, 196, 160, 207, ' ', 3, 'D', 2, 138, ' ', 18, 'O', 2, ' ', 4, 'O', 2, ' ', 6, 196, ' ', 4, 'O', 4, 138, ' ', 18, 'O', 2, ' ', 4, 196, ' ', 5, 185, ' ', 2, 196, ' ', 2, 'O', 2, ' ', 3, 207, 138, ' ', 6, 'M', 5, ' ', 7, 'O', 2, 'M', 3, 160, 196, ' ', 7, 'O', 4, 138, ' ', 7, 'M', 3, ' ', 8, 'O', 2, ' ', 3, 196, ' ', 6, 185, 160, 'O', 5, ' ', 5, 207, 138, ' ', 5, 'M', 2, ' ', 3, 'M', 2, ' ', 5, 205, 'O', 2, ' ', 11, 196, ' ', 3, 'O', 2, ' ', 5, 207, 138, ' ', 4, 'M', 2, ' ', 5, 'M', 2, ' ', 3, 205, 160, 'O', 2, ' ', 10, 196, ' ', 5, 'O', 3, ' ', 3, 207, 138, ' ', 3, 'M', 2, ' ', 6, 'M', 3, 160, 205, ' ', 2, 'O', 2, ' ', 9, 196, ' ', 7, 'O', 3, ' ', 3, 'O', 2, 138, ' ', 2, 'M', 2, ' ', 8, 'M', 3, ' ', 3, 'O', 2, ' ', 8, 196, ' ', 10, 'O', 5, 138, ' ', 6, 'M', 7, ' ', 5, 'O', 2, ' ', 7, 196, 138, ' ', 4, 'M', 9, ' ', 5, 'O', 2, ' ', 6, 196, 138, ' ', 3, 'M', 3, ' ', 7, 196, ' ', 4, 'O', 2, ' ', 5, 196, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 'D', 2, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 'D', 2, 138, ' ', 3, 'M', 2, ' ', 7, 'O', 13, 138, ' ', 4, 'M', 2, ' ', 5, 'O', 3, 160, 196, 193, 211, 200, 197, 210, 160, 'O', 2, 138, ' ', 11, 196, ' ', 6, 'O', 2, ' ', 2, 207, 196, 138, ' ', 11, 196, ' ', 6, 'O', 2, 160, 207, 160, 196, 138, 205, ' ', 10, 196, ' ', 6, 'O', 3, ' ', 2, 196, 138, 'M', 2, ' ', 9, 196, ' ', 6, 'O', 3, ' ', 2, 196, 138, 160, 'M', 2, ' ', 8, 196, ' ', 6, 'O', 2, ' ', 4, 196, 138, ' ', 2, 'M', 4, ' ', 6, 196, ' ', 5, 'O', 2, ' ', 4, 196, 138, 205, ' ', 2, 'M', 4, ' ', 4, 'M', 5, ' ', 2, 'O', 2, ' ', 5, 196, 138, 'M', 2, ' ', 4, 'M', 5, ' ', 7, 'O', 2, ' ', 5, 196, 138, 160, 'M', 2, ' ', 5, 'M', 2, ' ', 7, 'O', 3, ' ', 5, 196, 138, ' ', 2, 'M', 7, ' ', 8, 'O', 3, ' ', 4, 196, 138, ' ', 3, 'M', 9, ' ', 4, 207, 160, 'O', 2, ' ', 4, 196, ' ', 24, 'M', 15, 138, ' ', 11, 'M', 2, 196, 160, 207, ' ', 2, 'O', 2, ' ', 2, 'D', 2, ' ', 25, 'M', 15, 138, ' ', 14, 196, 207, ' ', 2, 'O', 2, 'D', 2, 160, 'D', 2, ' ', 24, 'M', 15, 138, ' ', 16, 'D', 2, 'O', 2, ' ', 4, 'D', 2, ' ', 33, 'M', 3, 138, ' ', 18, 'O', 2, ' ', 38, 'M', 3, 138, ' ', 18, 'O', 2, ' ', 38, 'M', 3, 138, ' ', 18, 'O', 2, ' ', 39, 'M', 3, 138, ' ', 18, 'O', 2, ' ', 29, 'M', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'M', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'M', 15, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, ' ', 29, 'E', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'E', 15, 138, ' ', 18, 'O', 2, ' ', 4, 'D', 2, ' ', 23, 'E', 15, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 2, 196, ' ', 22, 'E', 3, ' ', 3, 'E', 3, ' ', 3, 'E', 3, 138, ' ', 18, 'O', 2, ' ', 2, 196, ' ', 4, 196, 207, ' ', 20, 'E', 3, ' ', 3, 'E', 3, ' ', 3, 'E', 3, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 3, 207, 160, 196, ' ', 19, 'E', 3, ' ', 3, 'E', 3, ' ', 3, 'E', 3, 138, ' ', 18, 'O', 2, ' ', 4, 196, 160, 207, ' ', 3, 'D', 2, ' ', 17, 'E', 3, ' ', 3, 'E', 3, ' ', 3, 'E', 3, 138, ' ', 18, 'O', 2, ' ', 4, 'O', 2, ' ', 6, 196, ' ', 4, 'O', 4, ' ', 8, 'E', 3, ' ', 3, 'E', 3, ' ', 3, 'E', 3, 138, ' ', 18, 'O', 2, ' ', 4, 196, ' ', 5, 185, ' ', 2, 196, ' ', 2, 'O', 2, ' ', 3, 207, 138, ' ', 7, 'M', 3, ' ', 8, 'O', 2, ' ', 3, 196, ' ', 6, 185, 160, 'O', 5, ' ', 5, 207, 138, ' ', 6, 'M', 5, ' ', 7, 'O', 2, 'M', 3, 160, 196, ' ', 7, 'O', 4, ' ', 13, 'R', 15, 138, ' ', 5, 'M', 2, ' ', 3, 'M', 2, ' ', 5, 205, 'O', 2, ' ', 11, 196, ' ', 3, 'O', 2, ' ', 8, 207, ' ', 3, 'R', 15, 138, ' ', 4, 'M', 2, ' ', 5, 'M', 2, ' ', 3, 205, 160, 'O', 2, ' ', 10, 196, ' ', 5, 'O', 3, ' ', 6, 207, ' ', 3, 'R', 15, 138, ' ', 3, 'M', 2, ' ', 6, 'M', 3, 160, 205, ' ', 2, 'O', 2, ' ', 9, 196, ' ', 7, 'O', 3, ' ', 3, 'O', 2, ' ', 8, 'R', 5, ' ', 3, 'R', 3, 138, ' ', 2, 'M', 2, ' ', 8, 'M', 3, ' ', 3, 'O', 2, ' ', 8, 196, ' ', 10, 'O', 5, ' ', 8, 'R', 6, ' ', 3, 'R', 3, 138, ' ', 6, 'M', 7, ' ', 5, 'O', 2, ' ', 7, 196, ' ', 23, 'R', 3, 160, 'R', 9, 138, ' ', 4, 'M', 9, ' ', 5, 'O', 2, ' ', 6, 196, ' ', 22, 'R', 4, ' ', 2, 'R', 9, 138, ' ', 3, 'M', 3, ' ', 7, 196, ' ', 4, 'O', 2, ' ', 5, 196, ' ', 23, 'R', 3, ' ', 3, 'R', 9, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 196, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 196, 138, ' ', 3, 'M', 2, ' ', 7, 'O', 13, ' ', 24, 'R', 15, 138, ' ', 4, 'M', 2, ' ', 5, 'O', 3, 160, 196, 193, 206, 195, 197, 210, 160, 'O', 2, ' ', 25, 'R', 15, 138, ' ', 11, 196, ' ', 6, 'O', 2, ' ', 2, 207, 196, ' ', 25, 'R', 15, 138, ' ', 11, 196, ' ', 6, 'O', 2, 160, 207, 160, 196, ' ', 29, 'R', 5, ' ', 3, 'R', 3, 138, 205, ' ', 10, 196, ' ', 6, 'O', 3, ' ', 2, 196, ' ', 28, 'R', 6, ' ', 3, 'R', 3, 138, 'M', 2, ' ', 9, 196, ' ', 6, 'O', 3, ' ', 2, 196, ' ', 27, 'R', 3, 160, 'R', 9, 138, 160, 'M', 2, ' ', 8, 196, ' ', 6, 'O', 2, ' ', 4, 196, ' ', 24, 'R', 4, ' ', 2, 'R', 9, 138, ' ', 2, 'M', 4, ' ', 6, 196, ' ', 5, 'O', 2, ' ', 4, 196, ' ', 24, 'R', 3, ' ', 3, 'R', 9, 138, 205, ' ', 2, 'M', 4, ' ', 4, 'M', 5, ' ', 2, 'O', 2, ' ', 5, 196, 138, 'M', 2, ' ', 4, 'M', 5, ' ', 7, 'O', 2, ' ', 5, 196, 138, 160, 'M', 2, ' ', 5, 'M', 2, ' ', 7, 'O', 3, ' ', 5, 196, ' ', 37, 217, 138, ' ', 2, 'M', 7, ' ', 8, 'O', 3, ' ', 4, 196, ' ', 37, 'Y', 2, 138, ' ', 3, 'M', 9, ' ', 4, 207, 160, 'O', 2, ' ', 4, 196, ' ', 36, 'Y', 3, 138, ' ', 11, 'M', 2, 196, 160, 207, ' ', 2, 'O', 2, ' ', 2, 'D', 2, ' ', 36, 'Y', 3, 138, ' ', 14, 196, 207, ' ', 2, 'O', 2, 'D', 2, 160, 'D', 2, ' ', 34, 'Y', 3, 138, ' ', 16, 'D', 2, 'O', 2, ' ', 4, 'D', 2, ' ', 32, 'Y', 3, 138, ' ', 18, 'O', 2, ' ', 29, 'Y', 11, 138, ' ', 18, 'O', 2, ' ', 29, 'Y', 11, 138, ' ', 18, 'O', 2, ' ', 29, 'Y', 11, 138, ' ', 18, 'O', 2, ' ', 38, 'Y', 3, 138, ' ', 18, 'O', 2, ' ', 39, 'Y', 3, 138, ' ', 18, 'O', 2, ' ', 40, 'Y', 3, 138, ' ', 18, 'O', 2, ' ', 41, 'Y', 3, 138, ' ', 18, 'O', 2, ' ', 42, 'Y', 2, 138, ' ', 18, 'O', 2, ' ', 43, 217, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, ' ', 4, 'D', 2, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 2, 196, 138, ' ', 18, 'O', 2, ' ', 2, 196, ' ', 4, 196, 207, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 3, 207, 196, 138, ' ', 18, 'O', 2, ' ', 4, 196, 160, 207, ' ', 3, 'O', 2, 138, ' ', 18, 'O', 2, ' ', 4, 'O', 2, ' ', 6, 196, ' ', 4, 'O', 4, 138, ' ', 18, 'O', 2, ' ', 4, 196, ' ', 5, 185, ' ', 2, 196, ' ', 2, 'O', 2, ' ', 3, 207, 138, ' ', 7, 'M', 3, ' ', 8, 'O', 2, ' ', 3, 196, ' ', 6, 185, 160, 'O', 5, ' ', 5, 207, 138, ' ', 6, 'M', 5, ' ', 7, 'O', 2, 'M', 3, 160, 196, ' ', 7, 'O', 4, ' ', 13, 'C', 15, 138, ' ', 5, 'M', 2, ' ', 3, 'M', 2, ' ', 5, 205, 'O', 2, ' ', 11, 196, ' ', 3, 'O', 2, ' ', 8, 207, ' ', 3, 'C', 15, 138, ' ', 4, 'M', 2, ' ', 5, 'M', 2, ' ', 3, 205, 160, 'O', 2, ' ', 10, 196, ' ', 5, 'O', 3, ' ', 6, 207, ' ', 3, 'C', 15, 138, ' ', 3, 'M', 2, ' ', 6, 'M', 3, 160, 205, ' ', 2, 'O', 2, ' ', 9, 196, ' ', 7, 'O', 3, ' ', 3, 'O', 2, ' ', 4, 'C', 3, ' ', 9, 'C', 3, 138, ' ', 2, 'M', 2, ' ', 8, 'M', 3, ' ', 3, 'O', 2, ' ', 8, 196, ' ', 10, 'O', 5, ' ', 5, 'C', 3, ' ', 9, 'C', 3, 138, ' ', 6, 'M', 7, ' ', 5, 'O', 2, ' ', 7, 196, ' ', 21, 'C', 3, ' ', 9, 'C', 3, 138, ' ', 4, 'M', 9, ' ', 5, 'O', 2, ' ', 6, 196, ' ', 22, 'C', 3, ' ', 9, 'C', 3, 138, ' ', 3, 'M', 3, ' ', 7, 196, ' ', 4, 'O', 2, ' ', 5, 196, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 196, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 196, ' ', 24, 'H', 15, 138, ' ', 3, 'M', 2, ' ', 7, 'O', 13, ' ', 24, 'H', 15, 138, ' ', 4, 'M', 2, ' ', 5, 'O', 2, 160, 208, 210, 193, 206, 195, 197, 210, 160, 'O', 2, ' ', 25, 'H', 15, 138, ' ', 11, 196, ' ', 6, 'O', 2, ' ', 2, 207, 196, ' ', 31, 'H', 3, 138, ' ', 11, 196, ' ', 6, 'O', 2, 160, 207, 160, 196, ' ', 31, 'H', 3, 138, 205, ' ', 10, 196, ' ', 6, 'O', 3, ' ', 2, 196, ' ', 31, 'H', 3, 138, 'M', 2, ' ', 9, 196, ' ', 6, 'O', 3, ' ', 2, 196, ' ', 31, 'H', 3, 138, 160, 'M', 2, ' ', 8, 196, ' ', 6, 'O', 2, ' ', 4, 196, ' ', 24, 'H', 15, 138, ' ', 2, 'M', 4, ' ', 6, 196, ' ', 5, 'O', 2, ' ', 4, 196, ' ', 24, 'H', 15, 138, 205, ' ', 2, 'M', 4, ' ', 4, 'M', 5, ' ', 2, 'O', 2, ' ', 5, 196, ' ', 23, 'H', 15, 138, 'M', 2, ' ', 4, 'M', 5, ' ', 7, 'O', 2, ' ', 5, 196, 138, 160, 'M', 2, ' ', 5, 'M', 2, ' ', 7, 'O', 3, ' ', 4, 196, 138, ' ', 2, 'M', 7, ' ', 8, 'O', 3, ' ', 4, 196, ' ', 24, 'R', 15, 138, ' ', 3, 'M', 9, ' ', 4, 207, 160, 'O', 2, ' ', 4, 196, ' ', 24, 'R', 15, 138, ' ', 11, 'M', 2, 196, 160, 207, ' ', 2, 'O', 2, ' ', 2, 'D', 2, ' ', 25, 'R', 15, 138, ' ', 14, 196, 207, ' ', 2, 'O', 2, 'D', 2, 160, 'D', 2, ' ', 28, 'R', 5, ' ', 3, 'R', 3, 138, ' ', 16, 'D', 2, 'O', 2, ' ', 4, 'D', 2, ' ', 26, 'R', 6, ' ', 3, 'R', 3, 138, ' ', 18, 'O', 2, ' ', 31, 'R', 3, 160, 'R', 9, 138, ' ', 18, 'O', 2, ' ', 29, 'R', 4, ' ', 2, 'R', 9, 138, ' ', 18, 'O', 2, ' ', 29, 'R', 3, ' ', 3, 'R', 9, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, ' ', 29, 'I', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'I', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'I', 15, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, ' ', 4, 'D', 2, ' ', 23, 'S', 3, ' ', 3, 'S', 9, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 2, 196, ' ', 22, 'S', 3, ' ', 3, 'S', 9, 138, ' ', 18, 'O', 2, ' ', 2, 196, ' ', 4, 196, 207, ' ', 20, 'S', 3, ' ', 3, 'S', 9, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 3, 207, 160, 196, ' ', 19, 'S', 3, ' ', 3, 'S', 3, ' ', 3, 'S', 3, 138, ' ', 18, 'O', 2, ' ', 4, 196, 160, 207, ' ', 3, 'D', 2, ' ', 17, 'S', 3, ' ', 3, 'S', 3, ' ', 3, 'S', 3, 138, ' ', 18, 'O', 2, ' ', 4, 'O', 2, ' ', 6, 196, ' ', 4, 'O', 4, ' ', 8, 'S', 3, ' ', 3, 'S', 3, ' ', 3, 'S', 3, 138, ' ', 18, 'O', 2, ' ', 4, 196, ' ', 5, 185, ' ', 2, 196, ' ', 2, 'O', 2, ' ', 3, 207, ' ', 7, 'S', 9, ' ', 3, 'S', 3, 138, ' ', 7, 'M', 3, ' ', 8, 'O', 2, ' ', 3, 196, ' ', 6, 185, 160, 'O', 5, ' ', 5, 207, ' ', 6, 'S', 9, ' ', 3, 'S', 3, 138, ' ', 6, 'M', 5, ' ', 7, 'O', 2, 'M', 3, 160, 196, ' ', 7, 'O', 4, ' ', 13, 'S', 9, ' ', 3, 'S', 3, 138, ' ', 5, 'M', 2, ' ', 3, 'M', 2, ' ', 5, 205, 'O', 2, ' ', 11, 196, ' ', 3, 'O', 2, ' ', 8, 207, 138, ' ', 4, 'M', 2, ' ', 5, 'M', 2, ' ', 3, 205, 160, 'O', 2, ' ', 10, 196, ' ', 5, 'O', 3, ' ', 6, 207, 138, ' ', 3, 'M', 2, ' ', 6, 'M', 3, 160, 205, ' ', 2, 'O', 2, ' ', 9, 196, ' ', 7, 'O', 3, ' ', 3, 'O', 2, ' ', 16, 'T', 3, 138, ' ', 2, 'M', 2, ' ', 8, 'M', 3, ' ', 3, 'O', 2, ' ', 8, 196, ' ', 10, 'O', 5, ' ', 17, 'T', 3, 138, ' ', 6, 'M', 7, ' ', 5, 'O', 2, ' ', 7, 196, ' ', 33, 'T', 3, 138, ' ', 4, 'M', 9, ' ', 5, 'O', 2, ' ', 6, 196, ' ', 34, 'T', 3, 138, ' ', 3, 'M', 3, ' ', 7, 196, ' ', 4, 'O', 2, ' ', 5, 196, ' ', 23, 'T', 15, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 196, ' ', 24, 'T', 15, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 196, ' ', 36, 'T', 3, 138, ' ', 3, 'M', 2, ' ', 7, 'O', 13, ' ', 36, 'T', 3, 138, ' ', 4, 'M', 2, ' ', 5, 'O', 3, 160, 214, 201, 216, 197, 206, 160, 'O', 3, ' ', 37, 'T', 3, 138, ' ', 11, 196, ' ', 6, 'O', 2, ' ', 2, 207, 196, 138, ' ', 11, 196, ' ', 6, 'O', 2, 160, 207, 160, 196, 138, 205, ' ', 10, 196, ' ', 6, 'O', 3, ' ', 2, 196, 138, 'M', 2, ' ', 9, 196, ' ', 6, 'O', 3, ' ', 2, 196, ' ', 25, 'M', 15, 138, 160, 'M', 2, ' ', 8, 196, ' ', 6, 'O', 2, ' ', 4, 196, ' ', 24, 'M', 15, 138, ' ', 2, 'M', 4, ' ', 6, 196, ' ', 5, 'O', 2, ' ', 4, 196, ' ', 24, 'M', 15, 138, 205, ' ', 2, 'M', 4, ' ', 4, 'M', 5, ' ', 2, 'O', 2, ' ', 5, 196, ' ', 33, 'M', 3, 138, 'M', 2, ' ', 4, 'M', 5, ' ', 7, 'O', 2, ' ', 5, 196, ' ', 32, 'M', 3, 138, 160, 'M', 2, ' ', 5, 'M', 2, ' ', 7, 'O', 3, ' ', 5, 196, ' ', 32, 'M', 3, 138, ' ', 2, 'M', 7, ' ', 8, 'O', 3, ' ', 4, 196, ' ', 34, 'M', 3, 138, ' ', 3, 'M', 9, ' ', 4, 207, 160, 'O', 2, ' ', 4, 196, ' ', 24, 'M', 15, 138, ' ', 11, 'M', 2, 196, 160, 207, ' ', 2, 'O', 2, ' ', 2, 'D', 2, ' ', 25, 'M', 15, 138, ' ', 14, 196, 207, ' ', 2, 'O', 2, 'D', 2, 160, 'D', 2, ' ', 24, 'M', 15, 138, ' ', 16, 'D', 2, 'O', 2, ' ', 4, 'D', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 34, 'A', 3, ' ', 4, 'A', 3, 138, ' ', 18, 'O', 2, ' ', 34, 'A', 3, ' ', 4, 'A', 3, 138, ' ', 18, 'O', 2, ' ', 34, 'A', 3, ' ', 4, 'A', 3, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 4, 'D', 2, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 2, 196, 138, ' ', 18, 'O', 2, ' ', 2, 196, ' ', 4, 196, 207, ' ', 20, 'S', 3, ' ', 3, 'S', 9, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 3, 207, 160, 196, ' ', 19, 'S', 3, ' ', 3, 'S', 9, 138, ' ', 18, 'O', 2, ' ', 4, 196, 160, 207, ' ', 3, 'D', 2, ' ', 17, 'S', 3, ' ', 3, 'S', 9, 138, ' ', 18, 'O', 2, ' ', 4, 'O', 2, ' ', 6, 196, ' ', 4, 'O', 4, ' ', 8, 'S', 3, ' ', 3, 'S', 3, ' ', 3, 'S', 3, 138, ' ', 18, 'O', 2, ' ', 4, 196, ' ', 5, 185, ' ', 2, 196, ' ', 2, 'O', 2, ' ', 3, 207, ' ', 7, 'S', 3, ' ', 3, 'S', 3, ' ', 3, 'S', 3, 138, ' ', 7, 'M', 3, ' ', 8, 'O', 2, ' ', 3, 196, ' ', 6, 185, 160, 'O', 5, ' ', 5, 207, ' ', 6, 'S', 3, ' ', 3, 'S', 3, ' ', 3, 'S', 3, 138, ' ', 6, 'M', 5, ' ', 7, 'O', 2, 'M', 3, 160, 196, ' ', 7, 'O', 4, ' ', 13, 'S', 9, ' ', 3, 'S', 3, 138, ' ', 5, 'M', 2, ' ', 3, 'M', 2, ' ', 5, 205, 'O', 2, ' ', 11, 196, ' ', 3, 'O', 2, ' ', 8, 207, ' ', 3, 'S', 9, ' ', 3, 'S', 3, 138, ' ', 4, 'M', 2, ' ', 5, 'M', 2, ' ', 3, 205, 160, 'O', 2, ' ', 10, 196, ' ', 5, 'O', 3, ' ', 6, 207, ' ', 3, 'S', 9, ' ', 3, 'S', 3, 138, ' ', 3, 'M', 2, ' ', 6, 'M', 3, 160, 205, ' ', 2, 'O', 2, ' ', 9, 196, ' ', 7, 'O', 3, ' ', 3, 'O', 2, 138, ' ', 2, 'M', 2, ' ', 8, 'M', 3, ' ', 3, 'O', 2, ' ', 8, 196, ' ', 10, 'O', 5, 138, ' ', 6, 'M', 7, ' ', 5, 'O', 2, ' ', 7, 196, 138, ' ', 4, 'M', 9, ' ', 5, 'O', 2, ' ', 6, 196, 138, ' ', 3, 'M', 3, ' ', 7, 196, ' ', 4, 'O', 2, ' ', 5, 196, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 196, ' ', 30, 'X', 3, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 196, ' ', 30, 'X', 3, 138, ' ', 3, 'M', 2, ' ', 7, 'O', 13, ' ', 30, 'X', 3, 138, ' ', 4, 'M', 2, ' ', 5, 'O', 3, 160, 195, 207, 205, 197, 212, 160, 'O', 3, ' ', 31, 'X', 3, 138, ' ', 11, 196, ' ', 6, 'O', 2, ' ', 2, 207, 196, 138, ' ', 11, 196, ' ', 6, 'O', 2, 160, 207, 160, 196, 138, 205, ' ', 10, 196, ' ', 6, 'O', 3, ' ', 2, 196, 138, 'M', 2, ' ', 9, 196, ' ', 6, 'O', 3, ' ', 2, 196, 138, 160, 'M', 2, ' ', 8, 196, ' ', 6, 'O', 2, ' ', 4, 196, 138, ' ', 2, 'M', 4, ' ', 6, 196, ' ', 5, 'O', 2, ' ', 4, 196, ' ', 24, 'H', 15, 138, 205, ' ', 2, 'M', 4, ' ', 4, 'M', 5, ' ', 2, 'O', 2, ' ', 5, 196, ' ', 23, 'H', 15, 138, 'M', 2, ' ', 4, 'M', 5, ' ', 7, 'O', 2, ' ', 5, 196, ' ', 23, 'H', 15, 138, 160, 'M', 2, ' ', 5, 'M', 2, ' ', 7, 'O', 3, ' ', 5, 196, ' ', 29, 'H', 3, 138, ' ', 2, 'M', 7, ' ', 8, 'O', 3, ' ', 4, 196, ' ', 30, 'H', 3, 138, ' ', 3, 'M', 9, ' ', 4, 207, 160, 'O', 2, ' ', 4, 196, ' ', 30, 'H', 3, 138, ' ', 11, 'M', 2, 196, 160, 207, ' ', 2, 'O', 2, ' ', 2, 'D', 2, ' ', 31, 'H', 3, 138, ' ', 14, 196, 207, ' ', 2, 'O', 2, 'D', 2, 160, 'D', 2, ' ', 24, 'H', 15, 138, ' ', 16, 'D', 2, 'O', 2, ' ', 4, 'D', 2, ' ', 23, 'H', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'H', 15, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 34, 'A', 3, ' ', 4, 'A', 3, 138, ' ', 18, 'O', 2, ' ', 34, 'A', 3, ' ', 4, 'A', 3, 138, ' ', 18, 'O', 2, ' ', 34, 'A', 3, ' ', 4, 'A', 3, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 4, 'D', 2, ' ', 23, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 2, 196, ' ', 22, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 2, 196, ' ', 4, 196, 207, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 3, 207, 160, 196, 138, ' ', 18, 'O', 2, ' ', 4, 196, 160, 207, ' ', 3, 'D', 2, ' ', 17, 'P', 15, 138, ' ', 18, 'O', 2, ' ', 4, 'O', 2, ' ', 6, 196, ' ', 4, 'O', 4, ' ', 8, 'P', 15, 138, ' ', 18, 'O', 2, ' ', 4, 196, ' ', 5, 185, ' ', 2, 196, ' ', 2, 'O', 2, ' ', 3, 207, ' ', 7, 'P', 15, 138, ' ', 7, 'M', 3, ' ', 8, 'O', 2, ' ', 3, 196, ' ', 6, 185, 160, 'O', 5, ' ', 5, 207, ' ', 12, 'P', 3, ' ', 3, 'P', 3, 138, ' ', 6, 'M', 5, ' ', 7, 'O', 2, 'M', 3, 160, 196, ' ', 7, 'O', 4, ' ', 19, 'P', 3, ' ', 3, 'P', 3, 138, ' ', 5, 'M', 2, ' ', 3, 'M', 2, ' ', 5, 205, 'O', 2, ' ', 11, 196, ' ', 3, 'O', 2, ' ', 8, 207, ' ', 9, 'P', 9, 138, ' ', 4, 'M', 2, ' ', 5, 'M', 2, ' ', 3, 205, 160, 'O', 2, ' ', 10, 196, ' ', 5, 'O', 3, ' ', 6, 207, ' ', 9, 'P', 9, 138, ' ', 3, 'M', 2, ' ', 6, 'M', 4, ' ', 3, 'O', 2, ' ', 9, 196, ' ', 7, 'O', 3, ' ', 3, 'O', 2, ' ', 10, 'P', 9, 138, ' ', 2, 'M', 2, ' ', 8, 'M', 3, ' ', 3, 'O', 2, ' ', 8, 196, ' ', 10, 'O', 5, 138, ' ', 6, 'M', 7, ' ', 5, 'O', 2, ' ', 7, 196, 138, ' ', 4, 'M', 9, ' ', 5, 'O', 2, ' ', 6, 196, ' ', 22, 'P', 15, 138, ' ', 3, 'M', 3, ' ', 7, 196, ' ', 4, 'O', 2, ' ', 5, 196, ' ', 23, 'P', 15, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 196, ' ', 24, 'P', 15, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 196, ' ', 30, 'P', 3, ' ', 3, 'P', 3, 138, ' ', 3, 'M', 2, ' ', 7, 'O', 13, ' ', 30, 'P', 3, ' ', 3, 'P', 3, 138, ' ', 4, 'M', 2, ' ', 5, 'O', 3, 160, 195, 213, 208, 201, 196, 160, 'O', 3, ' ', 31, 'P', 9, 138, ' ', 11, 196, ' ', 6, 'O', 2, ' ', 3, 196, ' ', 31, 'P', 9, 138, ' ', 11, 196, ' ', 6, 'O', 2, 160, 207, 160, 196, ' ', 31, 'P', 9, 138, 205, ' ', 10, 196, ' ', 6, 'O', 3, ' ', 2, 196, 138, 'M', 2, ' ', 9, 196, ' ', 6, 'O', 3, ' ', 2, 196, 138, 160, 'M', 2, ' ', 8, 196, ' ', 6, 'O', 2, ' ', 5, 196, 138, ' ', 2, 'M', 4, ' ', 6, 196, ' ', 5, 'O', 2, ' ', 5, 196, ' ', 36, 'Y', 2, 138, 205, ' ', 2, 'M', 4, ' ', 4, 'M', 5, ' ', 2, 'O', 2, ' ', 5, 196, ' ', 35, 'Y', 3, 138, 'M', 2, ' ', 4, 'M', 5, ' ', 7, 'O', 2, ' ', 5, 196, ' ', 34, 'Y', 3, 138, 160, 'M', 2, ' ', 5, 'M', 2, ' ', 7, 'O', 3, ' ', 5, 196, ' ', 33, 'Y', 3, 138, ' ', 2, 'M', 7, ' ', 8, 'O', 3, ' ', 4, 196, ' ', 33, 'Y', 3, 138, ' ', 3, 'M', 9, ' ', 4, 207, 160, 'O', 2, ' ', 4, 196, ' ', 24, 'Y', 11, 138, ' ', 11, 'M', 2, 196, 160, 207, ' ', 2, 'O', 2, ' ', 2, 'D', 2, ' ', 25, 'Y', 11, 138, ' ', 14, 196, 207, ' ', 2, 'O', 2, 'D', 2, 160, 'D', 2, ' ', 24, 'Y', 11, 138, ' ', 16, 'D', 2, 'O', 2, ' ', 4, 'D', 2, ' ', 32, 'Y', 3, 138, ' ', 18, 'O', 2, ' ', 39, 'Y', 3, 138, ' ', 18, 'O', 2, ' ', 40, 'Y', 3, 138, ' ', 18, 'O', 2, ' ', 41, 'Y', 3, 138, ' ', 18, 'O', 2, ' ', 42, 'Y', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, ' ', 3, 'D', 2, 138, ' ', 18, 'O', 2, ' ', 2, 196, ' ', 2, 196, 138, ' ', 18, 'O', 2, ' ', 2, 196, ' ', 4, 196, 207, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 3, 207, 160, 196, 138, ' ', 18, 'O', 2, ' ', 3, 196, 160, 207, ' ', 3, 'D', 2, ' ', 18, 'N', 15, 138, ' ', 18, 'O', 2, ' ', 4, 'O', 2, ' ', 6, 196, ' ', 4, 'O', 4, ' ', 8, 'N', 15, 138, ' ', 18, 'O', 2, ' ', 4, 196, ' ', 5, 185, ' ', 2, 196, ' ', 2, 'O', 2, ' ', 3, 207, ' ', 7, 'N', 15, 138, ' ', 7, 'M', 3, ' ', 8, 'O', 2, ' ', 3, 196, ' ', 6, 185, 160, 'O', 5, ' ', 4, 207, ' ', 16, 'N', 3, 138, ' ', 6, 'M', 5, ' ', 7, 'O', 2, 'M', 3, 160, 196, ' ', 7, 'O', 4, ' ', 21, 'N', 3, 138, ' ', 5, 'M', 2, ' ', 3, 'M', 2, ' ', 5, 205, 'O', 2, ' ', 11, 196, ' ', 3, 'O', 2, ' ', 8, 207, ' ', 10, 'N', 3, 138, ' ', 4, 'M', 2, ' ', 5, 'M', 2, ' ', 3, 205, 160, 'O', 2, ' ', 10, 196, ' ', 5, 'O', 3, ' ', 6, 207, ' ', 9, 'N', 3, 138, ' ', 3, 'M', 2, ' ', 6, 'M', 3, 160, 205, ' ', 2, 'O', 2, ' ', 9, 196, ' ', 7, 'O', 3, ' ', 3, 'O', 2, ' ', 9, 'N', 3, 138, ' ', 2, 'M', 2, ' ', 8, 'M', 3, ' ', 3, 'O', 2, ' ', 8, 196, ' ', 9, 'O', 5, ' ', 10, 'N', 3, 138, ' ', 6, 'M', 7, ' ', 5, 'O', 2, ' ', 7, 196, ' ', 24, 'N', 3, 138, ' ', 4, 'M', 9, ' ', 5, 'O', 2, ' ', 6, 196, ' ', 22, 'N', 15, 138, ' ', 3, 'M', 3, ' ', 7, 196, ' ', 4, 'O', 2, ' ', 5, 196, ' ', 23, 'N', 15, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 5, 196, ' ', 23, 'N', 15, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 5, 196, 138, ' ', 3, 'M', 2, ' ', 7, 'O', 13, 138, ' ', 4, 'M', 2, ' ', 5, 'O', 3, 160, 196, 207, 'N', 2, 197, 210, 160, 'O', 2, ' ', 25, 'E', 15, 138, ' ', 11, 196, ' ', 6, 'O', 2, ' ', 2, 207, 196, ' ', 25, 'E', 15, 138, ' ', 11, 196, ' ', 6, 'O', 2, 160, 207, 160, 196, ' ', 25, 'E', 15, 138, 205, ' ', 10, 196, ' ', 6, 'O', 3, ' ', 2, 196, ' ', 25, 'E', 3, ' ', 3, 'E', 3, ' ', 3, 'E', 3, 138, 'M', 2, ' ', 9, 196, ' ', 6, 'O', 3, ' ', 2, 196, ' ', 25, 'E', 3, ' ', 3, 'E', 3, ' ', 3, 'E', 3, 138, 160, 'M', 2, ' ', 8, 196, ' ', 6, 'O', 2, ' ', 4, 196, ' ', 24, 'E', 3, ' ', 3, 'E', 3, ' ', 3, 'E', 3, 138, ' ', 2, 'M', 4, ' ', 6, 196, ' ', 5, 'O', 2, ' ', 4, 196, ' ', 24, 'E', 3, ' ', 3, 'E', 3, ' ', 3, 'E', 3, 138, 205, ' ', 2, 'M', 4, ' ', 4, 'M', 5, ' ', 2, 'M', 2, ' ', 5, 196, ' ', 23, 'E', 3, ' ', 3, 'E', 3, ' ', 3, 'E', 3, 138, 'M', 2, ' ', 4, 'M', 5, ' ', 7, 'O', 2, ' ', 5, 196, 138, 160, 'M', 2, ' ', 5, 'M', 2, ' ', 7, 'O', 3, ' ', 5, 196, 138, ' ', 2, 'M', 8, ' ', 7, 'O', 3, ' ', 4, 196, ' ', 24, 'W', 15, 138, ' ', 3, 'M', 9, ' ', 4, 207, 160, 'O', 2, ' ', 4, 196, ' ', 24, 'W', 15, 138, ' ', 11, 'M', 2, 196, 160, 207, ' ', 2, 'O', 2, ' ', 2, 'D', 2, ' ', 25, 'W', 15, 138, ' ', 14, 196, 207, ' ', 2, 'O', 2, 'D', 2, 160, 'D', 2, ' ', 24, 'W', 3, 138, ' ', 16, 'D', 2, 'O', 2, ' ', 5, 'D', 2, ' ', 22, 'W', 3, 138, ' ', 18, 'O', 2, ' ', 29, 'W', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'W', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'W', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'W', 3, 138, ' ', 18, 'O', 2, ' ', 29, 'W', 3, 138, ' ', 18, 'O', 2, ' ', 29, 'W', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'W', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'W', 15, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, 138, ' ', 18, 'O', 2, ' ', 4, 'D', 2, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 2, 196, 138, ' ', 18, 'O', 2, ' ', 2, 196, ' ', 4, 196, 207, 138, ' ', 18, 'O', 2, ' ', 3, 196, ' ', 3, 207, 160, 196, 138, ' ', 18, 'O', 2, ' ', 4, 196, 160, 207, ' ', 3, 'D', 2, 138, ' ', 18, 'O', 2, ' ', 4, 'O', 2, ' ', 6, 196, ' ', 4, 'O', 4, 138, ' ', 18, 'O', 2, ' ', 4, 196, ' ', 5, 185, ' ', 2, 196, ' ', 2, 'O', 2, ' ', 3, 207, 138, ' ', 7, 'M', 3, ' ', 8, 'O', 2, ' ', 3, 196, ' ', 6, 185, 160, 'O', 5, ' ', 4, 207, 138, ' ', 6, 'M', 5, ' ', 7, 'O', 2, 'M', 3, 160, 196, ' ', 7, 'O', 4, ' ', 26, 'Y', 2, 138, ' ', 5, 'M', 2, ' ', 3, 'M', 2, ' ', 5, 205, 'O', 2, ' ', 11, 196, ' ', 3, 'O', 2, ' ', 8, 207, ' ', 15, 'Y', 3, 138, ' ', 4, 'M', 2, ' ', 5, 'M', 2, ' ', 3, 205, 160, 'O', 2, ' ', 10, 196, ' ', 5, 'O', 3, ' ', 6, 207, ' ', 14, 'Y', 3, 138, ' ', 3, 'M', 2, ' ', 6, 'M', 3, 160, 205, ' ', 2, 'O', 2, ' ', 9, 196, ' ', 7, 'O', 3, ' ', 3, 'O', 2, ' ', 14, 'Y', 3, 138, ' ', 2, 'M', 2, ' ', 8, 'M', 3, ' ', 3, 'O', 2, ' ', 8, 196, ' ', 10, 'O', 5, ' ', 14, 'Y', 3, 138, ' ', 6, 'M', 7, ' ', 5, 'O', 2, ' ', 7, 196, ' ', 21, 'Y', 11, 138, ' ', 4, 'M', 9, ' ', 5, 'O', 2, ' ', 6, 196, ' ', 22, 'Y', 11, 138, ' ', 3, 'M', 3, ' ', 7, 196, ' ', 4, 'O', 2, ' ', 5, 196, ' ', 23, 'Y', 11, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 196, ' ', 33, 'Y', 3, 138, ' ', 3, 'M', 2, ' ', 7, 196, ' ', 5, 'O', 2, ' ', 4, 196, ' ', 34, 'Y', 3, 138, ' ', 3, 'M', 2, ' ', 7, 'O', 13, ' ', 35, 'Y', 3, 138, ' ', 4, 'M', 2, ' ', 5, 'O', 2, 160, 194, 204, 201, 212, 218, 197, 206, 160, 'O', 2, ' ', 37, 'Y', 3, 138, ' ', 11, 196, ' ', 6, 'O', 2, ' ', 2, 207, 196, ' ', 38, 'Y', 2, 138, ' ', 11, 196, ' ', 6, 'O', 2, 160, 207, 160, 196, 138, 205, ' ', 10, 196, ' ', 6, 'O', 3, ' ', 2, 196, 138, 'M', 2, ' ', 9, 196, ' ', 6, 'O', 3, ' ', 2, 196, 138, 160, 'M', 2, ' ', 8, 196, ' ', 6, 'O', 2, ' ', 4, 196, ' ', 24, 'E', 15, 138, ' ', 2, 'M', 4, ' ', 6, 196, ' ', 4, 'O', 2, ' ', 5, 196, ' ', 24, 'E', 15, 138, 205, ' ', 2, 'M', 4, ' ', 4, 'M', 5, ' ', 2, 'O', 2, ' ', 5, 196, ' ', 23, 'E', 15, 138, 'M', 2, ' ', 4, 'M', 5, ' ', 7, 'O', 2, ' ', 5, 196, ' ', 23, 'E', 15, 138, 160, 'M', 2, ' ', 5, 'M', 2, ' ', 7, 'O', 3, ' ', 5, 196, ' ', 23, 'E', 3, ' ', 3, 'E', 3, ' ', 3, 'E', 3, 138, ' ', 2, 'M', 7, ' ', 8, 'O', 3, ' ', 4, 196, ' ', 24, 'E', 3, ' ', 3, 'E', 3, ' ', 3, 'E', 3, 138, ' ', 3, 'M', 9, ' ', 4, 207, 160, 'O', 2, ' ', 4, 196, ' ', 24, 'E', 3, ' ', 3, 'E', 3, ' ', 3, 'E', 3, 138, ' ', 11, 'M', 2, 196, 160, 207, ' ', 2, 'O', 2, ' ', 2, 'D', 2, ' ', 25, 'E', 3, ' ', 3, 'E', 3, ' ', 3, 'E', 3, 138, ' ', 16, 'D', 2, 'O', 2, ' ', 4, 'D', 2, 138, ' ', 14, 196, 207, ' ', 2, 'O', 2, 'D', 2, 160, 'D', 2, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 34, 'A', 3, ' ', 4, 'A', 3, 138, ' ', 18, 'O', 2, ' ', 34, 'A', 3, ' ', 4, 'A', 3, 138, ' ', 18, 'O', 2, ' ', 34, 'A', 3, ' ', 4, 'A', 3, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, ' ', 29, 'A', 15, 138, ' ', 18, 'O', 2, 138, ' ', 9, 'N', 7, ' ', 2, 'O', 2, 138, ' ', 7, 'N', 2, ' ', 7, 'N', 2, 'O', 2, ' ', 29, 'R', 15, 138, ' ', 5, 'N', 2, ' ', 11, 'N', 2, ' ', 29, 'R', 15, 138, ' ', 4, 205, 160, 205, ' ', 13, 'N', 2, ' ', 27, 'R', 15, 138, ' ', 2, 'M', 2, ' ', 2, 205, ' ', 15, 'N', 2, ' ', 29, 'R', 5, ' ', 3, 'R', 3, 138, 160, 205, ' ', 3, 205, ' ', 18, 206, ' ', 27, 'R', 6, ' ', 3, 'R', 3, 138, 205, ' ', 3, 206, ' ', 20, 206, ' ', 25, 'R', 3, 160, 'R', 9, 138, 205, ' ', 3, 205, ' ', 21, 206, ' ', 22, 'R', 4, ' ', 2, 'R', 9, 138, 206, ' ', 3, 206, ' ', 15, 'N', 3, ' ', 4, 206, ' ', 21, 'R', 3, ' ', 3, 'R', 9, 138, 205, ' ', 3, 205, ' ', 13, 'N', 2, ' ', 3, 206, 138, 205, ' ', 3, 205, ' ', 12, 206, ' ', 6, 206, ' ', 3, 206, 138, 205, ' ', 3, 205, ' ', 11, 206, ' ', 8, 206, ' ', 2, 206, 138, 205, ' ', 3, 205, ' ', 10, 206, ' ', 5, 'N', 3, 160, 206, ' ', 2, 206, 138, 205, ' ', 3, 205, ' ', 10, 206, ' ', 4, 206, ' ', 3, 206, ' ', 2, 206, 138, 205, ' ', 3, 205, ' ', 10, 206, ' ', 4, 206, ' ', 5, 206, 138, 205, ' ', 3, 205, ' ', 11, 206, ' ', 4, 'N', 5, 138, 205, ' ', 3, 205, ' ', 12, 206, ' ', 29, 'O', 5, 138, 205, ' ', 3, 205, ' ', 13, 206, ' ', 26, 'O', 2, ' ', 5, 207, 138, 205, ' ', 3, 205, ' ', 14, 206, ' ', 24, 207, ' ', 8, 207, 138, 205, ' ', 3, 205, ' ', 15, 206, ' ', 22, 207, ' ', 8, 207, 138, 205, ' ', 3, 205, ' ', 16, 206, ' ', 19, 'O', 5, ' ', 3, 'O', 3, 138, 205, ' ', 3, 205, ' ', 17, 206, ' ', 17, 207, ' ', 5, 207, ' ', 2, 207, 138, 205, ' ', 3, 205, ' ', 18, 206, ' ', 15, 207, ' ', 7, 207, ' ', 2, 207, 138, 205, ' ', 3, 205, ' ', 19, 206, ' ', 13, 207, ' ', 8, 'O', 3, 138, 205, ' ', 3, 205, ' ', 20, 206, ' ', 11, 207, ' ', 9, 207, 138, 205, ' ', 3, 205, ' ', 21, 206, ' ', 9, 207, ' ', 9, 207, 138, 205, ' ', 3, 205, ' ', 22, 206, ' ', 7, 207, ' ', 9, 207, 138, 205, ' ', 3, 205, ' ', 22, 206, ' ', 6, 207, ' ', 9, 207, 138, 205, ' ', 3, 205, ' ', 22, 206, ' ', 5, 207, ' ', 6, 'O', 3, 138, 205, ' ', 3, 205, ' ', 22, 206, ' ', 4, 207, ' ', 10, 207, 138, 205, ' ', 3, 205, ' ', 21, 206, 'O', 5, ' ', 12, 'O', 2, 138, 205, ' ', 3, 205, ' ', 21, 206, ' ', 4, 'O', 2, ' ', 13, 'O', 2, 138, 205, ' ', 3, 205, ' ', 20, 206, ' ', 7, 'O', 2, ' ', 13, 207, ' ', 3, '/', 4, 138, 205, ' ', 3, 205, ' ', 20, 206, ' ', 9, 'O', 2, ' ', 12, '/', 2, ' ', 5, '.', 3, ' ', 2, '.', 3, 138, 205, ' ', 3, 205, ' ', 19, 206, ' ', 12, 'O', 2, ' ', 8, '/', 2, ' ', 5, 175, ' ', 4, '.', 2, ' ', 4, '/', 3, 138, 205, ' ', 3, 205, ' ', 19, 206, ' ', 20, '/', 2, ' ', 8, 175, ' ', 9, 175, ' ', 2, 175, 138, 205, ' ', 3, 205, ' ', 18, 206, ' ', 19, 175, ' ', 10, 175, 160, 175, ' ', 4, 185, 175, ' ', 2, 175, ' ', 2, 175, 138, 205, ' ', 3, 205, ' ', 18, 206, ' ', 18, 175, ' ', 11, 175, 160, 175, 160, 185, ' ', 6, 175, ' ', 3, 175, 138, 205, ' ', 3, 205, ' ', 17, 206, ' ', 18, 175, ' ', 12, 175, 160, 175, 160, 185, ' ', 6, 175, ' ', 3, 175, 138, 205, ' ', 3, 205, ' ', 17, 206, 160, 'B', 2, ' ', 4, 'B', 2, ' ', 4, 'B', 2, ' ', 2, 175, ' ', 13, 175, 160, 175, ' ', 4, 185, 175, 160, 175, ' ', 4, 175, 138, 205, ' ', 3, 205, ' ', 16, 'N', 2, 160, 'B', 2, ' ', 4, 'B', 2, ' ', 4, 'B', 2, 160, 175, 160, '/', 5, ' ', 8, '/', 2, ' ', 8, 175, ' ', 4, 175, 138, 205, ' ', 3, 205, ' ', 16, 206, ' ', 16, '/', 2, ' ', 6, '/', 2, ' ', 6, 175, ' ', 8, 175, ' ', 5, 175, 138, 205, ' ', 3, 205, ' ', 16, 206, ' ', 15, 175, ' ', 10, '/', 2, ' ', 4, 175, ' ', 7, 175, ' ', 6, 175, 138, 205, ' ', 3, 205, ' ', 17, 206, ' ', 26, 207, 175, ' ', 4, 175, 160, '/', 5, ' ', 6, 175, 138, 205, ' ', 3, 205, ' ', 17, 206, ' ', 26, 207, 160, '/', 2, ' ', 3, 175, ' ', 10, 175, 138, 205, ' ', 3, 205, ' ', 18, 206, ' ', 24, 207, ' ', 4, '/', 4, ' ', 8, '/', 2, 138, 205, ' ', 3, 205, 206, ' ', 17, 206, ' ', 11, 'O', 3, ' ', 9, 207, ' ', 8, 175, ' ', 6, '/', 2, 205, 138, 205, ' ', 3, 205, 160, 'N', 2, ' ', 16, 206, ' ', 6, 'O', 4, ' ', 10, 'O', 2, ' ', 9, '/', 7, 'M', 3, 138, 205, ' ', 3, 205, ' ', 2, 'N', 3, ' ', 14, 206, ' ', 2, 'O', 4, ' ', 12, 'O', 2, ' ', 12, 'M', 8, 138, 205, ' ', 3, 205, ' ', 2, 205, ' ', 2, 'N', 2, ' ', 13, 206, 207, ' ', 14, 'O', 2, ' ', 15, 'M', 6, 138, 205, ' ', 3, 205, ' ', 2, 205, ' ', 4, 'N', 2, ' ', 11, 206, ' ', 13, 'O', 2, ' ', 18, 'M', 4, 138, 205, ' ', 3, 205, ' ', 2, 205, ' ', 6, 'N', 2, ' ', 10, 206, ' ', 8, 'O', 4, ' ', 21, 'M', 2, 138, 205, ' ', 3, 205, ' ', 2, 205, ' ', 8, 'N', 2, ' ', 8, 206, ' ', 4, 'O', 4, ' ', 24, '.', 4, 138, 205, ' ', 3, 205, ' ', 2, 205, ' ', 10, 'N', 2, ' ', 7, 206, 'O', 3, ' ', 27, 174, ' ', 4, 174, 138, 205, ' ', 2, 205, ' ', 2, 'M', 2, ' ', 12, 'N', 2, ' ', 5, 206, ' ', 30, 174, ' ', 4, 174, 138, 205, 160, 'M', 2, 160, 205, ' ', 16, 'N', 2, ' ', 3, 206, ' ', 31, '.', 4, 138, 'M', 2, 160, 'M', 2, ' ', 19, 'M', 3 %IF LENGTH(S) > 8 %START PRINTSTRING("INVALID PARAMETERS ".S." ") %RETURN %FINISH S = ".LP" %IF S = "" DEFINE("ST1,".S) SELECTOUTPUT(1) NEWPAGE I = 0 %UNTIL I = 7415 %CYCLE J = SANT(I) %IF J > 128 %START PRINTSYMBOL(J-128) I = I+1 %FINISH %ELSE %START %CYCLE K = 1, 1, SANT(I+1) PRINTSYMBOL(J) %REPEAT I = I+2 %FINISH %REPEAT NEWPAGE SELECTOUTPUT(0) CLOSESTREAM(1) CLEAR("ST1") %END %ENDOFFILE