нEнCfГзьнE!?Ухw#:ш®wнEнCf!ТсНТь(ю
В0ь!?У~НГь!@УFуГ!"оґ:ш®!НАьВ2kћН‹4В:kћН‹4В%Е:kћН‹4БВэ!QћэЛF 0ю
КэЛVЕД79БЫ:kћ!Qћ
НТь'Лэ~Gэ~O*оґ	"оґЙН79НЎ)7?Й"рґл>2тґ|2уґ·тh9л!·нR·ЛЛЛ{Ц
?0_сЛЛ{Ж0Н—9|µ Ю:уґ·т–9>-Н—9Йех*рґT]нSрґ:тґ·(Oнё:тґ<2тґwлсwбЙ your #1 joystick":? "to test a path to the base"44? "station on the left of":? "the screen.   The planets "45? "gravitational pull will":? "affect your path, so use it"46? "to your advantage. To ":? "launch use either fire "47? "button, to refresh the screen":? " enter '#', and to"48? "exit the game enter a '*'.":? " GOOD LUCK!!!  (hit return)"50DEF FN r(x)=INT(RND(1)*x)+160GOSUB 9000:GET w$70POKE 16766, 204:POKE 16767, 11680FOR i=0 TO 6790READ v:POKE i+29900, v:NEXT i100HGR2:SCALE =2110HCOLOR FIRST DIR  ЃUЄя BOOT       €DIRECTORY  ИgravityAFTJsurroundATStarTrekATцquizA LEFTdSubAS LEFT	shipbattleA		†ZodiacAEFT$PandoraAFT'ЄBlackJackA*њOilDrillerA1ЙScribblenA7ЄhanoiALEFT;diskpuzzleA=ѕespcardsAT?{BLOCKS LEFTD\PDL(9)=1 THEN 1000555IF px>255 OR py>191 THEN 500560XDRAW 1 AT px, py570GOTO 500700SPEED =255:TEXT:END1000HCOLOR =31010 cx=ob(1, 1)-ob(3, 1): cy=ob(2, 1)1020 vx=3*(px-cx): vy=3*(py-cy)1030FOR p=3 TO np+21035 rp=(cx-ob(1, p))^2+(cy-ob(2, p))^21040 dx=ob(3, p)^2*(ob(1, p)-cx)/rp1045 dy=ob(3, p)^2*(ob(2, p)-cy)/rp1050 vx=vx+dx: vy=vy+dy1060NEXT p1070 z=SQR(vx^2+vy^2)1090 cx=cx+vx/z: cy=cy+vy/z1095IF cx<1 OR cx>255 THEN 5001096IF cy<1 OR cy>190 THEN 5001100HPLOT cx, cy1110FOR p=2 TO np+211151ONERR  GOTO 7002DATA         3,0,8,0,16,0,45,04DATA         27,45,45,24,24,54,54,06DATA         146,63,36,63,63,36,45,45,36,45,164,42,53,150,63,63,128,40,45,45,45,53,62,63,55,62,55,6,08DATA         19,63,60,79,44,37,45,45,44,45,62,55,63,54,45,46,53,63,39,63,63,4,010TEXT:LOMEM :3000020DIM ob(4, 15)30INPUT "ENTER SEED"; r: x=RND(-r)40INVERSE:?:? "          GRAVITY          ":NORMAL41? "You are in command of a":? "crippled rocket ship. "42? "There is limited fuel and":? "very little time."43? "Use=3120FOR i=1 TO 200:HPLOT FN r(255), FN r(191):NEXT i130HCOLOR =1:DRAW 3 AT ob(1, 1), ob(2, 1)140HCOLOR =2:DRAW 2 AT ob(1, 2), ob(2, 2)150FOR i=3 TO np+2160HCOLOR =FN r(10)+5170 x=ob(1, i): y=ob(2, i): r1=ob(3, i)180FOR x1=x-r1 TO x+r1190 y0=INT(SQR(r1^2-(x1-x)^2))200 y1=y-y0: y2=y+y0210HPLOT x1, y1 TO x1, y2220NEXT x1230NEXT i400HCOLOR =3500 px=PDL(3): py=PDL(1)510IF px>255 OR py>191 THEN 530520HCOLOR =3:DRAW 1 AT px, py530IF PDL(11)=42 THEN 700540IF PDL(11)=35 THEN 100550IF PDL(7)=1 OR  ph=p1120 ox=ob(1, p): oy=ob(2, p)1130IF SQR((ox-cx)^2+(oy-cy)^2)<=ob(3, p) THEN 20001140NEXT p1145IF PDL(11)<>0 THEN 5001150GOTO 10302000HCOLOR =52010IF ph<=2 THEN 25002020FOR i=1 TO 4:? CHR$(7)2030HPLOT FN r(9)+cx-4, FN r(9)+cy-4 TO cx, cy2040NEXT i2050GOTO 4002500FOR i=1 TO 10:? CHR$(7):NEXT i2510GOTO 4009000 ob(1, 1)=FN r(40)+2009020 ob(2, 1)=FN r(150)+209030 ob(3, 1)=69040 ob(4, 1)=39050 ob(1, 2)=FN r(40)+109060 ob(2, 2)=FN r(150)+209070 ob(3, 2)=129080 ob(4, 2)=109090 np=FN r(5)+FOR i=1 TO 5:COLOR =15:PLOT x, y:? CHR$(7); 550GOSUB 700:COLOR =sc:PLOT x, y555GOSUB 700:NEXT i:GOTO 590560VTAB 22:HTAB 8:? s1; :HTAB 24:? s2:?565HTAB 7:? "NO POINT AWARDED"570 sc=SCRN(v, w): sd=SCRN(x, y):FOR i=1 TO 5575COLOR =15:PLOT v, w:PLOT x, y:? CHR$(7); :GOSUB 700580COLOR =sc:PLOT v, w:COLOR =sd:PLOT x, y585GOSUB 700:NEXT i590IF s2>14 OR s1>14 THEN 600592IF PDL(10)=42 OR PDL(11)=42 THEN 800595GOTO 5600VTAB 1:HTAB 8:? s1; :HTAB 24:? s2605VTAB 23:HTAB 4610IF s1>s2 THEN ? "PLAYER ONE IS T3ONERR  GOTO 10005GR:COLOR =4:HLIN 0, 39 AT 0:VLIN 0, 39 AT 39:HLIN 39, 0 AT 39:VLIN 39, 0 AT 07 p1=0: p2=015 v=29: w=19: x=10: y=1930 xp=1: zp=135 sp=7537VTAB 1:HTAB 8:? s1; :HTAB 24:? s240 xq=PDL(5): zq=PDL(4)50ON xq GOTO 61, 52, 51, 58, 51, 51, 51, 5551GOTO 6552 xp=1:GOTO 6555 xp=2:GOTO 6558 xp=3:GOTO 6561 xp=465ON xp GOTO 100, 120, 140, 160100 x=x+1:GOTO 165120 x=x-1:GOTO 165140 y=y+1:GOTO 165160 y=y-1165ON zq GOTO 173, 169, 166, 171, 166, 166, 166, 167166GOTO 175167 zp=1:GOTO 175FOR i=1 TO 5:COLOR =15:PLOT x, y:? CHR$(7); 550GOSUB 700:COLOR =sc:PLOT x, y555GOSUB 700:NEXT i:GOTO 590560VTAB 22:HTAB 8:? s1; :HTAB 24:? s2:?565HTAB 7:? "NO POINT AWARDED"570 sc=SCRN(v, w): sd=SCRN(x, y):FOR i=1 TO 5575COLOR =15:PLOT v, w:PLOT x, y:? CHR$(7); :GOSUB 700580COLOR =sc:PLOT v, w:COLOR =sd:PLOT x, y585GOSUB 700:NEXT i590IF s2>14 OR s1>14 THEN 600592IF PDL(10)=42 OR PDL(11)=42 THEN 800595GOTO 5600VTAB 1:HTAB 8:? s1; :HTAB 24:? s2605VTAB 23:HTAB 4610IF s1>s2 THEN ? "PLAYER ONE IS TGOTO 340310 xp=2:GOTO 340320 xp=3:GOTO 340330 xp=4340ON zq GOTO 390, 370, 350, 380, 350, 350, 350, 360350GOTO 400360 zp=1:GOTO 400370 zp=2:GOTO 400380 zp=3:GOTO 400390 zp=4400FOR i=1 TO sp:NEXT i410GOTO 40500VTAB 22:HTAB 8:? s1; :HTAB 24:? s2:?505HTAB 7:? "POINT - PLAYER ONE"510 sc=SCRN(v, w)515FOR i=1 TO 5:COLOR =15:PLOT v, w:? CHR$(7); 520GOSUB 700:COLOR =sc:PLOT v, w525GOSUB 700:NEXT i:GOTO 590530VTAB 22:HTAB 8:? s1; :HTAB 24:? s2:?535HTAB 7:? "POINT - PLAYER TWO"540 sc=SCRN(x, y)54559100FOR i=3 TO np+29200 ob(1, i)=FN r(230)+109210 ob(2, i)=FN r(170)+109220 ob(3, i)=FN r(8)+49230FOR j=1 TO i-19240IF SQR((ob(1, i)-ob(1, j))^2+(ob(2, i)-ob(2, j))^2)<=15 THEN 92009245IF (ob(1, j)+ob(3, j))>255 THEN 92009250IF (ob(2, j)+ob(3, j))>190 THEN 92009260NEXT j9270 ob(4, i)=FN r(6)9280NEXT i9290RETURNx=vx+dx: vy=vy+dy1060NEXT p1070 z=SQR(vx^2+vy^2)1090 cx=cx+vx/z: cy=cy+vy/z1095IF cx<1 OR cx>255 THEN 5001096IF cy<1 OR cy>190 THEN 5001100HPLOT cx, cy1110FOR p=2 TO np+21115HE WINNER!"620IF s2>s1 THEN ? "PLAYER TWO IS THE WINNER!"625 s2=0: s1=0: pa=0630IF PDL(10)>0 OR PDL(11)>0 THEN GOTO 5640 pa=pa+1:IF pa>2000 THEN GR650GOTO 630700FOR j=1 TO 100:NEXT j:RETURN800GR:IF PDL(10)>0 OR PDL(11)>0 THEN 5810GOTO 8001000TEXTHTAB 7:? "POINT - PLAYER ONE"510 sc=SCRN(v, w)515FOR i=1 TO 5:COLOR =15:PLOT v, w:? CHR$(7); 520GOSUB 700:COLOR =sc:PLOT v, w525GOSUB 700:NEXT i:GOTO 590530VTAB 22:HTAB 8:? s1; :HTAB 24:? s2:?535HTAB 7:? "POINT - PLAYER TWO"540 sc=SCRN(x, y)545169 zp=2:GOTO 175171 zp=3:GOTO 175173 zp=4175ON zp GOTO 180, 190, 200, 210180 v=v-1:GOTO 250190 v=v+1:GOTO 250200 w=w+1:GOTO 250210 w=w-1220 count=count+1:IF count>4 THEN  count=0: sp=sp-6250IF SCRN(v, w)<>0 THEN  p1=1255IF SCRN(x, y)<>0 THEN  p2=1256IF p1=1 AND p2=1 THEN 560257 s1=s1+p1: s2=s2+p2258IF p1=1 THEN 500259IF p2=1 THEN 530260COLOR =2:PLOT x, y:COLOR =3:PLOT v, w270FOR i=1 TO sp:NEXT i: xq=PDL(5): zq=PDL(4)280ON xq GOTO 330, 300, 290, 320, 290, 290, 290, 310290GOTO 340300 xp=1:1REM   startrek 8 feb 84  WRF2INPUT "game number?"; i4HOME:? TAB(11); :FLASH:? "STARTREK":NORMAL5FOR j=1 TO i: x=RND(1):NEXT j10DIM s(8, 8), r(6), d(8, 8), j(10), q(8, 8), c$(4), c1$(3), c2$(6)11DATA      "WARP ENGINES","S.R. SENSORS","L.R. SENSORS","PHASER CNTRL","PHOTON TUBES","DAMAGE CNTRL"12FOR i=1 TO 6:READ c2$(i):NEXT i15DATA        " ."," *"," K"," B"," E" 16FOR i=0 TO 4:READ c$(i):NEXT i17DATA       "GREEN","YELLOW","RED","DOCKED"18FOR i=0 TO 3:READ c1$(i):NEXT i20DEF FN a(x)=INT(RND(1)*OL IS NOT AVAILABLE"1600GOTO 10051610?:REM    S.R. Sensor Command 1620GOTO 10001700REM               subroutine to output short range sensor scan1710IF r(2)>=0 THEN 17401720? "*** SHORT RANGE SENSORS ARE OUT"1730GOTO 17701740GOSUB 25001750 c2=261760GOSUB 23001770FOR i=1 TO 81775IF r(2)<0 THEN 19301780FOR j=1 TO 81800? c$(d(i, j)); 1920NEXT j1930ON i GOTO 1940, 1960, 1980, 2000, 2020, 2040, 2060, 20801940? "   STARDATE":? TAB(22); d1:GOTO 22001960? "   CONDITION":? TAB(22); c1$(c1):GOTO 220, a2)=s(a1, a2)+100290NEXT i300FOR i=1 TO b1310 a1=FN a(8): a2=FN a(8)330 s(a1, a2)=s(a1, a2)+10340NEXT i350 e1=FN a(8): e2=FN a(8): e7=FN a(8): e8=FN a(8)400 p=3000: c1=0: t1=10: p9=0500? "ORDERS:  STARDATE="; d1510?:? "   AS COMMANDER OF THE UNITED":? "STARSHIP ENTERPRISE, YOUR":? "MISSION IS TO RID THE  GALAXY"520? "OF THE DEADLY KLINGON MENACE.":? "TO DO THIS, YOU MUST DESTROY":? "THE KLINGON INVASION FORCE OF"521? k1; " BATTLE CRUISERS."530? "YOU HAVE "; d3; " SOLAR DAYS TO":? "COMPLETE YOU1 AND l2=e2 THEN RETURN2505 l1=e1: l2=e22510FOR i=1 TO 82520FOR j=1 TO 82530 d(i, j)=02540NEXT j2550NEXT i2580 d(e7, e8)=4:REM          E2610 i1=s(e1, e2)-INT(s(e1, e2)/10)*102611IF i1<1 THEN 26702612FOR i=1 TO i12620 e3=FN a(8): e4=FN a(8)2640IF d(e3, e4)<>0 THEN 26202650 d(e3, e4)=1:REM          *2660NEXT i2670 i1=s(e1, e2)/10-INT(s(e1, e2)/100)*102672IF i1<1 THEN 27302675FOR i=1 TO i12680 e3=FN a(8): e4=FN a(8)2700IF d(e3, e4)<>0 THEN 26802710 d(e3, e4)=3:REM          B2720NEXT i2730ON c2 GOTO 1610, 2900, 5000, 6000, 1500, 70001100? "YOUR CHOICES OF CAMMAND ARE:":? "  0 = SET COURSE":? "  1 = SHORT RANGE SENSOR SCAN"1110? "  2 = LONG RANGE SENSOR SCAN"1130? "  3 = FIRE PHASORS"1140? "  4 = FIRE PHOTON TORPEDOES"1150? "  5 = DAMAGE CONTROL REPORT"1160? "  6 = INTELLIGENCE REPORT"1170GOTO 10051500REM          damage control report1505IF r(6)<0 THEN 15901510? "DEVICE", "STATE OF REPAIR"1520FOR c2=1 TO 61530GOSUB 43201540? , r(c2)1550NEXT c21580GOTO 10051590? "DAMAGE CONTRx)+125DEF FN h(x)=INT(100*x)/10027DEF FN r(x)=INT(x+.5)30REM                initialize everything40 k1=FN a(20)+1041 k1=INT(k1*1.2)50 s1=FN a(149)+15060 b1=FN a(9)70FOR i=1 TO 680 r(i)=090NEXT i100FOR i=1 TO 8110FOR j=1 TO 8120 q(i, j)=0: s(i, j)=0150NEXT j160NEXT i165 l1=0: l2=0170 d1=INT((FN a(1999)+2000)/10)*10180 d3=40: d2=d3+d1200FOR i=1 TO s1210 a1=FN a(8): a2=FN a(8)225IF s(a1, a2)>8 THEN 210230 s(a1, a2)=s(a1, a2)+1240NEXT i250FOR i=1 TO k1260 a1=FN a(8): a2=FN a(8)280 s(a101980? "   QUADRANT":? TAB(22); e1; " - "; e2:GOTO 22002000? "   SECTOR":? TAB(22); e7; " - "; e8:GOTO 22002020? "   ENERGY":? TAB(22); FN h(p):GOTO 22002040? "   TORPEDOES":? TAB(22); t1:GOTO 22002060? "   KLINGONS":? TAB(22); k1:GOTO 22002080? "   DAYS LEFT":? TAB(22); d2-d12200NEXT i2230GOSUB 23002240RETURN2300REM               subroutine to output a string of dashes2310FOR i1=1 TO c22320? "-"; 2330NEXT i12340?2350RETURN2500REM               subroutine to compute sector layout2501IF l1=eR MISSION."540? "(I.E., UNTIL STARDATE "; d2; ").":?:? "   YOU HAVE AT LEAST ONE":? "SUPPORTING STARBASE.  WHEN THE"550? "ENTERPRISE DOCKS AT ONE (IS":? "POSITIONED NEXT TO ONE) IT IS":? "RESUPPLIED WITH ENERGY AND"560? "PHOTON TORPEDOES.  THE ENTER-":? "PRISE IS CURRENTLY IN QUADRENT":? e1; " - "; e2; " SECTOR "; e7; " - "; 570? e8; "."600INPUT "READY?"; i$998GOSUB 2500999GOSUB 35301000GOSUB 17001005GOSUB 35301008?1015INPUT "COMMAND?"; c2:?1030IF c2=0 THEN 32001035IF c2<0 OR c2>6 THEN 11001040 i1=s(e1, e2)/1002732IF i1<1 THEN RETURN2733FOR i=1 TO i12735 j(i)=3002740 e3=FN a(8): e4=FN a(8)2760IF d(e3, e4)<>0 THEN 27402770 d(e3, e4)=2:REM          K2780NEXT i2790RETURN2900REM    L.R.Sensor Command2905IF r(3)=0 THEN 29302910? "***LONG RANGE SENSORS ARE OUT"2920GOTO 10052930? "LONG RANGE SENSOR SCAN FOR":? "QUADRANT "; e1; " - "; e22940 c2=192950GOSUB 23002960FOR i=e1-1 TO e1+12965 i1=12970FOR j=e2-1 TO e2+12980IF i<1 OR i>8 THEN 30702990IF j<1 OR j>8 THEN 30503000? TAB(i1); "| s3=e1+s2: e7=INT(p1+.5)-8*s2: l1=04040IF s3>=1 AND s3<=8 THEN  e1=s34060IF p2<.5 THEN 40704065IF p2<8.5 THEN 41304070REM    Process Crossing Horizontal Quadrant Boundary4075 s2=SGN(p2-1): s3=e2+s2: e8=INT(p2+.5)-8*s2: l2=04110IF s3>=1 AND s3<=8 THEN  e2=s34130GOSUB 25004140GOTO 34504150? "ENTERPRISE BLOCKED AT"4155? INT(p1+.5); " - "; INT(p2+.5)4160GOTO 34604200REM     Continuation of Warp Command 4210GOSUB 3530:GOSUB 3740:GOSUB 45004215IF p<0 THEN 99904220IF d1>d2 THEN 99004230GOTO 10004359265/180)3322IF ABS(n3)<.01 THEN  n3=03330FOR a1=1 TO n13370 e3=e7: e4=e8: p1=e3+n2: p2=e4+n33380IF p1<.5 OR p1>=8.5 THEN 40003390IF p2<.5 OR p2>=8.5 THEN 40703400IF d(FN r(p1), FN r(p2))<>0 AND d(FN r(p1), FN r(p2))<>4 THEN 41503410IF d(e3, e4)=4 THEN  d(e3, e4)=03415IF d(FN r(e3), FN r(e4))=4 THEN  d(FN r(e3), FN r(e4))=03420 d(FN r(p1), FN r(p2))=43430 e7=p1: e8=p23450NEXT a13460 d1=d1+1: e7=INT(e7+.5): e8=INT(e8+.5)3470FOR i=1 TO 63480IF r(i)=0 THEN 35203490 r(i)=r(i)+13500IF r(i)>0 THEN 99104690RETURN5000REM           phaser control5010IF r(4)<>0 THEN ? "***PHASER CONTROL IS DAMAGED***":GOTO 10055040? "PHASERS LOCKED ON TARGET.":? "ENERGY AVAILABLE = "; FN h(p)5060INPUT "NUMBER OF UNITS TO FIRE?"; c25070IF c2<0 OR c2>p THEN 50605075?: p9=p9+15078IF p9>1 AND RND(1)>.9 THEN 54005090 p=p-c25100IF s(e1, e2)<100 THEN 53605110 p5=c2/(INT(s(e1, e2)/100))5120 g=1: h=05140FOR i=1 TO s(e1, e2)/1005150 h=h+15160IF h>8 THEN  h=1: g=g+15180IF g>8 THEN 53605190IF d(g, h)<>2 THEN 515038603770IF c2<.95 THEN 39703780? "***SPACE STORM, "; 3790IF c1<3 THEN 38203800? "STARBASE":? "   SHIELDS PROTECT ENTERPRISE"3810GOTO 39703820GOSUB 43003830?:? " DAMAGED***"3840 r(c2)=r(c2)-5*RND(1)3850GOTO 39703860FOR i=1 TO 63870IF r(i)<>0 THEN 39003880NEXT i3890GOTO 39703900? "*** TRUCE, "3910 c2=i3920GOSUB 43203930? " STATE OF REPAIR":? "IMPROVED ***"3940 r(i)=r(i)+2*RND(1)3950IF r(i)>0 THEN  r(i)=03970RETURN4000REM    Process Crossing Vertical Quadrant Boundary   4005 s2=SGN(p1-1): "; s(i, j); 3005 q(i, j)=13010 i1=i1+6:NEXT j3015? TAB(i1); "|"3020GOSUB 23003030NEXT i3040GOTO 10053050? TAB(i1); "| "; 0; :GOTO 30103070? "| 0   | 0   | 0   |"3080GOTO 30203200INPUT "COURSE?"; c2: p9=0:?3230INPUT "   WARP FACTOR (0-8)?"; c33240IF c3<0 OR c3>8 THEN 32003250IF r(1)=0 OR c3<=.2 THEN 32903270? "***WARP ENGINES ARE DAMAGED.":? "   MAXIMUM WARP = .2"3280GOTO 32003290 p=p-16*c3+53300 n1=INT(8*c3)3310 n2=-COS(c2*3.14159265/180)3312IF ABS(n2)<.01 THEN  n2=03320 n3=SIN(c2*3.14100REM             subroutine to output damage control message4310 c2=FN a(6)4320? c2$(c2); :RETURN4500REM    Subroutine to Calculate Hits from Klingons4505IF s(e1, e2)<100 THEN 46904510 g=1: h=04530FOR i=1 TO s(e1, e2)/1004540 h=h+14550IF h>8 THEN  h=1: g=g+14580IF d(g, h)<>2 THEN 45404582 q1=g-e7: q2=h-e84590 d4=SQR(q1*q1+q2*q2)4600 p5=FN a(j(i)-1): j(i)=j(i)-p54620 p6=p5/d44630 p=p-p64640? "ENTERPRISE HIT ("; FN h(p6); " UNITS)":? "KLINGON AT SECTOR "; g; " - "; h4670NEXT i4680IF p<=0 THEN  r(i)=03520NEXT i3525GOTO 42003530REM              scan for docked starship3540FOR i=e7-1 TO e7+13550IF i<1 OR i>8 THEN 36003560FOR j=e8-1 TO e8+13570IF j<1 OR j>8 THEN 35903580IF d(i, j)=3 THEN 36803590NEXT j3600NEXT i3610 c1=03620IF s(e1, e2)<100 THEN 36503630 c1=23640GOTO 37353650IF p>100 THEN 37353660 c1=13670GOTO 37353680 c1=3: p=3000: t1=10: p9=03710FOR i=1 TO 63720 r(i)=03730NEXT i3735RETURN3740REM              check for space storm or truce3750 c2=RND(1)3760IF c2<.35 THEN 5192 q1=g-e7: q2=h-e85200 d4=SQR(q1*q1+q2*q2): p6=p5/d4: j(i)=j(i)-p65230? "KLINGON AT "; g; " - "; h; " HIT WITH"5240? FN h(p6); " UNITS (LEFT =  "; FN h(j(i)); ")"5250IF j(i)>0 THEN 53505260? "***KLINGON DESTROYED***"5270FOR i2=i+1 TO s(e1, e2)/100: j(i2-1)=j(i2):NEXT i25300 s(e1, e2)=s(e1, e2)-100: k1=k1-1: d(g, h)=0: i=i-15350NEXT i5360IF k1=0 THEN 90005370GOSUB 3530:GOSUB 4500:GOTO 10055400 a1=FN a(300)+1005410IF a1<c2 THEN 50905420 c2=a1:? "***PHASER CONTROL MOMENTARILY":? "OVERLOADED. ";0?: c2=30:GOSUB 23007020FOR i=1 TO 8:FOR j=1 TO 87030IF i=e1 AND j=e2 THEN ? " * "; :GOTO 70807040IF q(i, j)=0 THEN ? " ? "; :GOTO 70807045IF s(i, j)<10 THEN ? " "; 7050? s(i, j); 7080IF j=8 THEN 70877085? TAB(4*j); "|"; 7087NEXT j:IF s(i, 8)<100 AND q(i, 8)=1 THEN ?7088GOSUB 23007090NEXT i7100GOTO 10059000? "IT IS STARDATE "; d1; ".":?:? "THE KLINGONS HAVE BEEN"9010? "DESTROYED.":?:? "THE FEDERATION IS SAFE!"9020?:? "CONGRATULATIONS!":?:GOTO 99509900? "IT IS STARDATE "; d1; ".":?9910? "THE  p1<.5 OR p1>8.5 OR p2<.5 OR p2>8.5 THEN 63506190IF d(FN r(p1), FN r(p2))=0 OR d(FN r(p1), FN r(p2))=4 THEN 61406195ON d(FN r(p1), FN r(p2)) GOTO 6200, 6240, 62806200? "STAR DESTROYED!!": s(e1, e2)=s(e1, e2)-1:GOTO 63006240? "***KLINGON DESTROYED***": s(e1, e2)=s(e1, e2)-100: k1=k1-1:GOTO 63006280? "STARBASE DESTROYED!!": s(e1, e2)=s(e1, e2)-106300 d(FN r(p1), FN r(p2))=06310IF k1=0 THEN 90006320GOSUB 3530:GOSUB 4500:GOTO 10056350? "TORPEDO MISSED":GOTO 63107000REM          intelligence report701EP.WAS ADOPTED   BY CONGRESS IN WHAT YEAR? ","1776"114DATA       "  IF YOU CROSS BEV WITH A HUMM-  ING BRENT THEN WHAT WOULD YOU  GET? ","HUMBUG"116DATA          "  WHAT IS A PARTNER IN 'MARRIAGE CALLED? ","SPOUSE"118DATA      " WHEN WAS EVE BORN? ","JUST AFTER ADAM"119DATA      " ADD THE FOLLOWING:.45,.18,     .22,.15,3,3/4,1/8,2/16   NOW:  SUBTRACT 5 :WHAT IS ANSWER? ","0"120DATA      " THE FOLLOWING ARE MULTIPLE     CHOICE: AN 'AARDVARK' IS AN    ANIMAL THAT EATS (A)WORMS (B)  PEOPLE (C)ANTS? ","C"ENTERPRISE HAS BEEN":?:? "DESTROYED.  THE FEDERATION WILL":? "BE CONQUERED.  THERE ARE STILL"9920?:? k1; " KLINGON BATTLE CRUISERS LEFT.":?:? "***YOU ARE DEAD***":?9950INPUT "ANOTHER GAME, CAPTAIN KIRK?"; i$9960IF i$<>"no" THEN 309999ENDOYED***": s(e1, e2)=s(e1, e2)-100: k1=k1-1:GOTO 63006280? "STARBASE DESTROYED!!": s(e1, e2)=s(e1, e2)-106300 d(FN r(p1), FN r(p2))=06310IF k1=0 THEN 90006320GOSUB 3530:GOSUB 4500:GOTO 10056350? "TORPEDO MISSED":GOTO 63107000REM          intelligence report701 c2; " UNITS":? "WERE INADVERTENTLY FIRED***":?5450IF c2>p THEN 99105460GOTO 50906000REM          photon torpedo control6010IF r(5)<>0 THEN ? "***PHOTON TUBES ARE OUT***":GOTO 10056040IF t1<=0 THEN ? "***TORPEDO SUPPLY EXHAUSTED***":GOTO 10056045INPUT "TORPEDO COURSE?"; c26052?6055 t1=t1-16060 n2=-COS(c2*3.14159265/180)6070IF ABS(n2)<.01 THEN  n2=06090 n3=SIN(c2*3.14159265/180)6100IF ABS(n3)<.01 THEN  n3=06120 p1=INT(e7): p2=INT(e8)6140 p1=p1+n2: p2=p2+n36155? FN h(p1); " - "; FN h(p2)6160IF1 w=902 x=803 y=704 z=655SPEED =7510HOME:HTAB 13:? "quiz":?:?17?20INPUT "enter your name please "; b$60HOME66?68?70? "  WHEN YOU FINISH I WILL GIVE    YOU THE SCORE SO DO YOUR BEST."72? "                              "98HOME100? "                "102HOME105 c=0110DATA       "  GIVE ME A SIX LETTER WORD FOR  'a mousetrap with four legs'? ","FELINE"112DATA       "  THE DECLARATION OF INDEPENDENCE PROCLAIMED THE INDEPENDENCE OF HOW MANY BRITISH COLONIES? ","13"113DATA       "  THE DEC.OF IND0?: c2=30:GOSUB 23007020FOR i=1 TO 8:FOR j=1 TO 87030IF i=e1 AND j=e2 THEN ? " * "; :GOTO 70807040IF q(i, j)=0 THEN ? " ? "; :GOTO 70807045IF s(i, j)<10 THEN ? " "; 7050? s(i, j); 7080IF j=8 THEN 70877085? TAB(4*j); "|"; 7087NEXT j:IF s(i, 8)<100 AND q(i, 8)=1 THEN ?7088GOSUB 23007090NEXT i7100GOTO 10059000? "IT IS STARDATE "; d1; ".":?:? "THE KLINGONS HAVE BEEN"9010? "DESTROYED.":?:? "THE FEDERATION IS SAFE!"9020?:? "CONGRATULATIONS!":?:GOTO 99509900? "IT IS STARDATE "; d1; ".":?9910? "THE 121DATA      " A 'AARDELK' IS AN ANIMAL FOUND: (A)IN POLAND (B)INAFRICA (C)  IN S.AMERICA (D)NO SUCH ANIMAL? ","D"122DATA      " A 'AARDWOLF' IS (A)HYENALIKE   MAMAL (B)SEA-WOLF (C)NO SUCH   ANIMAL (D)REALLY A MEMBER OF   CAT FAMILY? ","A"123DATA      " 'ABANDOM' MEANS: (A)FORESEE    (B)FORETELL (C)FOREHAND  (D)   FORENSIC (E)FORSAKE (F)NONE    (G)FORESAKE? ","E"124DATA      " 'ABET' MEANS: (A)TO PLACE A    BET (B)SUPPORT (C)DESTROY      (D)PLEAD WITH (E)CRY OUT ? ","B"125DATA      " 'ABHOR' : (A)DETESTCHED ? ","TRUE"152DATA     " 'SECULAR' MEANS :OF THIS WORLD  OR PRESENT LIFE? ","TRUE"153DATA    " WELL ENOUGH OF THAT,THE REST   ARE 'fill in the blanks': A    _-_____ IS A COTTON UNDER-     SHIRT ? ","T-SHIRT"154DATA    " A ________ IS A THREE WHEELED  VEHICLE ? ","TRICYCLE"155DATA    " THE REPETITION OF MOTION,BEAT, OR SOUND IS CALLED ______? ","RHYTHM"156DATA    " TO SHAKE INVOLUNTARILY , AS    WITH FEAR=_______? ","TREMBLE"157DATA    " A CONCLUSION OR JUDGMENT HELD  WITH CONFIDENCE,BUT FALLING   ______PLANET. (A)RED (B)BLUE (C)GREEN (D)WHITE (E)BOLD ? ","B"131DATA     " HOW MANY PECKS ARE IN A BUSHEL?:(A)4 (B)2  (C)8 (D)6 (E)10 ? ","A"132DATA     " WHEN WATER FREEZES IT: (A)CONTRACTS  (B)EXPANDS  (C)EVAPORATES  (D)RUNS  (E)TURNS WHITE ? ","B"133DATA     " THE NEXT FEW ARE 'TRUE' OR     'FALSE': THE EARTH TAKES 365   DAYS,5hrs,48min,and 46se.TO    ORBIT THE SUN? ","TRUE134DATA     " THERE ARE 26 LETTERS IN OUR    ALPHABET? ","TRUE"135DATA     " THE EARTH ROTATES FROM EAST    TO WEST? ","FALSE"    KIND OF COMPUTER SYSTEM IS     ADAM? ","FAMILY"248DATA            "DONE","DONE"250READ q$, a$:IF q$="DONE" THEN GOTO 300255? q$260INPUT "??"; h$265IF h$=a$ THEN ? "  CORRECT": c=c+2:GOTO 250270? "  NO, THE ANSWER IS: "; a$:GOTO 250300? "                                                      "302? " THAT IS THE END OF THIS TEST                                "310HOME312? " WELL NOW "; b$; " IT'S TIME TO   CHECK YOUR SCORE"314?316? " YOUR SCORE IS "; c318?320IF c>w THEN ? " YOU GET AN 'A' ON  IN THE     LOWER LEG? ","TRUE"144DATA     " 'FEMUR' :IS A BONE IN THE UPP- ER LEG? ","TRUE"145DATA     " 'MANIBLE':IS THE JAW BONE? ","TRUE"146DATA     " 'TIBIA':IS A BONE IN THE LOWER  LEG? ","TRUE"147DATA     " THE RIB BONES ARE CALLED       'RIBS'? ","TRUE"148DATA     " IF SOMETHING IS STUBORN THEN   IT IS ALSO FLEXIBLE? ","FALSE"149DATA            "  IT TAKES OUR EARTH APX. ONE    YEAR TO ORBIT THE SUN? ","TRUE"150DATA     " A 'WRENN' IS A SMALL BIRD? ","FALSE"151DATA     " 'SOPPING' MEANS DREN (B)RESPECT  (C)LOVE (D)A ROUND OBJECT     (E)TO ABSORB ? ","A"126DATA      " A 'LOACH' IS RELATED TO : (A)  ANY INSECT  (B)MINNOW (C)CROW  (D)LARGE ROACH ? ","B"127DATA      " 'LICIT' (A)LAWFUL  (B)UNLAWFUL ? ","A"128DATA      " 'BALK' (A)TO STOP AND REFUSE   TO PROCEED (B)TO BURP (C)ANY-  THING THAT SOOTHES (D)A TREE   OF WEST INDIES ? ","A129DATA      " 'BAMBOOZLE' (A)TREELIKE SHRUB  (B)A BALUSTRADE (C)TO PERPLEX  (D)TO BOOZE (E)NO SUCH WORD ? ","C"130DATA     " EARTH IS SOMETIMES REFERED TO  AS THE SHORT OF POSITIVE KNOWLEDGE    IS=_______? ","OPINION"158DATA    " A PERSON WHO PLAYS THE PIANO   IS A _______? ","PIANIST"159DATA    " A MAILMAN IS ALSO CALL A    :  _______? ","POSTMAN"160DATA    " THE BEST MAN AT A WEDDING IS:  _________? ","GROOMSMAN"161DATA    " SOMETHING DONE OR SAID TO      AMUSE,OR SOMETHING DONE IN     FUN IS CALLED A ____? ","JOKE"162DATA    " THE PERSON WHO PLAYED A JOKE   IS CALLED A _____? ","JOKER"163DATA    " ' HERE'S AN EASY ONE JUST FOR    YOU: 'one word please' WHAT136DATA     " WELL THEN , THE EARTH ROTATES  FROM WEST TO EAST? ","TRUE"137DATA     " 'WHEEZE' MEANS TO RUN UPHILL? ","FALSE"138DATA     " 'SIBILANT' COULD MEAN : A DIS- ORDER IN THE RED BLOOD CORPUS  CLE ? ","FALSE"139DATA     " SOMETHING THAT IS 'PREVALENT'  IS THEN ALSO PLENTIFUL ? ","TRUE"140DATA     " 'SIBILANT' IS A HISSING ? ","TRUE"141DATA     " 'FIBULA' :IS A BONE IN THE     UPPER ARM? ","FALSE"142DATA     " 'FIBULA' :IS A BONE IN THE     UPPER LEG? ","FALSE"143DATA     " 'FIBULA' :IS A BONETHE TEST! ":GOTO 350322IF c>x THEN ? " YOU GET A 'B' ON THE TEST! ":GOTO 350324IF c>y THEN ? " I GIVE YOU A 'C' ON THE TEST! ":GOTO 350326IF c>z THEN ? " I GIVE YOU A 'D' ON THE TEST! AT LEAST YOU did PASS ! ":GOTO 350328IF c<z THEN ? " YOU GET A 'F' ON THE TEST!     NO THAT DOES NOT MEAN 'FINE',  IT MEANS YOU'RE A DUMMY!! ":GOTO 350350? " THE", "END"351? "                  "352HOME355? " WELL ALMOST THE END! I THINK   I WILL GIVE YOU A BONUS QUES-  TION ."; b$358?360? " IT WILL BE WORTH 10 'BIG' BAR> TO TRY AGAIN"70GET q$75GOTO 20500FOR z=1 TO 20502VTAB (x-1):HTAB (y-2):? "  "503VTAB (x):HTAB (y):? "*"505VTAB (x-1):HTAB (y-2):? "BOOM"506VTAB (x):HTAB (y):? CHR$(170)509NEXT z520GOSUB 1000525VTAB (2):HTAB (2):? "YOU DID IT|"530VTAB (21):? "PRESS <SPACE BAR> TO PLAY AGAIN."535GET q$540GOTO 10750GOSUB 1000755VTAB (20):HTAB (2):? "YOU LOSE; IT WAS AT "; b; ","; a756VTAB (b):HTAB (a):? CHR$(170)760GOTO 530999STOP1000FOR p=20 TO 211005VTAB (p):FOR z=1 TO 31:? " "; :NEXT z1010NEXT p101REM   SEARCH/DESTROY10 a=(27*RND(1))+311 a=INT(a)15 b=(18*RND(1))+116 b=INT(b)17HOME19FOR z=2 TO 19:VTAB (z):? z:NEXT z20VTAB (20):HTAB (2):? "WHICH LINE (3<X<19)"; 25INPUT x26IF x>19 OR x<3 THEN GOTO 2030VTAB (21):HTAB (2):? "WHICH COLUMN (3<Y<30)"; 35INPUT y36IF y>30 OR y<3 THEN GOTO 3040VTAB (22):HTAB (2):? "LEFT: "; g; " "45 g=g-150VTAB (x):HTAB (y):? "*"55IF x=b AND y=a THEN GOTO 50060GOSUB 100065VTAB (2):HTAB (2):? "NOT THIS TIME."66IF g=0 THEN GOTO 75068VTAB (21):? "PRESS <SPACE atrix. You are"240? "the sub; The computer's a cargo"; :? "ship and its two destroyers."250? " The ship starts at square 100":? "and randomly moves to square 1"260? "moving 0,1,2,or 3 squares at a"270? "time. One of the ship's":? "destroyers starts at square 78"280? "and moves randomly 0,1,2,or 3":? "squares at a time searching for"; 290? "the Sub. The other destroyer":? "stays within one square of the"300? "ship as an escort.  The sub ":? "starts on square 12 and can "310? "move Up,Down,Left,or Rig15RETURNARCH/DESTROY10 a=(27*RND(1))+311 a=INT(a)15 b=(18*RND(1))+116 b=INT(b)17HOME19FOR z=2 TO 19:VTAB (z):? z:NEXT z20VTAB (20):HTAB (2):? "WHICH LINE (3<X<19)"; 25INPUT x26IF x>19 OR x<3 THEN GOTO 2030VTAB (21):HTAB (2):? "WHICH COLUMN (3<Y<30)"; 35INPUT y36IF y>30 OR y<3 THEN GOTO 3040VTAB (22):HTAB (2):? "LEFT: "; g; " "45 g=g-150VTAB (x):HTAB (y):? "*"55IF x=b AND y=a THEN GOTO 50060GOSUB 100065VTAB (2):HTAB (2):? "NOT THIS TIME."66IF g=0 THEN GOTO 75068VTAB (21):? "PRESS <SPACE      POINTS!!!!! "362INPUT " THE FASTEST-MOVING MOON IN     OUR SOLAR SYSTEM IS 1979 J3 ,  AND IT ORBITS WHAT PLANET? "; i$364IF i$="JUPITER" THEN ? " WOW,THAT'S CORRECT!!": c=c+10:GOTO 370366? " SORRY "; b$; ",THAT IS NOT COR-  RECT! YOUR TOTAL SCORE IS      STILL "; c368END370? " GOOD FOR YOU "; b$; ", NOW YOUR  SCORE IS "; c372SPEED =255400END               "310HOME312? " WELL NOW "; b$; " IT'S TIME TO   CHECK YOUR SCORE"314?316? " YOUR SCORE IS "; c318?320IF c>w THEN ? " YOU GET AN 'A' ON 100REM        : BattleShip110TEXT:HOME120VTAB 8:? "WHAT IS YOUR NAME "; :INPUT x$130HOME:VTAB 8:HTAB 12:? "THANK YOU":HTAB 9:? "COMMANDER "; x$:VTAB 15:? "NOW PLEASE ENTER STARTING TIME."140? "  TIME:"; :INPUT t: x=RND(-t)150LOMEM :27600160 ebu=USR(1):HOME170HTAB 11:INVERSE:? "        "180HTAB 11:INVERSE:? " CONVOY "190HTAB 11:INVERSE:? "        ":NORMAL200VTAB 12210? "Do you want instructions?"; :GET b$:HOME220IF b$="N" OR b$="n" THEN 530230? " This Naval War game is played":? "on a 10 by 10 mBAR> TO TRY AGAIN"70GET q$75GOTO 20500FOR z=1 TO 20502VTAB (x-1):HTAB (y-2):? "  "503VTAB (x):HTAB (y):? "*"505VTAB (x-1):HTAB (y-2):? "BOOM"506VTAB (x):HTAB (y):? CHR$(170)509NEXT z520GOSUB 1000525VTAB (2):HTAB (2):? "YOU DID IT|"530VTAB (21):? "PRESS <SPACE BAR> TO PLAY AGAIN."535GET q$540GOTO 10750GOSUB 1000755VTAB (20):HTAB (2):? "YOU LOSE; IT WAS AT "; b; ","; a756VTAB (b):HTAB (a):? CHR$(170)760GOTO 530999STOP1000FOR p=20 TO 211005VTAB (p):FOR z=1 TO 31:? " "; :NEXT z1010NEXT p10ht one":? "square at a time, 2 moves per"320? "turn, and it has Torpedoes ":? "which can be fired 1 at a time"330? "in any direction. After each of"; :? "the subs moves, the periscope"340? "will search each adjacent":? "square for the ship. Also "350FOR t=1 TO 10000:NEXT t360? "random reconnaisance reports":? "will be made..."370?:HTAB 4380? "HIT ANY KEY TO CONTINUE."; :GET b$390HOME:? "The sequence is:":?:?400? "1) SHIP AND DESTROYERS MOVE."410? "2) YOU MOVE."420? "3) YOU CAN FIRE A TORPEDO."43W AT "; d1320VTAB 16:?:VTAB 16:? "CARGO SHIP LAST SEEN AT "; l1330VTAB 20:?:VTAB 20:? t; " TORPEDOES LEFT"1340VTAB 21:?:VTAB 21:FLASH:? "FIRE "; :NORMAL1350INPUT a$1360IF a$="N" OR a$="n" THEN 20201370IF a$="L" OR a$="l" THEN 14901380IF a$="R" OR a$="r" THEN 15101390IF a$="U" OR a$="u" THEN 15301400IF a$="D" OR a$="d" THEN 15501410IF a$="LU" OR a$="lu" THEN 15701420IF a$="LD" OR a$="ld" THEN 15901430IF a$="RU" OR a$="ru" THEN 16101440IF a$="RD" OR a$="rd" THEN 16301450? "Ans: NO,L,R,U,D,LU,LD,T b$530REM      : END OF INSTRUCTIONS540HOME:GOTO 660550REM      : PRINTING OF BOARD560VTAB 17:?:?:?:?:?:?:?:VTAB 4570FOR j=1 TO 100580IF j=11 OR j=21 OR j=31 OR j=41 OR j=51 OR j=61 OR j=71 OR j=81 OR j=91 THEN ? " "; 590IF j<10 THEN ? "  "; 600IF j>=10 THEN ? " "; 610IF j=d THEN INVERSE620IF j=l THEN FLASH630? j; :NORMAL:NEXT j640?650RETURN660REM      : START OF GAME670 d=12680 t=4690 s=100700 c=78710 c2=78720 l=100730IF c=-100 THEN 780740GOTO 3210750 y3=0760 m1=0770GOTO 810780 mF d1=1+(10*INT(d1/10)) THEN 18701750GOTO 16601760HOME:? "KER-BOOM! CARGO SHIP DESTROYED!":? TAB(8); "AT QUADRANT: "; s1770VTAB 121780? TAB(12):FLASH:? "YOU WIN!":NORMAL1790 q=11800GOTO 30901810VTAB 19:HTAB 4:?:VTAB 19:HTAB 4:? " WHAMO!!, DESTROYER SUNK."1820 c=-1001830 t=t-11840GOTO 19901850IF d=10*INT(d/10) THEN 16601860GOTO 19701870IF d=1+(10*INT(d/10)) THEN 16601880GOTO 19701890IF d>10 THEN 19701900IF d1<2 THEN 19701910IF d1>9 THEN 19701920GOTO 16601930IF d<91 THEN 19701940IF d1<92 TH=-1 THEN 10301090IF m1=m2*(-1) THEN 10501100 c1=s+m21110IF c1=1 THEN 14701120IF c1=d THEN 30601130IF c1=c THEN 10501140IF c1<1 THEN 10501150IF c1>100 THEN 10501160 m1=m21170 s=c11180 c6=s+((INT(2*RND(1))*(-2))+1)*((INT(2*RND(1))*9)+1)1190IF c6<2 THEN 11801200IF c6>100 THEN 11801210IF c6=d THEN 30401220IF s1=1 THEN 9001230IF s1=2 THEN 9401240 c3=01250VTAB 1:?:VTAB 2:?:VTAB 16:?:VTAB 16:? "CARGO SHIP MOVED"1260IF y3=0 THEN 12901270 x1=01280GOTO 26701290?1300 x1=11310VTAB 18:? "SUB IS NO0? "4) PERISCOPE SEARCH."440? "5) YOUR MOVE AGAIN."450?:? "   THEN BACK TO ONE AGAIN."460?470? "The sub wins if it succeeds in":? "hitting the ship within 4"480? "torpedoes without moving to a":? "square occupied by a destroyer."490?:? TAB(4); "HIT ANY KEY TO CONTINUE."; :GET b$500HOME:? "TO 'FIRE' HIT:":?:? "  N=NO":? "  L=LEFT":? "  R=RIGHT":? "  U=UP"510? "  D=DOWN":? "  LU=LEFT UP":? "  RU=RIGHT UP":? "  LD=LEFT DOWN":? "  or":? "  RD=RIGHT DOWN"520?:?:? TAB(4); "HIT ANY KEY TO START GAME"; :GERU,or,RD"1460GOTO 13301470HOME:? "CARGO SHIP'S IN PORT":VTAB 141480GOTO 30901490 p1=-11500GOTO 16401510 p1=11520GOTO 16401530 p1=-101540GOTO 16401550 p1=101560GOTO 16401570 p1=-111580GOTO 16401590 p1=91600GOTO 16401610 p1=-91620GOTO 16401630 p1=111640REM      :TORPEDO FIREING1650 d1=d1660 d1=d1+p11670VTAB 19:?:VTAB 19:INVERSE:? d1; :? " "; :NORMAL1680NORMAL1690IF d1=s THEN 17601700IF d1=c THEN 18101710IF d1<11 THEN 18901720IF d1>90 THEN 19301730IF d1=10*INT(d1/10) THEN 18501740I1=0790IF s=2 THEN 1470800 y3=1810IF s=3 THEN 1470820IF s=11 THEN 1470830IF s=12 THEN 1470840IF s=21 THEN 1470850 x=RND(1)860IF x>.4 THEN 920870IF x>.2 THEN 940880IF x>.05 THEN 900890GOTO 1250900 s1=0910GOTO 950920 s1=2930GOTO 950940 s1=1950 x=RND(1)960IF x<.75 THEN 990970 p1=1980GOTO 1060990 p1=-11000GOTO 10601010IF s=10*INT(s/10) THEN 10501020GOTO 10901030IF s=1+(10*INT(s/10)) THEN 10501040GOTO 10901050 p1=p1*(-1)1060 m2=p1*((INT(2*(RND(1)))*9)+1)1070IF m2=1 THEN 10101080IF m2EN 19701950IF d1>99 THEN 19701960GOTO 16601970 t=t-11980? " MISS"1990IF t=0 THEN 30802000VTAB 20:?:VTAB 20:? t; " TORPEDOES LEFT"2010GOTO 13302020?2030 y=02040VTAB 15:?:VTAB 15:? "UP PERISCOPE"2050VTAB 152060? "UP PERISCOPE"2070 y2=02080IF s=d THEN 22502090IF s=d-1 THEN 22502100IF s=d+1 THEN 22502110IF s=d-10 THEN 22502120IF s=d+10 THEN 22502130IF s=d-9 THEN 22502140IF s=d+9 THEN 22502150IF s=d-11 THEN 22502160IF s=d+11 THEN 22502170IF y=1 THEN 22802180? "NO SHIP IN SIGHT"2190 x=RND CHARGE JUST MISSED!":NORMAL3030GOTO 26303040HOME:? "VAROOM!! SUB DEPTH CHARGED!":VTAB 143050GOTO 30903060FLASH:VTAB 16:?:VTAB 16:? "CARGO SHIP NOW OVER HEAD":NORMAL:VTAB 193070GOTO 7803080HOME:? TAB(9); "AMMO DEPLETED":?:? "CARGO SHIP WAS AT QUADRANT "; s:VTAB 143090?3100IF q=0 THEN 31303110 q1=q1+13120GOTO 31403130 q2=q2+13140? "SCORE: COMPUTER "; q2:?3150? "            SUB "; q1:?:?3160 q=03170VTAB 22:? "WOULD YOU LIKE TO TRY AGAIN":? "COMMANDER "; x$3180GET n$3190IF n$="n" OR n$="N" THE 25702400IF c=d-10 THEN 25902410IF c6=d-10 THEN 25702420IF c=d+11 THEN 25902430IF c6=d+11 THEN 25702440IF c=d-11 THEN 25902450IF c6=d-11 THEN 25702460IF c=d+2 THEN 25902470IF c=d-2 THEN 25902480IF c=d+20 THEN 25902490IF c=d-20 THEN 25902500IF c=-100 THEN 26502510IF y=1 THEN 26602520 x=RND(1)2530IF x<.6 THEN 26502540VTAB 2:INVERSE:? "RECON. JET SPOTS TIN CAN AT "; :FLASH:? c:NORMAL:GOSUB 5502550VTAB 152560GOTO 26302570VTAB 1:?:VTAB 1:HTAB 8:FLASH:? "*ESCORT NEAR!*":NORMAL2580GOTO 265025900*INT(c/10)) THEN 34803470GOTO 33103480 p1=p1*(-1)3490GOTO 32803500IF y2=0 THEN GOSUB 5503510GOTO 12903520GOTO 7503530HOME:END? "CARGO SHIP NOW OVER HEAD":NORMAL:VTAB 193070GOTO 7803080HOME:? TAB(9); "AMMO DEPLETED":?:? "CARGO SHIP WAS AT QUADRANT "; s:VTAB 143090?3100IF q=0 THEN 31303110 q1=q1+13120GOTO 31403130 q2=q2+13140? "SCORE: COMPUTER "; q2:?3150? "            SUB "; q1:?:?3160 q=03170VTAB 22:? "WOULD YOU LIKE TO TRY AGAIN":? "COMMANDER "; x$3180GET n$3190IF n$="n" OR n$="N" THE29802800IF x=INT(x) THEN 28202810GOTO 29802820IF x=d+1 THEN 28702830IF x=d-1 THEN 28902840IF x=d+10 THEN 29002850IF x=d-10 THEN 29002860GOTO 29802870IF d=10*INT(d/10) THEN 29802880GOTO 29002890IF x=10*INT(x/10) THEN 29802900 d=x2910GOSUB 20702920IF d2=1 THEN 29502930 d2=12940VTAB 19:HTAB 16:? "* NEXT MOVE "; :GOTO 27502950IF x1=0 THEN 35002960IF c=-100 THEN 7802970GOTO 32102980? "   CAN'T DO SUB'S AT "; d2990GOTO 27403000 x=RND(1)3010IF x<.7 THEN 30403020FLASH:VTAB 1:?:VTAB 1:? "DEPTH(1)2200IF x<.35 THEN 22802210?2220VTAB 1:INVERSE:? "RECON. SHOWS "; 2230 y2=-1:? "CARGO SHIP AT "; :FLASH:? s:NORMAL: l=s:GOSUB 5502240VTAB 15:GOTO 22602250VTAB 2:?:VTAB 2:HTAB 9:FLASH:? "TARGET AT "; s:NORMAL2260 y2=y2+12270 l=s2280IF c=d THEN 26102290IF c6=d THEN 30402300IF c=d+1 THEN 25902310IF c6=d+1 THEN 25702320IF c=d-1 THEN 25902330IF c6=d-1 THEN 25702340IF c=d+9 THEN 25902350IF c6=d+9 THEN 25702360IF c=d-9 THEN 25902370IF c6=d-9 THEN 25702380IF c=d+10 THEN 25902390IF c6=d+10 THENN 35303200HOME:GOTO 6603210 m1=03220 s1=03230 x=RND(1)3240IF x<.6 THEN 32703250 p1=13260GOTO 32803270 p1=-13280 m2=(p1*((INT(2*RND(1)))*9)+1)3290IF m2=1 THEN 34403300IF m2=-1 THEN 34603310IF m1=m2*(-1) THEN 34803320 c1=c+m23330IF c1=d THEN 30403340IF c1=s THEN 34803350IF c1<2 THEN 34803360IF c1>100 THEN 34803370 m1=m23380 c=c13390IF s1=1 THEN 7803400 s1=13410GOSUB 5503420VTAB 15:?:VTAB 15:? "DESTROYER HAS MOVED"3430GOTO 32303440IF c=10*INT(c/10) THEN 34803450GOTO 33103460IF c=1+(1FLASH:VTAB 15:?:VTAB 15:? "DESTROYER CLOSING IN AT "; c:NORMAL:VTAB 192600GOTO 26302610VTAB 15:?:VTAB 15:? "DESTROYER DIRECTLY OVER HEAD"2620GOTO 30002630 c2=c2640 c3=12650IF y=0 THEN 26702660RETURN2670GOSUB 5502680?2690VTAB 18:? "SUB IS NOW AT "; d2700IF c3=1 THEN 27302710IF c=-100 THEN 27302720VTAB 15:?:VTAB 15:? "DESTROYER LAST SIGHTED AT "; c22730 d2=0:VTAB 19:?:VTAB 192740VTAB 19:?:VTAB 19:? "SUB'S MOVE "; 2750 y=12760INPUT x2770IF x=d THEN 29002780IF x<2 THEN 29802790IF x>100 THEN 10DIM na$(12), bs$(12), dt$(12, 2), sn(12), str(12, 18)20FOR x=1 TO 1230READ na$(x), bs$(x), dt$(x, 1), dt$(x, 2), sn(x)40FOR y=1 TO sn(x)50READ str(x, y)60NEXT y, x70HOME80? TAB(13); "ZODIAC"90?100? "PRESS <V> TO VIEW THE"110? "CONSTELLATIONS OF THE ZODIAC,"120? "<Q> FOR A QUICK QUIZ,"130? "OR <E> TO END THE PROGRAM."140GET k$150IF k$="E" OR k$="e" THEN END160IF k$<>"V" AND k$<>"Q" THEN 140170 z=(k$="Q")180 sc=0190FOR i=1 TO 12200IF z THEN  x=INT(RND(1)*12)+1:GOTO 330210 x=i220HOME2307,576,670,659,68774,72,315,625,715,373,3721040DATA   PISCES,ALRISCHA,3/13,4/19,18,620,562,563,5041050DATA   505,508,516,550,643,677,585,521,438,287,1961060DATA   133,70,101070DATA   ARIES,HAMAL,4/19,5/15,7,482,609,671,283,268 1080DATA   107,481090DATA   TAURUS,ALDEBARAN,5/14,6/21,13,265,174,2371100DATA   298,331,8,126,460,513,580,677,463,5571110DATA   GEMINI,CASTOR,6/21,7/21,16,75,77,22,174,3971120DATA   495,587,233,232,292,228,382,512,578,739,7351130DATA   CANCER,BETA CANRI,7/21,8/11,5,739,50,3270? "NO, IT WAS"; na$(x); "."480? "WHAT IS ITS"490INPUT "BRIGHTEST STAR?"; r$500IF r$=bs$(x) THEN  sc=sc+1:? "RIGHT!":GOTO 520510? "NO. IT IS "; bs$(x); "."520?530? "PRESS ANY KEY TO CONTINUE."540GET k$550NEXT i560IF  NOT z THEN 70570HOME580? "YOUR SCORE WAS "; sc; " OUT OF 24."600?610? "PRESS ANY KEY TO CONTINUE."620GET k$630GOTO 701000DATA   CAPRICCORN,ALGEDI,1/20,2/18,13,121,213,3351010DATA   579,639,574,508,412,285,318,322,326,2081020DATA   AQUARIUS,SADALMELIK,2/17,3/13,12,80,336,637  AND y=19 THEN GOTO 900249IF sc=0 THEN ? "Sorry , you lose.":GOTO 910250COLOR =0:PLOT x, y252 z=z+2:IF z=10 THEN GOSUB 400253IF z=100 THEN GOSUB 450254IF z=200 THEN GOSUB 500255IF z=300 THEN GOSUB 400: z=0256 sc=sc-1:HTAB 10:VTAB 1:? "score "; sc260IF m=0 THEN COLOR =15:PLOT x, y:GOTO 240270IF m=1 AND SCRN(x, (y-1))<>11 THEN  y=y-1:COLOR =15:PLOT x, y:GOTO 240280IF m=4 AND SCRN(x, (y+1))<>11 THEN  y=y+1:COLOR =15:PLOT x, y:GOTO 240290IF m=8 AND SCRN((x-1), y)<>11 THEN  x=x-1:COLOR =15:PLOT x, y:G9 1140DATA   453,6981150DATA   LEO,REGULUS,8/12,9/16,14,580,741,426,360,2361160DATA   55,119,153,731,687,504,497,318,3511170DATA   VIRGO,SPICA,9/21,11/1,12,668,567,458,430,3701180DATA   245,246,331,143,419,353,3451190DATA   LIBRA,ZUBEN ELGENUBI,11/1,11/22,6,296,42,2241200DATA   634,658,7201210DATA   SCORPIO,ANTARES,11/23,11/30,15,329,269,561220DATA   119,274,367,359,450,512,573,694,659,532,4701230DATA   4111240DATA   SAGITTARIUS,NUNKI,12/19,1/19,14,229,41,2891250DATA   294,266,383,422,239,485,48? "THE SUN IS IN THE"240? "CONSTELLATION "; na$(x)250? "BETWEEN "; dt$(x, 1); " AND "; dt$(x, 2); "."260?270? na$(x); "`S BRIGHTEST STAR IS"280? bs$(x); "."290?300? "PRESS ANY KEY TO"310? "VIEW "; na$(x); "."320GET k$330HOME340FOR y=1 TO sn(x)350 q=INT(str(x, y)/31)360HTAB str(x, y)-q*31+1370VTAB q+1380? CHR$(42+37*(y=1)); 390NEXT y400FOR d=1 TO 3000410NEXT d420IF  NOT z THEN 550430HOME440? "WHAT CONSTELLATION"450INPUT "WAS THAT?"; r$460IF r$=na$(x) THEN  sc=sc+1:? "RIGHT!":GOTO 480490REM   "Pandora's revenge"91REM   "Programmed by Sherman Murdock"95 sc=150096 f=0: b=0: c=097 z=099GR100COLOR =11110FOR x=1 TO 12120READ a, s, d130VLIN a, s AT d140NEXT150FOR x=1 TO 11160READ a, s, d170HLIN a, s AT d180NEXT190FOR x=1 TO 2200READ a, s210PLOT a, s220NEXT233 x=19: y=19234PLOT x, y:GOSUB 600240LET m=PDL(5):IF sc<1 THEN GOTO 249241FOR g=1 TO 10:NEXT242COLOR =15:PLOT x, y243COLOR =0:PLOT x, y244IF x=b AND y=c THEN GOSUB 600245IF f=10 THEN GOTO 248246GOTO 250248IF x=191030DATA   138,13,74,72,315,625,715,373,3721040DATA   PISCES,ALRISCHA,3/13,4/19,18,620,562,563,5041050DATA   505,508,516,550,643,677,585,521,438,287,1961060DATA   133,70,101070DATA   ARIES,HAMAL,4/19,5/15,7,482,609,671,283,268 1080DATA   107,481090DATA   TAURUS,ALDEBARAN,5/14,6/21,13,265,174,2371100DATA   298,331,8,126,460,513,580,677,463,5571110DATA   GEMINI,CASTOR,6/21,7/21,16,75,77,22,174,3971120DATA   495,587,233,232,292,228,382,512,578,739,7351130DATA   CANCER,BETA CANRI,7/21,8/11,5,739,50,32OTO 240300IF m=2 AND SCRN((x+1), y)<>11 THEN  x=x+1:COLOR =15:PLOT x, y:GOTO 240310COLOR =15:PLOT x, y:GOTO 240400COLOR =11:PLOT 24, 24:PLOT 18, 29:PLOT 30, 10:PLOT 8, 5410COLOR =0:PLOT 14, 23:PLOT 27, 15:PLOT 10, 32:PLOT 27, 5420RETURN450COLOR =11:PLOT 14, 23:PLOT 27, 15:PLOT 10, 32:PLOT 27, 5460COLOR =0:PLOT 22, 14:PLOT 11, 27:PLOT 24, 8:PLOT 33, 30470RETURN500COLOR =11:PLOT 22, 14:PLOT 11, 27:PLOT 24, 8:PLOT 33, 30510COLOR =0:PLOT 24, 24:PLOT 18, 29:PLOT 30, 10:PLOT 8, 5520RETURN600? CHR$(7): "  THE INSTRUCTIONS YOU'LL USE"251? "  ARE:"260?270? "     0 = NO HIT"280? "     1 = HIT"290? "     2 = DOUBLE"300? "     3 = SPLIT A PAIR"310?320?330? "  ANY KEY FOR MORE RULES:"340GET bull$345HOME350? "  IF THE DEALER HAS AN EXPOSED"351? "  ACE,HE'LL ASK YOU FOR AN"360? "  INSURANCE BET THAT WILL RISK"361? "  HALF OF YOUR BET FOR AN"370? "  AMOUNT EQUAL TO YOUR BET IF"371? "  IF YOU WIN.YOU WIN IF THE"372? "  DEALER MAKES BLACKJACK;"380? "  OTHERWISE YOU LOSE"400?410? "  THE HOUSE LI6,24,11,29,27,8,32,30,5,35,331030DATA  2,38,36,2,36,2,5,33,5,8,30,8,11,27,111040DATA  14,24,14,17,21,23,14,24,26,11,27,291050DATA  8,30,32,5,33,35,2,36,38,18,17,20,17 5410COLOR =0:PLOT 14, 23:PLOT 27, 15:PLOT 10, 32:PLOT 27, 5420RETURN450COLOR =11:PLOT 14, 23:PLOT 27, 15:PLOT 10, 32:PLOT 27, 5460COLOR =0:PLOT 22, 14:PLOT 11, 27:PLOT 24, 8:PLOT 33, 30470RETURN500COLOR =11:PLOT 22, 14:PLOT 11, 27:PLOT 24, 8:PLOT 33, 30510COLOR =0:PLOT 24, 24:PLOT 18, 29:PLOT 30, 10:PLOT 8, 5520RETURN600? CHR$(7):TO OBLIGE -- THAT'S HOW"621? "  HONEST I AM!"650 n=INT(1945*RND(1)+1)670DIM d(52), e(5), v(5), t(5), w(5)680FOR a=1 TO 52690 d(a)=0700NEXT a710DIM q(52)720FOR a=0 TO 39 STEP 13730FOR c=1 TO 13740 q(a+c)=c750NEXT c760NEXT a770 k=k+1780FOR p=1 TO 5790 e(p)=0: v(p)=0: t(p)=0800NEXT p810 v(3)=1820?830?840?850? "  PLACE YOUR WAGER."860INPUT w870?880 p=1890 w(2)=w900IF w<=0 THEN GOTO 3620901IF w<50 THEN ? "  THAT BET IS TOO LOW":GOTO 850910IF w<=500 GOTO 970920IF w<>9999 GOTO 950930Geof20POKE 17059, 4:TEXT30? "    INPUT ANY NUMBER"40INPUT u450FOR u3=1 TO u460 x=RND(x)70NEXT u380? "    THIS IS BLACKJACK,"90?100? "    HERE ARE THE HOUSE RULES:"110?120? "  DEALER WILL HIT ON 16 OR "121? "  LESS,STAY ON 17 OR MORE,"130?140? "  YOU MAY SPLIT TWO EQUAL"141? "  CARDS,AND PLAY WITH"150? "  TWO HANDS,"160?170? "  YOU MAY DOUBLE YOUR BET AND"171? "  RECIEVE ONE MORE CARD"180? "  ANY TIME ON YOUR FIRST HIT"190?200? "  HIT ANY KEY FOR MORE RULES"210GET bull$220HOME230?250? f=f+1605IF f=10 THEN  b=0: c=0:HTAB (9):? "Return to chamber":RETURN610 b=INT(5+33*RND(1))620 c=INT(5+33*RND(1))630IF SCRN((b+1), c) AND SCRN((b-1), c)=11 THEN 610635IF SCRN(b, (c-1)) AND SCRN(b, (c+1))=11 THEN 610640COLOR =7:PLOT b, c:RETURN900? "you made it.Your score was "; sc905IF sc>hs THEN  hs=sc910? "The high score is "; hs920INPUT "Do you want to play again?"; a$930IF a$="yes" THEN RESTORE:GOTO 951000DATA  2,38,2,5,35,5,8,32,8,11,29,111010DATA  14,26,14,17,23,17,17,23,211020DATA  14,2MIT IS $500"411? "  THE MINIMUM BET IS $50"420?430? "  NOW GOOD LUCK!"431?470? "  WHEN YOUR READY TO MEET THE "471? "  DEALER HIT ANY KEY."480GET bull$490HOME500 k=0510 r=0520 w1=0530? "  ************************"540? "  *                      *"560? "  * HI! I AM YOUR DEALER *"570? "  *                      *"571? "  ************************"590?600? "  NOW,ANY TIME YOU WANT ME"610? "  TO RESHUFFLE JUST ENTER"611? "  9999 WHEN I ASK FOR YOUR"612? "  WAGER -- AND I'LL BE HAPPY"620? "   f=f+1605IF f=10 THEN  b=0: c=0:HTAB (9):? "Return to chamber":RETURN610 b=INT(5+33*RND(1))620 c=INT(5+33*RND(1))630IF SCRN((b+1), c) AND SCRN((b-1), c)=11 THEN 610635IF SCRN(b, (c-1)) AND SCRN(b, (c+1))=11 THEN 610640COLOR =7:PLOT b, c:RETURN900? "you made it.Your score was "; sc905IF sc>hs THEN  hs=sc910? "The high score is "; hs920INPUT "Do you want to play again?"; a$930IF a$="yes" THEN RESTORE:GOTO 951000DATA  2,38,2,5,35,5,8,32,8,11,29,111010DATA  14,26,14,17,23,17,17,23,211020DATA  14,2OSUB 3540940GOTO 850950? "  THAT BET IS TOO HIGH!"960GOTO 850970?971 cou=0980? "  I SHOW: "; 990GOSUB 1990991?995IF c=11 THEN  cou=111000IF e(1)=0 GOTO 10201010 v(4)=11020 v(5)=11030GOSUB 19901040 m=x1050 p=21060? "  YOU HAVE A: "; 1070GOSUB 19901080 g=x1090? "  AND A:      "; 1100GOSUB 19901110IF v(2)>0 GOTO 14601120 s=x1130IF v(3)<>1 GOTO 14601140IF t(p)<>21 GOTO 14601150?1160? "   **** BLACKJACK ***"1170?1180? "  THAT IS GETTING A BIT"1181? "  RIDICULUS!!!"1190?1200? "  MY (x)=k2240IF q(x)<>1 GOTO 22802250 c=112260 e(p)=e(p)+12270RETURN2280IF q(x)>10 GOTO 23102290 c=q(x)2300RETURN2310 c=102320RETURN2330GOSUB 23602340GOSUB 25002350RETURN2360IF q(x)<>1 GOTO 23902370? "ACE"; 2380RETURN2390IF q(x)>10 GOTO 24202400? q(x); ""; 2410RETURN2420IF q(x)>11 GOTO 24502430? "JACK"; 2440RETURN2450IF q(x)>12 GOTO 24802460? "QUEEN"; 2470RETURN2480? "KING"; 2490RETURN2500IF x>39 GOTO 25502510IF x>26 GOTO 25702520IF x>13 GOTO 25902530? " OF SPADES"2540RETURN2550?ARD WAS:   "; 1430 x=m1440GOSUB 23301450GOTO 28601460IF t(p)<=21 GOTO 15601470IF e(p)>0 GOTO 15401480?1490? "  *BUSTED*,"; 1500? "  YOUR TOTAL IS "; t(p)1510 c1=t(p)-5*(INT(t(p)/5))1520IF v(2)=1 GOTO 18101530GOTO 26101540 e(p)=e(p)-11550 t(p)=t(p)-101560IF v(1)=2 GOTO 15001570 v(3)=v(3)+11571IF cat=2 THEN  cat=0:GOTO 15001579?1580? "  HIT"; 1590INPUT v(1)1591IF cat=2 THEN  cat=0:GOTO 19201600IF v(1)<>3 GOTO 19201610IF v(2)>0 GOTO 19001620IF v(3)<>2 GOTO 19001630IF q(g)=q(s) GOTO 16602810IF c1>2 GOTO 31802820IF c1>1 GOTO 32202830IF c1>0 GOTO 32602840GOTO 33002850GOTO 29202860 w1=w1-w(p)2870IF c1>3 GOTO 33402880IF c1>2 GOTO 33802890IF c1>1 GOTO 34202900IF c1>0 GOTO 34602910GOTO 35002920IF v(2)>0 GOTO 29502930GOSUB 30602940GOTO 7702950 p=32960 v(2)=02970GOTO 27502980? "  I DRAW: "; 2990GOSUB 19903000GOTO 26803010?3020?3030? "  ** DARN I BUSTED **"3040?3050GOTO 27303060IF w1<0 GOTO 31003070IF w1=0 GOTO 31203080? "  YOU ARE AHEAD $"; w13090RETURN3100? "  YOU AR"  TOO LATE TO DOUBLE"1950GOTO 15801960 w(p)=2*w(p)1970IF v(1)>0 GOTO 10901980GOTO 15001990GOSUB 20602000 t(p)=t(p)+c2010IF v(5)=0 GOTO 20402020 v(5)=02030RETURN2040GOSUB 23302050RETURN2060IF r>=50 GOTO 21502070 n=10*(1+ABS(COS(n+w1)))2080FOR a=1 TO n2090 x=INT(52.999999*RND(1))2100IF x=0 GOTO 20902110NEXT a2120IF d(x)=0 GOTO 22202130 r=r+12140IF r<50 GOTO 20602150FOR a=1 TO 522160IF d(a)=k GOTO 21802170 d(a)=02180NEXT a2190 r=02200? "  I RESHUFFLED", 2210GOTO 20602220 r=02230 dHOLE CARD WAS: "; 1210 x=m1220GOSUB 23301230 w1=w1+1.5*w1240GOSUB 29301250IF v(4)=0 GOTO 13801260? "  INSURANCE ANYONE? (1=YES,0=NO)"1261 cat=21270INPUT i1280IF i=0 GOTO 13801290IF t(1)<>21 GOTO 13401300 w1=w1+w1310?1320? "  YOU WIN $"; w; "  ON"1321? "  YOUR INSURANCE BET!"1330GOTO 13801340 w1=w1-(w/2)1350?1360? "  YOU LOSE $"; w/2; " ON"1361? "  YOUR INSURANCE BET."1370? "  I DON'T HAVE BLACKJACK"1380IF t(1)<>21 GOTO 14601390?1400? "  ** I HAVE BLACKJACK **"1410?1420? "  MY HOLE C " OF CLUBS"2560RETURN2570? " OF HEARTS"2580RETURN2590? " OF DIAMONDS"2600RETURN2610 p=22620? "  MY HOLE CARD WAS: "; 2630 x=m2640GOSUB 23302650IF t(2)<22 GOTO 26802660IF v(2)=0 GOTO 28602670IF t(3)>21 GOTO 28602680 p=12690IF t(1)<17 GOTO 29802700IF t(1)>17 GOTO 27202710IF e(1)>0 GOTO 29802720IF t(1)>21 GOTO 30202730 p=22740? "  MY TOTAL IS: "; t(1)2750IF t(p)>21 GOTO 28602760IF t(1)>21 GOTO 27902770IF t(1)>t(p) GOTO 28602780IF t(1)=t(p) GOTO 29202790 w1=w1+w(p)2800IF c1>3 GOTO 31401640? "  NOW, IS THAT A PAIR?"1650GOTO 15801660 v(2)=11670IF q(g)<>1 GOTO 16901680 v(1)=21690 p=31700? "  PLAY HAND ONE NOW"1701?1710? "  YOU HAVE A: "; 1720LET w(3)=w1730 x=g1740GOSUB 17601750GOTO 10901760GOSUB 22401770GOSUB 23301780 v(3)=11790 t(p)=c1800RETURN1810 p=21820 v(2)=21830? "  PLAY HAND TWO NOW"1831?1840? "  YOU HAVE A: "; 1850 x=s1860GOSUB 17601880 v(1)=01890GOTO 10901900? "  NO SPLITS - TRY AGAIN"1910GOTO 15801920IF v(1)<>2 GOTO 19701930IF v(1)=2 GOTO 19601940? E BEHIND -$"; ABS(w1)3101IF w1<-1000 GOTO 90103110RETURN3120? "  YOUR EVEN"3130RETURN3140?3150? "  I MUST HAVE DELT WRONG,"3160?3170GOTO 29203180?3190? "  YOU LUCKED OUT!"3200?3210GOTO 29203220?3230? "  YOU MUST BE PEEKING,"3240?3250GOTO 29203260?3270? "  I COULD LOSE MY JOB THIS WAY,"3280?3290GOTO 29203300?3310? "  THE CARDS HAVE TURNED AGAINST ME!"3320?3330GOTO 29203340?3350? "  THE BOTTOM OF THE DECK STRIKES AGAIN!"3360?3370GOTO 29203380?3390? "  A VICTORY FOR US GOOD GUYS,"ter your bid"710? "limit 9"720LET c=PDL(12)730IF c=15 THEN 720735IF c>9 THEN 720736IF c<1 THEN 720740 c=c*1000: sbid=sbid+c750IF fbid=sbid THEN 605760IF fbid>sbid THEN 800770IF sbid>fbid THEN 900800 p=1:HOME:? "Player #1 gets the lease with"810? "a bid of $"; fbid; " PRESS TRIGGER":GOSUB 3000820 fm=fm-fbid825HOME830? "You now have $"; fm; " left"832GOSUB 4000835? "PRESS TRIGGER":GOSUB 3000840 p=1850RETURN900 p=2:HOME:? "Player #2 gets the bid with"910? "a bid of $"; sbid; " PRESS TRIGGER2REM    ;"programmed on Dec.12,1984 by Sherman L. Murdock"5TEXT10 pm$="OIL SPECULATOR"15FOR n=1 TO 420? CHR$(162)25NEXT n30 tb=16-INT(LEN(pm$)/2)35? TAB(tb); pm$36? "    by SHERMAN L MURDOCK"37? "        turn sound up"40FOR n=1 TO 4:? CHR$(162):NEXT n41NORMAL42 d=d+1:IF d/2=INT(d/2) THEN INVERSE45? "Hit controller button to play"; CHR$(160)50 iv=0: r=055NORMAL:IF iv=1 THEN INVERSE60? "Hit"; CHR$(160)65 c=070 c=c+1: r=r+1:IF (PDL(7)=0) AND (PDL(9))=0 AND (c<40) THEN 7080IF c=40 THEN  iv=1-ME1210? "Do you want to do a survey?"1220? "         cost----$10000"1225? "Press * for survey # to refuse"1230IF p=1 THEN LET c=PDL(13)1240IF p=2 THEN LET c=PDL(12)1250IF c=15 THEN 12301260IF c=11 THEN HOME:? "PRESS TRIGGER":GOSUB 3000:GOTO 13001270IF c=10 THEN 12801275GOTO 12301280IF p=1 THEN  fm=fm-100001285IF p=2 THEN  sm=sm-100001290IF p=1 THEN HOME:? "You now have "; fm1295IF p=2 THEN HOME:? "You now have "; sm1296? "PRESS TRIGGER":GOSUB 30001297HOME:? "According to the survey the"1298?340350HOME:? "Player #1 has $"; fm:GOSUB 4000355HOME:? "Player #2 has $"; sm:GOSUB 4000370GOSUB 1000380 fbid=0: sbid=0390GOSUB 600395GOSUB 1100400GOSUB 1200500GOTO 300600IF fbid=0 AND sbid=0 THEN 650605HOME610? "Both bids the same"611GOSUB 4000614HOME615? "Your next bid will be added"616? "to your last bid ":GOSUB 4000650HOME:? "Player #1 enter your bid"660? "limit 9"670LET c=PDL(13)680IF c=15 THEN 670685IF c>9 THEN 650686IF c<1 THEN 670690 c=c*1000: fbid=fbid+c700HOME:? "Player #2 en3400?3410GOTO 29203420?3430? "  YOU CAN'T BEAT SKILL,"3440?3450GOTO 29203460?3470? "  YOU CAN'T WIN THEM ALL!"3480?3490GOTO 29203500?3510? "  DON'T MESS WITH THE KID!"3520?3530GOTO 29203540FOR m9=1 TO 523550 d(m9)=03560NEXT m93570 r=03580?3590? " OK, I RESHUFFLED"3600?3610RETURN9010? "  LET SOMEONE ELSE PLAY"9020? "  HIT ANY KEY FOR A NEW PLAYER"9025 count=19030GET bull$9040RUNeof3060IF w1<0 GOTO 31003070IF w1=0 GOTO 31203080? "  YOU ARE AHEAD $"; w13090RETURN3100? "  YOU AR":GOSUB 3000920 sm=sm-sbid925HOME930? "You now have $"; sm; " left"932GOSUB 4000935? "PRESS TRIGGER":GOSUB 3000940 p=2950RETURN1000 x=n*20: y=nt*201010RETURN1100 oil=INT(1+65*RND(1))1120 dr=01130 qu=INT(1+25*RND(1))1140IF oil<10 THEN  oil$="excellent"1145IF oil>29 THEN  oil$="poor"1150IF oil>9 AND oil<30 THEN  oil$="average"1155IF qu<8 THEN  qu$="poor"1160IF qu>7 AND qu<15 THEN  qu$="average"1165IF qu>14 AND qu<24 THEN  qu$="excellent"1170IF qu>23 THEN  qu$="natural gas"1199RETURN1200HOiv:GOTO 5590 r=RND(-r)92NORMAL95CLEAR96 fm=200000: sm=20000097 lot=0100HGR210FOR x=10 TO 150 STEP 20220HCOLOR =13230HPLOT 10, x TO 250, x240NEXT250FOR x=10 TO 250 STEP 20260HPLOT x, 10 TO x, 150270NEXT280 p=0300 lot=lot+1305IF lot=70 THEN GOSUB 5500310HOME:? "Pick a vacant lot for auction"315? "        (1 to 12)"320INPUT "Enter number from left to right"; n326IF n<1 THEN 320330HOME335? "       (1 to 7)"340INPUT "Enter number from top to bottom"; nt345IF nt>7 THEN 340346IF nt<1 THEN  "Prospects are "; oil$1299GOSUB 4000:? "PRESS TRIGGER":GOSUB 30001300HOME:? "Do you want to build a well?"1310? "Press * for yes # for no"1320IF p=1 THEN  c=PDL(13)1330IF p=2 THEN LET c=PDL(12)1340IF c=15 THEN 13201350IF c=11 THEN GOTO 13701360IF c=10 THEN HCOLOR =p:GOTO 14001365GOTO 13201370GOSUB 80001380RETURN1400HOME:? "The set-up fee is $10000"1405GOSUB 90001410IF p=1 THEN  fm=fm-10000:? "You now have $"; fm1420IF p=2 THEN  sm=sm-10000:? "You now have $"; sm1430IF fm<0 THEN GOTO 200014x+5), (y-6)8020RETURN9000HCOLOR =p:HPLOT x, y TO x, (y+6)9010HPLOT (x-4), (y+10) TO (x-1), (y+7)9020HPLOT (x+4), (y+10) TO (x+1), (y+7)9030HPLOT x, (y+7)9040HPLOT x, (y+6)9050RETURN10000HCOLOR =p:HPLOT (x-5), (y-2) TO (x-4), (y-3) TO (x-3), (y-3) TO (x-1), (y-1)10010HPLOT (x+1), (y-1) TO (x+3), (y-3) TO (x+4), (y-3) TO (x+5), (y-2)10020HPLOT x, (y-2) TO x, (y-3) TO (x-2), (y-5)10030HPLOT (x+1), (y-4) TO (x+2), (y-5)10040RETURNType RETeof2030? "          GAME OVER"3000IF p=1 THEN 31003005IF AS FAR AS WE CAN GO":? "PRESS TRIGGER":GOSUB 30001496IF dr=40 THEN RETURN1500IF dr>=oil THEN 16001510IF p=1 THEN  fm=fm-10001520IF p=2 THEN  sm=sm-10001530 f=f+1000: ct=ct+10001540GOTO 14501600 cash=INT(1+100*RND(1))1610 cash=cash*10001620IF qu$="natural gas" THEN HOME:? "YOU STRUCK NATURAL GAS":GOTO 17001625IF qu$="excellent" THEN  cash=cash*21630IF qu$="poor" THEN  cash=cash/21640GOSUB 100001650HOME:? "You struck "; qu$1660? "quality oil worth $"; cash1661IF p=1 THEN  fm=fm+cash1662IF p=2 COLOR WITH KEYPAD":? "  USE JOYSTICK #1 TO DRAW WITH"17? " <<PRESS ANY KEY TO GO ON>>":GET k$:?:?18IF PDL(9)=1 THEN 980:REM      STOP ON RIGHT TRIGGER BUTTON20 c=PDL(13):REM      SET COLOR WITH KEYPAD ON CONTROLLER30IF c=15 THEN 5040COLOR =c50 x=PDL(3)*39/255: y=PDL(1)*39/25560PLOT x, y65VTAB 21:? "  USE RIGHT TRIGGER TO STOP"70? "   X="; INT(x); "  Y="; INT(y); "   COLOR="; SCRN(x, y)80GOTO 18120FOR x=0 TO 39130FOR y=0 TO 39140 c=SCRN(x, y)150IF c=0 THEN 160:REM      DON'T PRINT OUT BLACK(DA p=0 THEN 31003010IF p=2 THEN 32003100IF PDL(7)=1 THEN RETURN3110GOTO 31003200IF PDL(6)=1 THEN RETURN3210GOTO 32004000FOR t=1 TO 20004010NEXT t4020RETURN5500HOME:? "Sorry, the workers went "5510? "on strike. PRESS TRIGGER":GOSUB 30005520TEXT:HOME5530? "Player # 1 finishes with "; fm5540? "player # 2 finishes with "; sm5550END6000TEXT:? "YOU ARE BANKRUPT"6010? "Player #1 has $"; fm6020? "Player #2 has $"; sm6030END8000HCOLOR =p:HPLOT (x-5), (y-5) TO (x+5), (y+6)8010HPLOT (x-5), (y+5) TO (35IF sm<0 THEN GOTO 20001437GOSUB 40001440? "PRESS TRIGGER":GOSUB 30001445 f=0: ct=01450HOME:? "Press * once to drill 1000 ft"1455? "Press # to abandon well"1460? "feet--"; f; " cost--"; ct1461IF p=1 AND ct>fm THEN  fm=fm-ct:GOTO 60001462IF p=2 AND ct>sm THEN  sm=sm-ct:GOTO 60001470IF p=1 THEN LET c=PDL(13)1471IF p=2 THEN LET c=PDL(12)1475IF c=11 THEN RETURN1476IF c=15 THEN 14701477IF c=10 THEN 14801478GOTO 14701480FOR be=1 TO 5:? CHR$(7):NEXT be1490 dr=dr+11495IF dr=40 THEN HOME:? "THAT IS2HOME:DIM s%(39, 39)3REM       A SCREEN IN LOW RESOLUTION FROM ANY OTHER PROGRAM OR ACTIVITY CAN BE SAVED USING THIS PROGRAM OR SCRABBLEN. 4? TAB(10); "SCRIBBLEN"5?:? "  BY DANIEL PEASE, CHAS, S.C."6?:? "  WITH THIS PROGRAM, YOU CAN"7? "  SAVE LOW RESOLUTION SCREENS"8? "  ON TAPE OR IN RAM. "9? "  RAM DISAPPEARS WHEN YOU TYPE"10? "  'RUN' OR 'NEW' AND IS EMPTY"11? "  IN PICTURES WHEN YOU START."12? "  THIS IS JUST A WAY TO SAVE"13? "  A PICTURE TEMPORARILY."14GOTO 95015GR:COLOR =316? "  CHANGE THEN  sm=sm+cash1668GOSUB 40001670? "PRESS TRIGGER":GOSUB 30001680RETURN1700IF p=1 THEN  fm=fm+2000001705GOSUB 100001710IF p=2 THEN  sm=sm+2000001720? "YOU EARNED $200000"1730? "PRESS TRIGGER":GOSUB 30001740HOME:? "Player #1 has $"; fm1750? "Player #2 has $"; sm1758GOSUB 40001760? "PRESS TRIGGER":GOSUB 30001770RETURN2000IF fm<0 THEN HOME:? "PLAYER #1 IS BANKRUPT"2010? "          GAME OVER"2020IF sm<0 THEN HOME:? "PLAYER #2 IS BANKRUPT"2030? "          GAME OVER"3000IF p=1 THEN 31003005IFRK SCREEN) COORDINATES155? "  "; x; "  "; y; "  "; c160 s%(x, y)=c170NEXT y180NEXT x200GOTO 980240GR:COLOR =3248FOR x=0 TO 39250FOR y=0 TO 39255 c=s%(x, y)260COLOR =c265IF c=0 THEN 290280PLOT x, y290NEXT y300NEXT x400GOTO 980500 d$=CHR$(4)510INPUT "   WHAT NAME FOR FILE?"; n$515IF n$="" THEN 400520? d$; "OPEN "; n$525? d$; "WRITE "; n$530FOR x=0 TO 39540FOR y=0 TO 39550 c=SCRN(x, y)560IF c=0 THEN 600570 c$=STR$(c): x$=STR$(x): y$=STR$(y)580? x$:? y$:? c$600NEXT y610NEXT x615? "0CO ABOUT THOSE SAFETY MEASURES- THEY WERE NOT IN THE MANUAL I HAD1248REM      THE BOOK HAD A PROGRAM THAT WAS VERY SIMILAR TO SCRIBBLEN BUT I WROTE MINE BEFORE SEEING THEIRS!!1250TEXT1260? "  GOOD-BY ! ":?:?:? "  Daniel L. Pease"1265? "  12 Budds Ave.":? "  Chas., SC  29405"1270?:?:? "  WRITE ME IF YOU HAVE NOT ":? "  ACCEPTED CHRIST AS YOUR  ":? "  SAVIOR OR WANT MORE OF MY"1280? "  PROGRAMS (SWAP OR BUY)."1300ENDMEMORY"1160? " 2.ADD ON TOP THIS FROM TAPE"1170? " 3.SEE MORE OPTIONS TO CHOOSE"118AS OPENNED ON ERROR870VTAB 22:? "  FILE NOT FOUND"880HTAB 1:? d$; "CLOSE "; n$900GOTO 980950?:?:? "  YOU WILL HAVE MANY OPTIONS"955? "  SOME OPTIONS WILL NOT BE"956? "  USED TO START OFF WITH ..."957? "  YOU WILL NEED TO DRAW SOME "958? "  BEFORE YOU CAN SAVE A SCREEN"959? "  YOU WILL NEED TO SAVE ONE "960? "  BEFORE YOU RECALL OR ADD TO"961? "  ONE FROM TAPE OR MEMORY"962? " << HIT ANY KEY TO CONTINUE>>"963GET k$964HOME970? "  PICK YOUR OPTION:"980? " 1.SAVE THIS SCREEN IN MEMORY"1000? " 2 AT 1230COLOR =7:HLIN 6, 8 AT 2240COLOR =8:HLIN 5, 9 AT 3250COLOR =9:HLIN 4, 10 AT 4260COLOR =10:HLIN 3, 11 AT 5270COLOR =11:HLIN 2, 12 AT 6280COLOR =12:HLIN 1, 13 AT 7290 peg$(1)="1234567": peg$(2)="": peg$(3)="": tp(1)=1: tp(2)=16: tp(3)=24300VTAB 24:HTAB 1:? "FROM - "; 310GET f:IF f<1 OR f>3 THEN 310320HTAB 8:? f; 330? CHR$(7); 340HTAB 20:VTAB 24:? "TO - "; 350GET t:IF t<1 OR t>3 OR t=f THEN 350360HTAB 25:? t; 370? CHR$(7); 380IF peg$(f)="" THEN 510390IF peg$(t)="" THEN 410400IF ASC(peg0INPUT "  WHAT NUMBER OPTION?(1-3)"; c%1185IF c%<1 OR c%>3 THEN 11501190ON c% GOTO 248, 710, 12001200HOME:? " 1.SEE PICTURE IN MEMORY(IF 1)"1210? " 2.SEE TAPED PICTURE (IF ONE)"1220? " 3.START ALL OVER   4. STOP  "1230INPUT "  WHAT NUMBER OPTION?(1-4)"; c%1235IF c%<1 OR c%>4 THEN 12001240ON c% GOTO 240, 700, 1245, 12501245TEXT:HOME:GOTO 41246REM      THE ONERR ROUTINES WERE PUT IN FOR THE PREVENTION OF FILING DISASTERS LIKE OCCURRED TO ME1247REM      I LEARNED FROM ADAM'S COMPANION(BOOK) AND COLE":? "0":? "99"620HTAB 1:? d$; "CLOSE "; n$625GOTO 980700HOME:GR710INPUT "  NAME OF PICTURE TO GET?"; n$720 d$=CHR$(4)725ONERR  GOTO 820:REM      PREVENT LEAVING OPEN FILE ON TAPE730? d$; "OPEN "; n$740? d$; "READ "; n$750INPUT x$, y$, c$755CLRERR:REM      FILE IS OKAY760 x=VAL(x$): y=VAL(y$): c=VAL(c$)775? x, y, c780IF c>15 THEN 810:REM      FOUND END MARKER 785COLOR =c790PLOT x, y800GOTO 750810HTAB 1:? d$; "CLOSE "; n$818GOTO 980820CLRERR:REM      CLOSE & DELETE NO GOOD NAMED FILE THAT W1ONERR  GOTO 560100REM   * TOWER OF HANOI *110REM  120REM   by Prof. Holl and the HCM staff130REM  140REM   originally written in Applesoft BASIC150REM  160REM   translated and modified to Coleco ADAM SmartBASIC by Mike Elsila170REM  180DIM peg$(3), tp(3)190GR:? "PRESS 1 FOR THE FIRST TOWER":? "PRESS 2 FOR THE SECOND TOWER":? "PRESS 3 FOR THE THIRD TOWER"200COLOR =13210VLIN 30, 34 AT 7:VLIN 30, 34 AT 19:VLIN 30, 34 AT 21:VLIN 30, 34 AT 31:VLIN 30, 34 AT 33:VLIN 30, 34 AT 35220COLOR =6:HLIN 7, 7.SAVE THIS SCREEN ON TAPE  "1015? " 3.SEE MORE OPTIONS TO CHOOSE"1020INPUT "  WHAT NUMBER OPTION?(1-3)"; c%1025IF c%<1 OR c%>3 THEN 9801080ON c% GOTO 120, 500, 11001100HOME:? " 1.DRAW COMPLETELY NEW PICTURE"1110? " 2.DRAW MORE ONTO THIS PICTURE"1120? " 3.SEE MORE OPTIONS TO CHOOSE"1130INPUT "  WHAT NUMBER OPTION?(1-3)"; c%1135IF c%<1 OR c%>3 THEN 11001140ON c% GOTO 15, 18, 11501150HOME:? " 1.ADD ON TOP THIS THE MEMORY"1160? " 2.ADD ON TOP THIS FROM TAPE"1170? " 3.SEE MORE OPTIONS TO CHOOSE"118$(f))>ASC(peg$(t)) THEN 510410 sz=VAL(LEFT$(peg$(f), 1))420 tp(t)=tp(t)-1430COLOR =0:HLIN (f-1)*13+8-sz, (f-1)*13+6+sz AT tp(f)440 tp(f)=tp(f)+1450COLOR =5+sz:HLIN (t-1)*13+8-sz, (t-1)*13+6+sz AT tp(t)460IF LEN(peg$(f))=1 THEN  peg$(f)="":GOTO 480470 peg$(f)=RIGHT$(peg$(f), LEN(peg$(f))-1)480 peg$(t)=STR$(sz)+peg$(t)490IF peg$(2)="1234567" OR peg$(3)="1234567" THEN 520500GOTO 300510? CHR$(7); CHR$(7); CHR$(7); CHR$(7); :GOTO 300520HOME:? "CONGRATULATIONS, YOU'VE WON!":?:? "WANT TO PLAY AGAIN? ";a(2, x)=0: a(3, x)=0160NEXT x200INPUT "TOWER (1-3) TO TOWER (1-3). SEPARATE NUMBERS WITH A COMMA. "; t1, t2:?210 disk=0:FOR x=1 TO 5220IF disk>0 OR a(t1, x)=0 THEN 260230 disk=a(t1, x): xctr=8+(t1-1)*11: a(t1, x)=0240COLOR =0:HLIN xctr-disk, xctr+disk AT 2*x+22250COLOR =12:PLOT xctr, 2*x+22:COLOR =1260NEXT x270IF disk=0 THEN ? "NO DISK THERE!":GOTO 200280 empty=0:FOR x=5 TO 1 STEP -1290IF empty=0 AND a(t2, x)=0 THEN  empty=x300NEXT x:IF empty=5 THEN 340310IF a(t2, empty+1)>=disk THEN 340320? "10HOME:TEXT:?:HTAB 4:? "TOWER TO TOWER PUZZLE":?20?:?30? "To play the game, try moving":?31? "all of the disks from one":?32? "Tower to another without":?33? "putting a larger disk on top":?34? "of a smaller disk.":?35? "You can move only one disk":?36? "at a time."37?:?:? "Press any key to begin.":GET v$60HOME:GR:COLOR =12:DIM a(3, 5)70FOR x=33 TO 35:HLIN 2, 36 AT x:NEXT x80VLIN 20, 33 AT 890VLIN 20, 33 AT 19:VLIN 20, 33 AT 30130COLOR =1:FOR x=1 TO 5140HLIN 8-x, 8+x AT 2*x+22150 a(1, x)=x:  research. These cards are  numbered 1-5.ADAM will 'think'"; 1040? " of a card and then wait for youto enter your guess. Press the number key which corresponds tothe card "; 1050? "that you think ADAM is'thinking' of.ADAM will record whether you are correct and    after 100 guesses will rate"1060? "your telepathic powers by"1070? "giving you a score based on    your percentage of correct"1080? "guesses."1090RETURN1100STOP2000REM      randomize2010?:? " PRESS ANY KEY"2020FOR i=0 TO 99: x=i: y=PEEK(YOU CAN'T DO THAT!": t2=t1:GOTO 280340 x=8+(t2-1)*11: y=2*empty+22350COLOR =1:HLIN x-disk, x+disk AT y360 a(t2, empty)=disk370?:IF t2=1 OR empty<>1 THEN 200380? "GOOD SHOW OL' CHAP!!!"op":?34? "of a smaller disk.":?35? "You can move only one disk":?36? "at a time."37?:?:? "Press any key to begin.":GET v$60HOME:GR:COLOR =12:DIM a(3, 5)70FOR x=33 TO 35:HLIN 2, 36 AT x:NEXT x80VLIN 20, 33 AT 890VLIN 20, 33 AT 19:VLIN 20, 33 AT 30130COLOR =1:FOR x=1 TO 5140HLIN 8-x, 8+x AT 2*x+22150 a(1, x)=x:  :GET a$:IF LEFT$(a$, 1)="N" OR LEFT$(a$, 1)="n" THEN 560540IF LEFT$(a$, 1)="Y" OR LEFT$(a$, 1)="y" THEN CLEAR:GOTO 100550GOTO 520560TEXT570END580REM 590REM  *CLOSE BUFFER:PRESS UNDO600REM 610REM 620REM 630REM 640REM 650REM 660REM 670REM 680REM 690REM  "FROM - "; 310GET f:IF f<1 OR f>3 THEN 310320HTAB 8:? f; 330? CHR$(7); 340HTAB 20:VTAB 24:? "TO - "; 350GET t:IF t<1 OR t>3 OR t=f THEN 350360HTAB 25:? t; 370? CHR$(7); 380IF peg$(f)="" THEN 510390IF peg$(t)="" THEN 410400IF ASC(peg1REM    esp5HOME: beep$=CHR$(7)+CHR$(7)20GOSUB 100030GOSUB 200035 a=INT(RND(1-x))40HOME:HGR:HCOLOR =3: ri=050GOSUB 3000:REM      draw cards60GOSUB 4000:REM      get guess70GOSUB 500080? "Want to try again (Y/N)"; :INPUT a$:IF a$="Y" OR a$="y" THEN HOME:GOTO 4090IF a$="N" OR a$="n" THEN TEXT:? "ESP EXITED":END100GOSUB 4200:GOTO 801000REM      title & intro1010VTAB 3:HTAB 15:? "ESP"1020?:?:? "This game tests your ESP skillsYou will see the 5 Zener Cards"1030? "which are frequently used for  ESPa(2, x)=0: a(3, x)=0160NEXT x200INPUT "TOWER (1-3) TO TOWER (1-3). SEPARATE NUMBERS WITH A COMMA. "; t1, t2:?210 disk=0:FOR x=1 TO 5220IF disk>0 OR a(t1, x)=0 THEN 260230 disk=a(t1, x): xctr=8+(t1-1)*11: a(t1, x)=0240COLOR =0:HLIN xctr-disk, xctr+disk AT 2*x+22250COLOR =12:PLOT xctr, 2*x+22:COLOR =1260NEXT x270IF disk=0 THEN ? "NO DISK THERE!":GOTO 200280 empty=0:FOR x=5 TO 1 STEP -1290IF empty=0 AND a(t2, x)=0 THEN  empty=x300NEXT x:IF empty=5 THEN 340310IF a(t2, empty+1)>=disk THEN 340320? "64885):IF y<>13 THEN RETURN2030NEXT i:GOTO 20203000REM      draw card outlines3010FOR a=11 TO 199 STEP 473020HPLOT a, 20 TO a+36, 203030HPLOT a, 20 TO a, 763040HPLOT a, 76 TO a+36, 763050HPLOT a+36, 20 TO a+36, 763100NEXT a3105REM      draw cross3110HPLOT 27, 38 TO 31, 38:HPLOT 31, 38 TO 31, 45:HPLOT 31, 45 TO 38, 453120HPLOT 38, 45 TO 38, 49:HPLOT 38, 49 TO 31, 49:HPLOT 31, 49 TO 31, 563130HPLOT 31, 56 TO 27, 56:HPLOT 27, 56 TO 27, 49:HPLOT 27, 49 TO 20, 49:HPLOT 20, 49 TO 20, 453140HPLOT 20,  98 TO 123, 98:HPLOT 124, 99:HPLOT 125, 100 TO 125, 1043644HPLOT 118, 105:HPLOT 124, 105:HPLOT 119, 106 TO 123, 1063650HPLOT 170, 91 TO 170, 106:HPLOT 165, 91 TO 165, 99:HPLOT 165, 99 TO 173, 993770HPLOT 218, 91 TO 225, 91:HPLOT 218, 92 TO 218, 98:HPLOT 219, 98 TO 224, 983772HPLOT 225, 99:HPLOT 226, 100 TO 226, 1043774HPLOT 225, 105:HPLOT 220, 106 TO 224, 106:HPLOT 218, 104:HPLOT 219, 1053775RETURN4000FOR guess=1 TO 1004010 no=INT(RND(1)*5)+14050HOME:VTAB 22:HTAB 4:? "Guess #"; guess; " "; :GET g$ col-3, 54:HPLOT col-2, 55:HPLOT col-1, 563180HPLOT col, 57 TO col, 593190NEXT col3200REM      draw star3210HPLOT 159, 44 TO 167, 443220HPLOT 167, 44 TO 167, 423230HPLOT 168, 40 TO 168, 423240HPLOT 169, 38 TO 169, 40:HPLOT 170, 36 TO 170, 373250HPLOT 171, 38 TO 171, 40:HPLOT 172, 40 TO 172, 42:HPLOT 173, 42 TO 173, 433260HPLOT 173, 44 TO 180, 433270HPLOT 160, 45:HPLOT 161, 46:HPLOT 162, 47 TO 163, 47:HPLOT 164, 48 TO 164, 49:HPLOT 165, 493280HPLOT 166, 50:HPLOT 165, 51 TO 165, 52:HPLOT 164, 52 TOTAB 23:? " Not bad!!!"5050IF per<=22 THEN VTAB 23:? "You aren't the amazing KRESKIN!"5060FOR d=1 TO 3000:NEXT5099RETURNLOT 170, 91 TO 170, 106:HPLOT 165, 91 TO 165, 99:HPLOT 165, 99 TO 173, 993770HPLOT 218, 91 TO 225, 91:HPLOT 218, 92 TO 218, 98:HPLOT 219, 98 TO 224, 983772HPLOT 225, 99:HPLOT 226, 100 TO 226, 1043774HPLOT 225, 105:HPLOT 220, 106 TO 224, 106:HPLOT 218, 104:HPLOT 219, 1053775RETURN4000FOR guess=1 TO 1004010 no=INT(RND(1)*5)+14050HOME:VTAB 22:HTAB 4:? "Guess #"; guess; " "; :GET g$50 x9=r9*COS(g): y9=r9*SIN(g)3451 c=c+13452IF c=1 THEN 34653460HPLOT x+x9, y-y93462HPLOT x+x9+1, y-y9 TO q, w3465 q=x+x9: w=y-y93470NEXT3500REM      draw numbers3510HPLOT 29, 91 TO 29, 1063600HPLOT 73, 91 TO 78, 91:HPLOT 72, 92:HPLOT 71, 93:HPLOT 71, 106 TO 79, 1063610HPLOT 79, 92 TO 79, 96:HPLOT 78, 97:HPLOT 77, 98:HPLOT 76, 100:HPLOT 75, 101:HPLOT 74, 102:HPLOT 73, 1033620HPLOT 72, 104:HPLOT 71, 1053640HPLOT 118, 92:HPLOT 119, 91 TO 124, 91:HPLOT 125, 92 TO 125, 96:HPLOT 124, 973642HPLOT 120,45 TO 27, 45:HPLOT 27, 45 TO 27, 383145REM      draw box3150HPLOT 69, 41 TO 83, 41:HPLOT 83, 41 TO 83, 55:HPLOT 83, 55 TO 69, 55:HPLOT 69, 55 TO 69, 413155REM      draw wavy lines3160FOR col=119 TO 131 STEP 63170HPLOT col-3, 34:HPLOT col-2, 35:HPLOT col-1, 36:HPLOT col, 37 TO col, 393172HPLOT col-1, 40:HPLOT col-2, 41:HPLOT col-3, 42:HPLOT col-4, 43:HPLOT col-5, 44:HPLOT col-6, 45:HPLOT col-7, 463174HPLOT col-8, 47 TO col-8, 493176HPLOT col-7, 50:HPLOT col-6, 51:HPLOT col-5, 52:HPLOT col-4, 53:HPLOT4055IF ASC(g$)=3 THEN END4060 g=VAL(g$):IF g<1 OR g>5 THEN GOSUB 4200:GOTO 40504070IF g=no THEN  ri=ri+14071FOR d=1 TO 750:NEXT4100NEXT guess4105RETURN4200REM      error sub4210VTAB 23:HTAB 1:? beep$; " INVALID ENTRY! PLEASE REENTER."4215FOR d=1 TO 2000:NEXT d4220RETURN5000REM      calculate % correct5005 guess=guess-15010 per=(ri/guess)*100: per=INT(per+.5)5020HOME:VTAB 22:HTAB 2:? "Your score was "; per; "%."5030IF per>35 THEN VTAB 23:? "I think you cheated!"5040IF per<=35 AND per>22 THEN V 164, 54:HPLOT 163, 55 TO 163, 583290HPLOT 164, 57:HPLOT 165, 56:HPLOT 166, 55:HPLOT 167, 54 TO 168, 54:HPLOT 169, 53:HPLOT 170, 523300HPLOT 171, 53:HPLOT 172, 54 TO 173, 54:HPLOT 174, 55:HPLOT 175, 56:HPLOT 176, 573310HPLOT 177, 55 TO 177, 583320HPLOT 176, 52 TO 176, 54:HPLOT 175, 51 TO 175, 52:HPLOT 174, 49 TO 174, 503330HPLOT 175, 48:HPLOT 176, 47 TO 177, 47:HPLOT 178, 46:HPLOT 179, 453400REM      draw circle3410 x=213: y=53: rs=103420FOR g=0 TO 3.2 STEP .043430 r1=SIN(g)+COS(g)3440 r9=rs*r134ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее