0 poke53269,0:rem sprites ausschalten
5 data 169,228,141,8,3,169,167,141,9,3,96,-1
6 restore:a=35000
7 readx:ifx=-1thensys35000:goto10
8 pokea,x:a=a+1:goto7
10 rem*********************************
20 rem*                               *
25 rem*                               *
30 rem* (c) copyright                 *
35 rem*                               *
40 rem* maerz/april 1984  by          *
45 rem*                               *
50 rem* josef hauser und robert meyer *
55 rem*                               *
60 rem* via quadrellas 8              *
65 rem* 7500 st.moritz  schweiz       *
70 rem* tel.(082) 3 42 12             *
80 rem*                               *
90 rem*********************************
93 forz1=1to25:cd$=cd$+"q":next
95 forz1=1to80:cr$=cr$+"]":next
97 forz1=1to20:ww$=ww$+"NM":next
100 rem ---einleitung------------------
105 poke53280,0:poke53281,1
110 printchr$(14)"“qqqr          DER MAGISCHE KREIS            ’"
115 rem zeile 110 : der magische kreis"
120 print"qq]]Die Welt ist in Gefahr !!!"
130 print"q]]IGNATIUS VON SCHRECKENSTEIN versucht"
135 rem zeile 130: ignatius von schreckenstein
140 print"]]die Welt zu vernichten. Sie sind der"
150 print"]]Einzige, der das verhindern kann !!"
160 print"]]Im Verlauf des Spieles werden ihnen"
170 print"]]Aufgaben gestellt. Wenn Sie alle"
180 print"]]loesen, koennen Sie die Bombe ent-"
190 print"]]schaerfen, welche die Welt bedroht."
200 print"]]Weitere Instruktionen erhalten sie"
210 print"]]waehrend des Spiels!"
220 print"qq             >TASTE<"
230 wait203,63
240 print"“qq]]Die Richtung geben Sie mit den"
250 print"]]Anfangsbuchstaben der jeweiligen"
260 print"]]Himmelsrichtungen an."
270 printleft$(cr$,17);"qN"
280 printleft$(cr$,16);"W+E"
290 printleft$(cr$,17);"S"
300 print"q]]Als Befehle gelten :"
310 print"]]qNEHMEN, ABSTELLEN, VERJAGEN"
320 print"]]ANLEGEN, ENTZUENDEN,OEFFNEN,"
330 print"]]AUSSPRECHEN,SCHIESSEN"
350 print"]]qNehmen Sie sich vor Gespenstern und"
356 print"]]Raeubern in Acht!"
357 print"q  P.S. Fuer Nervenzusammenbrueche wird"
358 print"       nicht gehaftet!"
360 rem befehle: nehmen,abstellen,verjagen,anlegen,entzuenden
370 rem oeffnen,aussprechen,schiessen,kennzeichnen
380 printleft$(cr$,12);"qq>BEREIT<":rem bereit
385 wait203,63:wait203,63:wait203,63
390 print"“"chr$(142)
395 print"qr£    treffe vorbereitungen - warten!     ’"
396 print"‘r  ca. 4 min. ( = 3 tassen kaffee !!!)   ’"
400 rem sprite geist
410 data ,,,,,,,24,,,126,,,255,,1,255,128,3,17,192,7,17,192,7,17,192
411 data 7,255,192,7,255,128,7,103,0,3,3,0,3,3,0,3,3,0,7,15,128,7,255,224,15
412 data 255,224,15,19,240,12,0,240,0,0,0
420 rem sprite yeti
430 data 0,56,0,0,84,0,0,56,0,3,255,128,7,255,192,15,255,224,31,255,240
431 data 61,255,120,57,255,56,25,255,48,25,255,48,25,255,48,8,238,32,0,238,0
432 data 0,238,0,0,238,0,0,238,0,0,238,0,0,238,0,0,198,0,7,199,192
500 rem sprites einlesen
510 vc=53248
530 poke2040,13:poke2041,14:poke2042,14:poke2043,14
540 fora=0to62:readx:poke64*13+a,x:next
550 fora=0to62:readx:poke64*14+a,x:next:pokevc+23,7:pokevc+29,7
590 rem gegenstaende
600 datarettungsring,amulett,saeure,kreuz,nitroglyzerin,taschenlampe,bleistift
610 datapapier,tresor,raeuber,gespenst,zeus
630 dimge$(12),ge(9),be$(8)
640 forz1=1to12:readge$(z1):next
650 rem standort der gegenstaende
660 data 5.4,1.5,4.5,6.2,8.2,1.3,3.2,4.1,6.5
670 forz1=1to9:readge(z1):next
699 rem befehle
700 datanehmen,abstellen,verjagen,anlegen,entzuenden,oeffnen
710 dataschiessen,aussprechen
720 forz1=1to8:readbe$(z1):next
900 dimho(9,5),gt$(5),ab$(5)
910 data 20,5,13,5,1,0,12,15,5,9,0,10,14,17,10,12,15,3,0,10,10,42,0,12,11
915 data 26,2,0,10,10,78,13,9,26,10,10,70,11,78,3,70,5,135,3,0,
920 fora=1to9:forb=1to5:readc:ho(a,b)=c:next:next
930 rem --labyrint bilden--
931 rem -------------------
932 ifpeek(2)=1then999
933 fora=49152to53247:pokea,0:next
940 gosub19000:poke2,1
999 ti$="000000"
1000 print"“q":poke53280,0:poke53281,15
1100 print"qqqqqq—     NM"
1110 print"—    N  M       rgoldmine’"
1120 print"—    NNMM         _NM_ "
1130 print"—    NNMM        N    M "
1140 print"—   N NM M      N      M"
1150 print"—   N NM M     N UD££DI M"
1160 print"—   NNNMMM     BNBr    ’BMB "
1170 print"—  NN NM MM    BNBr    ’BMB "
1180 print"—  NNNNMMMM    BNBr    ’BMB "
1190 print"— NNN NM MMM   BNBr    ’BMB "
1200 print"— NNN• r  ’— MMM   BNBr    ’BMB "
1210 print"•    r©  ’      ±C±    ±C± "
1220 poke198,0:v=1:c=9
1230 print"sqq  richtungen:n-e-s-w":input"q  ihr komando";ko$
1240 ifko$="n"thena=1:b=3:poke53281,11:goto1360
1250 iflen(ko$)=1then14100
1260 print"  nicht moeglich !":goto1230
1270 ri$=right$(ri$,len(ri$)-u%):u%=0
1271 print"sqq  richtungen:";ri$
1280 ko$="":input"q  ihr komando";ko$
1289 ho=ho(a,b):x1=1:v1=0
1290 ifko$="n"and(hoand8)=8thena=a+1:goto1360
1300 ifko$="s"and(hoand2)=2thena=a-1:goto1360
1310 ifko$="e"and(hoand4)=4thenb=b+1:goto1360
1320 ifko$="w"and(hoand1)=1thenb=b-1:goto1360
1330 ifko$="h"anda=9andb=3then2000
1340 iflen(ko$)>1thengosub13000:goto1360
1350 goto1270
1360 gosub10000:ho=ho(a,b):ri$="":u%=1
1365 if(hoand16)=16then14000
1370 if(hoand1)=1thenc=9:gosub10200:ri$=ri$+"-w"
1380 if(hoand4)=4thenc=23:gosub10200:ri$=ri$+"-e"
1390 if(hoand8)=8thenc=16:gosub10200:ri$=ri$+"-n"
1400 if(hoand2)=2thenri$=ri$+"-s"
1410 if(hoand32)=32thengosub16000
1420 if(hoand64)=64thengosub16100
1430 if(hoand128)=128thengosub16200
1450 forz1=1to9:ifge(z1)=a+b/10thengosub16500
1460 next
1470 ifge(6)=-1ora+b/10=1.3thenpoke53281,11:print"":goto1490
1480 poke53281,0:print"•"
1490 ifv3%=1then14300
1500 ifpeek(vc+21)<>0thenv3%=1
1510 ifv4%=1then14350
1520 ifa+b/10=5.2andsw%<>1thenv4%=1
1530 ifa+b/10<>7.1orgz=0then1560
1540 forz9=1togz:ifgt$(z9)="amulett"thengosub14500
1550 next
1560 goto1270
1570 end
2000 rem des wahnsinns 2. teil !!!!!!!
2010 rem -----------------------------
2020 o=49152:x%=19:y%=0
2030 gosub18000
2040 p%=peek(o+x%+y%*40):k$="":ri$=""
2045 if(p%and2)=2thenri$="-s"
2050 if(p%and1)=1thengosub18400
2060 if(p%and4)=4thengosub18300
2070 if(p%and8)=8thengosub18200
2080 if(p%and32)=32thenprint"s";left$(cd$,10);left$(cr$,15);"V"
2085 if(p%and16)=16then3000
2087 ri$=right$(ri$,len(ri$)-1)
2090 print"sq richtungen :";ri$
2100 input" ihr kommando : ";k$
2110 if(k$="n")and((p%and8)=8)theny%=y%+1:goto2030
2120 if(k$="e")and((p%and1)=1)thenx%=x%+1:goto2030
2130 if(k$="w")and((p%and4)=4)thenx%=x%-1:goto2030
2140 if(k$="s")and((p%and2)=2)theny%=y%-1:goto2030
2150 ifk$="kennzeichnen"andge(7)=-1thenpoke(o+x%+y%*40),p%or32:goto2030
2160 goto2090
3000 rem des wahnsinns 3. & lezter teil          ------------------------------
3005 poke2,0
3010 te$="sie sind auf eine falltuere getreten,undvor ihnen steht nun die"
3015 te$=te$+" bombe. nun mues-sen sie eine geheimziffer herausfinden."
3017 te$=te$+" es bleiben ihnen noch 03 minuten um die welt zu retten!"
3019 te$=te$+"ihnen wird mitgeteilt ob ihre eingabe zu hoch,oder zu tief war!"
3020 print"“":fora=1to238
3030 poke53281,int(16*rnd(ti))
3040 poke53280,int(16*rnd(ti))
3050 printmid$(te$,a,1);
3060 forb=1to800/(a/3):next:next:print"“":poke53280,0:poke53281,0
3100 fora=1269to1299
3101 z%=rnd(ti)*16
3102 ifz%=0then3101
3103 pokea,81:pokea+54272,z%
3104 next
3110 fora=1669to1699
3111 z%=rnd(ti)*16
3112 ifz%=0then3111
3113 pokea,81:pokea+54272,z%
3114 next
3120 fora=1269to1669step40
3121 z%=rnd(ti)*16
3122 ifz%=0then3121
3123 pokea,81:pokea+54272,z%
3124 next
3130 fora=1299to1699step40
3131 z%=rnd(ti)*16
3132 ifz%=0then3131
3133 pokea,81:pokea+54272,z%
3134 next
3140 printleft$(cd$,8);left$(cr$,9);"ezeit        :"
3150 printleft$(cr$,9);"qihre eingabe:"
3160 printleft$(cr$,9);"qauswertung  :"
3162 ri=ti:ti$="000000":er=int(rnd(ti)*89999)+10000
3165 cr%=23:re$=""
3170 geta$
3180 print"s";left$(cd$,9);left$(cr$,24);"             "
3181 print"s";left$(cd$,9);left$(cr$,24);180-int(ti/60)
3185 ifti/60>180then14600
3190 ifa$=""then3170
3200 ifasc(a$)<48orasc(a$)>57then3170
3210 cr%=cr%+1
3220 re$=re$+a$
3230 print"s";left$(cd$,11);left$(cr$,cr%);a$
3240 ifcr%<>28then3170
3250 re=val(re$)
3260 au$="zu hoch"
3270 ifre<erthenau$="zu tief"
3280 ifre=erthen14700
3290 print"s";left$(cd$,13);left$(cr$,24);au$
3300 print"s";left$(cd$,11);left$(cr$,24);"      "
3310 goto3165
9999 end
10000 print"“qqqqq   ¹¹¢¢¯¹¢  ¢    ¢¹¯_¯¢  ¢   ¹  ¢"
10005 print"  r¿’ £¸·£¸£·£·¸¸¸·¸·£·¸·£¸·¸·£¸··££·¿"
10010 print"  µr                                ’H"
10020 print"  ¿ r ’ W W W W W W W W W W W W W Wr ]¿’"
10030 print"   ¡r ’¸¢                        ¢¸r ’¶"
10040 print"   ¥r ’  P£·¸·¸£·¸£·¸·£·£¸¸¸£¸·¸O  r ’B"
10050 print"  ¶ r ’   ¡                    ¶   r ’¶"
10060 print"   ¥r ’   ¶                    ¡   r ’ µ"
10070 print"  ¶ r ’   ¡                    ¶   r ’ ¡"
10080 print"   ¡r ’  ¶¥                     ¡  r ’ µ"
10090 print"  ¶ r ’  ¶                      B  r ’¶"
10100 print"   ¡r ’  §                      ª  r ’ µ"
10110 print"  ¶ r ’  ¡                      ¡  r ’G"
10120 print"  ¥ r ’  ¶                      ¶  r ’¶"
10130 print"  ¶¡r ’  ºC¢¹¸·¢·¸¢¢·¢¢¸·¢·¢¸¸¢CL  r ’ª"
10140 print"   ¡r ’¢¸                        ¸¢r ’B"
10150 ifa=9andb=3thenprint"s";left$(cr$,10);left$(cd$,11);"{"
10160 return
10200 print"s";left$(cd$,13)
10210 printtab(c)"r¿’¸·¸¿"
10220 printtab(c)"µ   ¡"
10230 printtab(c)"B   G"
10240 printtab(c)"¶   ¿"
10250 printtab(c)"¡   ¶"
10260 printtab(c)"     "
10270 ifv<>1thenreturn
10280 c=c+7:ifc<24then10200
10290 v=0:return
13000 ifko$="zeus aussprechen"anda=9andb=3then2000
13001 ifko$="list"then13180
13003 forz1=1to7:ifbe$(z1)=right$(ko$,len(be$(z1)))then13010
13005 next:goto13040
13010 forz7=1to11:ifge$(z7)=left$(ko$,len(ge$(z7)))then13020
13015 next:goto13040
13020 ifz1=2then13030
13021 forz3=1to9:ifge(z3)=a+b/10then13050
13025 next
13026 ifleft$(ko$,8)="gespenst"orleft$(ko$,7)="raeuber"then13050
13027 ifleft$(ko$,4)="zeus"then13050
13030 ifgz=0then13050
13031 forz5=1togz:ifgt$(z5)=left$(ko$,len(gt$(z5)))thenv1=1:goto13050
13035 next
13040 print"]]nicht moeglich !!!"
13045 forz2=1to2000:next:return
13050 onz1goto13080,13090,13100,13110,13130,13140,13160
13070 return
13080 ifgz=4orv1=1then13040
13081 gz=gz+1:ge(z7)=-1:gt$(gz)=ge$(z7)
13082 return
13090 ifv1<>1then13040
13091 forz6=1togz:ab$(z6)=gt$(z6):next
13092 g=0:forz6=1to5:gt$(z6+g)=ab$(z6)
13093 ifgt$(z6)=left$(ko$,len(gt$(z6)))theng=-1
13094 next:gz=gz-1:ge(z7)=a+b/10:v1=0:return
13095 ifko$="rettungsring ablegen"thensw%=0
13100 ifleft$(ko$,8)="gespenst"thent$="kreuz":goto13103
13101 ifleft$(ko$,7)="raeuber"thent$="saeure":goto13103
13102 goto13040
13103 input"]]‘‘womit     ";w$
13104 ifw$<>t$then13040
13105 ifgz=0then13040
13106 forz5=1togz:ifgt$(z5)<>w$thennext:goto13040
13107 ift$="kreuz"thenpokevc+21,0:ho(a,b)=ho(a,b)-64
13108 ift$="saeure"thenpokevc+21,0:ho(a,b)=ho(a,b)-128
13109 v3%=0:return
13110 ifleft$(ko$,12)<>"rettungsring"then13010
13111 ifv1<>1then13040
13112 sw%=1:print"‘‘]]ok!":v4%=0:return
13130 ifleft$(ko$,13)="nitroglyzerin"then14250
13131 goto13040
13140 ifv1<>1then13040
13141 ifleft$(ko$,7)="amulett"thenprint"“]]qqdas amulett hat sich aufgeloest"
13142 forx=1to2000:next:gosub13091
13143 ge(2)=11:return
13160 ifleft$(ko$,13)="nitroglyzerin"then14250
13161 goto13040
13180 print"“q sie tragen :"
13181 fort1=1togz:print,,gt$(t1):next
13182 wait203,64:wait203,63:poke198,0
13183 return
14000 poke53281,1
14001 print"“qq  leider waren die stuetzbalken"
14010 print"  in diesem raum nicht sonderlich"
14020 print"  stabil! ihr begraebniss fand unter"
14030 print"  ausschluss der oeffentlichkeit statt"
14040 print"  die welt wird zerstoert werden,"
14050 print"  weil sie versagt haben!"
14060 goto15000
14100 print"“qq  sie sind vom felsen herunterge-"
14110 print"  stuerzt ....!"
14120 forz1=1to2000:next
14130 print"q  ....nun sind sie aufgeprallt!!          ihr pech!!":goto15000
14250 print"“qq  das war nicht sonderlich schlau"
14260 print"  von ihnen. sie fliegen in die luft"
14270 print"  und die welt wartet immer noch ver-"
14280 print"  zweifelt auf ihren retter."
14290 goto15000
14300 print"“qq  ihre unternehmungslust ist leider"
14310 print"  gebremst worden. die welt wird zer-"
14320 print"  stoert !":goto15000
14350 print"“qq  ein starker sog reisst sie in die"
14360 print"  tiefe. langsam geht ihnen die luft"
14370 print"  aus. sie ersticken qualvoll!"
14380 goto15000
14500 print"s";left$(cd$,12);left$(cr$,10);"sie werden dem"
14510 printtab(9)"hades entfliehen,in-"
14520 printtab(9)"dem sie den namen"
14530 printtab(9)"des allmaechtigen"
14540 printtab(9)"grichischen goetter-"
14550 printtab(9)"vaters aussprechen"
14560 printtab(9)"dann wenden sie sich"
14570 printtab(9)"minotaurus zu.der"
14580 printtab(9)"raum ist mit { gezeinet"
14590 return
14600 si=54272
14610 forx=15to0step-1
14620 pokesi+24,x:pokesi+5,15:pokesi+6,0:pokesi+1,40:pokesi,200:pokesi+4,129
14630 forx1=1to200:next:next:pokesi+4,0:pokesi+5,0
14640 print"“eqq wie sie soeben vernommen haben,"
14650 print" ist die bombe explodiert."
14660 print" und mit ihr die ganze zivilisation,"
14670 print" die sich bei ihnen bedanken kann."
14680 print" versuchen sie es einmal mit blumen-"
14690 print" zuechten. uebrigens, die zahl war:":printer:goto15000
14700 print"e“qq sie sind ein genie!!!"
14710 print" sie duerfen sich zum kleinen kreis"
14720 print" derer zaehlen, die alle aufgaben ge-"
14730 print" loest haben. herzlichen glueckwunsch."
15000 ri=int((ri+ti)/60):h=int(ri/3600):m=int((ri-3600*h)/60):s=ri-h*3600-m*60
15010 print"q  zeit:";h;":"m;":";s
15020 print"qqq  moechten sie es nochmals"
15030 print"  versuchen(j/n)?";
15040 geta$:ifa$=""then15040
15050 ifa$="j"thenclr:goto0
15060 end
16000 print"s";left$(cd$,18);left$(cr$,8);left$(ww$,22)
16010 printleft$(cr$,7);mid$(ww$,2,24)
16020 printleft$(cr$,6);left$(ww$,26)
16030 printleft$(cr$,5);mid$(ww$,2,28)
16040 return
16100 pokevc+21,1:pokevc+39,1:pokevc+0,100:pokevc+1,160:return
16200 pokevc+21,2:pokevc+40,0:pokevc+2,150:pokevc+3,175:return
16500 onz1goto16520,16530,16540,16550,16560,16570,16580,16590,16600
16510 return
16520 print"s";left$(cd$,11);left$(cr$,13);"U-IqBWBqJ-K"
16521 print"s ";left$(cr$,x1);ge$(z1);:x1=x1+len(ge$(z1))+1:return
16530 print"s";left$(cd$,18);left$(cr$,11);"{q±"
16531 print"s ";left$(cr$,x1);ge$(z1);:x1=x1+len(ge$(z1))+1:return
16540 print"s";left$(cd$,18);left$(cr$,17);"U¸IqBVBqJ-K"
16541 print"s ";left$(cr$,x1);ge$(z1);:x1=x1+len(ge$(z1))+1:return
16550 print"s";left$(cd$,11);left$(cr$,22);" B qC{CqBqB"
16551 print"s ";left$(cr$,x1);ge$(z1);:x1=x1+len(ge$(z1))+1:return
16560 print"s";left$(cd$,18);left$(cr$,13);"U¸IqBnBqJ-K"
16561 print"s ";left$(cr$,x1);ge$(z1);:x1=x1+len(ge$(z1))+1:return
16570 print"s";left$(cd$,19);left$(cr$,24);"¹¹¢q··¸"
16571 print"s ";left$(cr$,x1);ge$(z1);:x1=x1+len(ge$(z1))+1:return
16580 print"s";left$(cd$,15);left$(cr$,6);"^"
16581 print"s ";left$(cr$,x1);ge$(z1);:x1=x1+len(ge$(z1))+1:return
16590 print"s";left$(cd$,19);left$(cr$,22);"¦¦q¦¦"
16591 print"s ";left$(cr$,x1);ge$(z1);:x1=x1+len(ge$(z1))+1:return
16600 print"s";left$(cd$,17);left$(cr$,28);"°CC®qBQ BqB  Bq­CC½"
16601 print"s ";left$(cr$,x1);ge$(z1);:x1=x1+len(ge$(z1))+1:return
18000 rem sackgasse(1)
18002 print"“"left$(cd$,6)
18005 print"            _RCP£££££££££OCR_"
18010 print"       _RCE£   §         ¥   £ECR_"
18020 print"               §         ¥
18030 print"               §         ¥
18040 print"               §         ¥
18050 print"               N£££££££££M
18060 print"              N           M
18070 print"             N             M"
18080 print"            N               M"
18090 print"           N                 M"
18100 print"          N                   M"
18110 print"         N                     M"
18120 print"        N                       M"
18130 return
18200 rem geradeaus(4)
18201 ri$=ri$+"-n"
18205 print"s"left$(cd$,6)
18210 print"]]]]]]]]]]]]]]]]£PM   NO£
18220 print"]]]]]]]]]]]]]]]] §§CCC¥¥
18230 print"]]]]]]]]]]]]]]]] §§   ¥¥
18240 print"]]]]]]]]]]]]]]]] §§___¥¥
18250 print"]]]]]]]]]]]]]]]]_ºN   ML_
18255 print"]]]]]]]]]]]]]]]]]]     "
18260 return
18300 rem links(2 oder 3)
18301 ri$=ri$+"-w"
18305 print"s"left$(cd$,6)
18310 print"             _RC££"
18320 print"        _RCE£  §]]]"
18330 print"               §]]]"
18340 print"               §]]]"
18350 print"               §__]"
18360 print"               §]]]"
18370 print"               N]]]"
18380 print"              N "
18385 print"             N "
18386 print"            N "
18387 print"           N "
18388 print"          N "
18389 print"         N "
18390 return
18400 rem rechts(2 oder 3)
18401 ri$=ri$+"-e"
18405 print"s"left$(cd$,6)
18410 printleft$(cr$,24);"£CR_ "
18420 printleft$(cr$,25);"¥  £ECR_ "
18430 printleft$(cr$,25);"¥ "
18440 printleft$(cr$,25);"¥ "
18450 printleft$(cr$,22);" __¥ "
18460 printleft$(cr$,25);"¥    "
18470 fort9=25to31:printleft$(cr$,t9);"M   ":next
18480 return
19000 rem --labyrint basteln--
19001 rem --------------------
19010 forq2=1to4:x%=19:y%=0:o=49152
19020 forq1=1to350
19030 s=rnd(ti):rx%=0:ry%=0
19050 ifs<.3thens%=0:rx%=+1:rw%=2:goto19090
19060 ifs<.45thens%=1:ry%=-1:rw%=3:goto19090
19070 ifs<.75thens%=2:rx%=-1:rw%=0:goto19090
19080 s%=3:ry%=1:rw%=1
19090 ifx%+rx%>39orx%+rx%<0then19030
19100 ify%+ry%>39ory%+ry%<0then19030
19110 pokeo+x%+40*y%,peek(o+x%+40*y%)or2^s%
19120 x%=x%+rx%:y%=y%+ry%
19130 pokeo+x%+40*y%,peek(o+x%+40*y%)or2^rw%
19140 nextq1,q2
19150 p=rnd(ti)*80+50672
19160 ifpeek(p)=0then19150
19170 pokep,peek(p)or16:return
