'===========================================================================
' Subject: STACK EXAMPLE                      Date: 10-23-98 (20:44)       
'  Author: Thomas Laguzzi                     Code: QB, QBasic, PDS        
'  Origin: laguzzi@mail.dada.it             Packet: ALGOR.ABC
'===========================================================================
DEFINT A-Z:DIM SHARED K,S,B&,Z&:V1 'Created by PostIt! 7.2
SUB V1:OPEN "O",1,"STACK.ZIP",4^6:Z&=6117:?STRING$(50,177);
U"%up()%9%'%I-%dG.rJ6,'Ow>-.%%+;%%%.%%%%xy%fhpS[ith.h'>B[d[8NHO1X
U"0^&S(_.kFZAPQ4Es<47ABq#^g(8<t%Q/M71*M.I$Sqscu,4,a:IIf2c<v^'2ntZ
U"LwXda%/b\#q)\?kJIMxaC3_A22h3GIx_PBO:B9tn)^B,'2[lUPhd''L=W(MPN(y
U"dHWw\phqr1Ynf=8SAp-j*>4NCDJA/%417i&ndM2kb*=5K4a-3z&t+Cx_oCmSFjC
U":>2C/=sTaz:Cup[DhXat4<\db=D#Nf94b6$'e[283/A1-3B.9hG)08d*lL_zNrm
U"I';B$bP+E95a9<72;Q32Ge8&xBJXH183^GHJ$n+hAOoW8%76^?'U+V'^AnoA0&1
U"#COi.AI4Wgn:p%<a\,iU=9gQ)QFfLyjE?;.3j(cfN'*d:-j1KgTc]gUhf8;cF3:
U"qfA(Nc8ob0RxrZ^4&0?(Ohj7KGH\%:p5tH2\+f<_CDcV?+Yl?mFXcbOKFn&+0Y$
U"CAvrLGE)3npPX/:$9K86jULw8:S<EI#)Y[rzks+4.DQ9i=b24,L#aH*.3$(]Kd[
U"Wa;,qo;O,YA%OC.qacQZCa^2[t%;FIv/2$=aYHK_CzJS(T_?gP$S1VB=$4[7)E8
U"(gVmHS8XIx#YA=<=]F,b;5-W.5iVR^N3'W-%nIQ)L$bRSVW;a0VNEEY9=SUC+3x
U"-y%+[jB(][2?:wR0LElY79^H<h?BN/sDV%a-niS9ZnRs6aoHwEiv$7.a(+?w&<H
U"v]bgj%B&vi$*o2W8SIH)]t4T'+iP3Hd]);*Srwyg61X6W&-4dOP(q&XYjiYL_mV
U"MazB4Hs1h8'_^&=d3M.QcS+h8uSrG*[e[1c>l)QH:B]4T8Z\\X$Q$<ZY?wmxOhi
U"xNu^$[B7?AQ$W6mSDpo-Jr/B4X;5dqCkuHL;+_-]j98akl2$9VuVOCq$5xm#.P7
U"7%eC*Z9&-<j4]99'&Uou<.o=i%nKi1U)v-\;hUlFSftaXS/3:+I=63k*Ay:tjEC
U"XPf^P.GmU0t;jn2b,ekq5lY[k+RIKK_rGMr#9r6bL,,=(kqdvkdZdCrfQ\#jFKQ
U"s?Xi<Fd^i-ib0YsNVoO$%1btKm>i,bIx-FLXINQ9_N6djgls^;wIm+Xlfr?QE/+
U"Q/Hwfii*[HB3=\:p9_G3S-]lJ5*&ET^>B(nnYoNCHMm?NS28MktXRdgFS>7-u*-
U"PvNhfo9^Qq4nqpeqh)PnNjF(R.go:Os6'5\6no)?27&Vvk3ZDE4E>&4yT/&2Fri
U")r:8GneX3S_;p/Ph9J>paZ1M+EpA(qp26'HhYDw'SdTl6;w:\?uO_qc*-D)&\\a
U";<:o;1a3,hU(XGf>8B/agBbpNu9>XB*d9Rd9UaNfoeUm)QEiOWqhYp1?D#qUg<?
U"VVV:r5$kACT%fTa'KYnFkQK==fReCJ5Wp]qRLD]gnu12pT\:I0:cF3u6DD\6G#^
U"P%I\Z<Y0]\$93SE1:;\-,f'n4XZ-M%c-\dOn9jt?aRWo&)0rO\Q]%8NDUV)AVLR
U"*[InEFo)Ex^bg/[D/Mk1rAH4%VDEZ5-gnE$\9OOv-9$tZQ%0P%5\klJP<]QCs^H
U"i\ttoZ7bTvK0RG[-/R2cgf+prq%nJ3PgYF)^#IPIOg0;,XZGTrBoxYN<+/-VYq6
U"R]*os+bGR/c4jYVN*o4jK#kTa./$bS\Z71VKNs,hrNri;K8[=w)d9MJZGL.o,ZU
U"-=QALoz%UU_bgS.mPSdVd)k5_yEjeU5iTX>xw%D0\<);O0sn>fbdH:Y*uQp:46I
U"BEuKhnfGG>iDBfd(5&4z+eq]R?/sfNYS#*7z3i3Z:b_CXg=Ic#,Nhp#0oMq2UsA
U"^K^(T92ipB^>[8eJ9HB?>zR;>HM9ca$2wa7-zYO4=B$rEk-sg6/rVS=x:FWnQPT
U"0>AvA<_u:1[^Ze\^wqykJE$/>iQ48ldNXSj5&#Iqr(2sr2PMoVlH$GENcpu#jF&
U">mog'#]pgbN5L+ydx/J:#rqQ^qE)%.4sPZ:8L8Rvup=HLn-]wJgHIIoAZd2;mn?
U"iiHsAA[=&dP<rWC59aa$>82GmTSZ[S9W3iH9B=E]I:#xWjXXH,_GrEd>'H3]e4L
U"1/7498<e#O.[_fL'T6aXHG4wh\a]5=pVgXf[*oVJcj,v0H8^5[%df3E0:3F/4PN
U"QD)0oV.%7a?ca7BG;Z_z]v3H&cavZK+]7^R*)GJ.>,>Qa_:zBiFBpQk?.JnR&Mq
U"3c2t[RACmIJr:$FGYi^qq]vs.Ft<Jgone*=ZtR2:XiLUs#?#vNX%/K3Gc'YfCn3
U"w'4Pr;u%]9KJAjo>aXwlMT8w32d\B<Y5&STsQgYxh94se)*DHcv&H>P;C5LPIi$
U"*#,]KsG=$D,F>3\O>6Lsk-^Oc)15[8*f3&Vi0_D3p6Kj>2lRq5)g_>PG%\(.W6v
U"b;caT<9DbJwN$\*a+X#iEMat>_#gr\VL0p'Y_TpPC,'3h,PaqCTSPfCohiz8QDO
U"-Iz=p;M.hske\dJIc_W&]^1M]Lbzd,<bW\$hOA]qikwFYFXF[uoV6/z%HgRRI'<
U"[K$-7G#n\6TN/o?UNY%w+y*ruSgu=1B_03$=5TUekfoZ>.7'PX*w]qI1\eSCXmU
U"A7d=.ROq&zLQ?PB0&)_Jw:+T9gBO9](R.t+<a*:1S_tGxgi6V:fTVn8oN%up()%
U"9%'%7-%qu7kJ9b./Ht*.%%Y#%%%.%%%%xy%fhpS[gfxf_(<t[8'9ws*;N]O5[)r
U"M[R_8+7I0-]/3=/NW3jv%?)cFeFpSGrW8MHL$bJpd?cGGKnb=^WilkBHEDB4vRz
U"vtr]gq*fT3,vdPpTizaT8g&&-SNF<JCda#1r<9a\3rmQ>Cwu7%YPKo_bMq5.6a'
U"(>(9eVNr.FA8[uBD4o2BB4cm$4POEfT^/C^sgk:n'1dDs9?U.[-uuoIkW)kT4]C
U"cx6pW4oE2V,hSA1%iISA;&ez1$3HW1t+8%SnL_2<3%.5?H[byI&bf[7]b^'W.K(
U"TZL<ABe\XTb?pUEfkYtb^)g#eh*4qF*-tG\Q'H\EJ'z2,jaHXG.&*vdUj]?L(jC
U"D(aNE3LaqH1DhODfiOIr42S%/loU,q6Jv$3HqQNZTo081b#N82CKl;uY<O/s+cc
U"U?9TFaj.L3(>%^+d4huYBS;TOV9tgl<;d?WOPYCOZo;i)Eu0DZ1Iw7hxY=9/0dL
U"aUnZ.o<s+O]3(Hv>MtuqA?hb,Wd3NUX:Xr\o'?0s-&WES,YxU;h<G?VXrte;H0T
U"Zei3rJ[1XpB+.Z(:rek,CR[ZsqDK^&g3&8Y?2ke*2Fr+#dG*+xh'bN9IV/$[PS4
U"Mcf.+PdmPbf3Q2F<^w^AdzSfr5zN&1+nJze$aVVi?t43#_;CNsQtO)0TMt[q]x7
U")CNgl^i&EgVER?a65%>0&81vfu;D]aVDSFJxqFaU3Z1ui$l4<=%1L\IP+QiQu1l
U"x.7CuA_/'VV_7Vud*zaH\J2_m[FcbLA\heE+_9$._$V^/144667q3o'32P/q$DP
U")g]/\IJ?TnMXYoaU&u*Z<jmc_)e4wm3-(ep,RB1-8iAnKiP2t_cX'_E^L?BXgQf
U"QdOlcwEe-S\NFd$eq'ptBPZ-f*z/z3'_ssx;<\qb(&F2=JVb.ZA_Sny8lbCYyQi
U"jcw*\7d/dGF;rV+>[RPBV3_t5\(1sX*f.+bi(\C;1D=Hr=gj4_r(2(GsAo]i%)1
U"N4hWS90>wYSZ^a+d6-=x:7^O3JjJ0iZ#R;T7oc:gVVC6qp<_pcvgTvysi2U_b\K
U";ec+vPxVfiCin#bLnp5b]CPOwqs%7KKtI%vX9s(Lnz5>YWg.3qPu()w0DI)4RID
U"LI6R3jDMygLnZk.+%2e&c]u'-9k0IO:uOOdmT%c.SY9Zq#m6SZa9Zh%U-prxR('
U"$Vdf&hfu?hgQ5??b^n>w%FLUz;=*cSk8WWccpAuMckc+g]K4y(#DYy,R3?O_V0U
U"19p_[$WAeJFmKhe/AKa$D<z(&>ld#P\#BeokIJrKoceBpi-(jLvJj\2^YE#KxVO
U"$Y+I=6BrcoXT$(3\tiWL;1t1Ll21XsLbx^.ot$D<]fJPST+p)5S4f*OB4&)?X<n
U"vPa0ki8litxHxHY?+=AC%fCjUOuV37)x.79p+\WYmLP9Ox#[O1S+lEK=A0^t/Y&
U"a]m9(1W)&v'ubq58X9?#hYHy=%hbp:K>LbbWn]Y4BrNciYu=#^=a/BwkNMP%liR
U"d%4RstkYnK,>X>PTB]>]EhkM*jEpWj57OnGv.oX-$XIaiI*_YSN$3/$c5/s'0oY
U"J<uFCG=:X3qqm\*\uiHg<W'w;-T6Qj7_VU#&$JSD%PU*3b0ITdQaa#VFs=]YkQZ
U"b5>]Xa3ltw=5=bRX_L[<lM<KSLLtj51rMtbiFq>L+?T/e[O)hSW1(FGkP;G\Hqf
U"GVs2i%gwsZXkDk(\zggF\^rX6sW*r=iLvu;1x)7&;2WhxCZ8$5Nx')#rTtXcPTb
U"8D3q6=Mo35YBA^R<wfEo*w:Ns8o=RgV>4N#Po#u%pA1Hr<aISq.Ti?qOG$;5s2e
U"ZI/)4V;Iov3Q4:[WX8$ux+%up()%9%'%I-%7GdrJ>D7X*p-.%%2=%%%.%%%%xy%
U"fhpS#myrt2(:B?7^;vs=:xZ+VVO0;4A)ln05[(C'fe2&s+ieeFlJRRZCvSeKS)&
U"MHuUPD9LrEHFX\yoh*^rtcK6l[9/\t_\7;00UbzNt3h(N[$)ix>feLG'ZPW8V;=
U"/#C'p:xGliZ-1Zuo;[c;Z<bl5owtgd7Nbe[+rBk,bsl5mwdYJAB)RWwfZ,o#?G%
U"TBve-Dl5JRLnq%J//fJYib)b4G:VW8?WG3.WcsxtU\:/10.1q#kcE7JP<GeP]#I
U"1Q1GMH6'3(dKkJ_*$h.h?lil>*IVj'pF%J4$yG?\?olxI:F/03z.Uz9g96667ZY
U"^&p.^cfgj$uQ479<H)(_.yM/9BE#esKux*&W]>uN_$MZYTvM=4rtlXZq&Fsu)HY
U"p)EFYbg#Fv.TT[ZDR(SvYPQA/O;)A1=DO+.4^TbV8Hs:/%(puemS/EB#0.RpS<-
U"BiZ,BP=RiHpq6)+PU/7;6leI/TEhW[W\RKi:^KB_?i+p?&)*GLGFeQU:M/3>Q%E
U"(*wfDH#=vSQ33:_A#=+$GaiMmOvoDW-9:H]#qV9?ek0o6ZZLer%90C>kLiN.+&l
U"ZotG3<e9FfYT3+$&,dksT8n?^U4m&+.8#]D,wcgHrfs+ju9NM^V%:z$AprqHPQH
U"6WWUZ.PSa+u>M^pJft:L3jrN.C(Yx[TiN$K;:9,1QojueCtm:pa%]9<#'>=/%6F
U"^Pbaldh?,A)Ei<\Er1b3B+-ihiJWrgo)ROj6M*bJD7qr>0gTvL1FClB+pceDuI9
U")oOE?w0,%S:)FM^C]xIf$%6S)(w\+vh>QaVCBU#3Yj:8qHOe2QZ]te0d>B<EK2W
U"Lph4=.eM_FHS<e<.rJbI''dP;:u5MYYW1%?,^3?#JT[Eh1uMTD6xSWuXThb7tcH
U"L8mBH/xQ7\oC%05E*>Gks3?)hVgHvtTPFYonD&HuO?e#zuYIY?r#3.j>[?/WYxF
U"wSmKBQqI*)1zHK<rM=SNtp^)lttm_6l\%^LG'rKF-sORZWmedQI]k#E=<F#_NkA
U"o-vph+-2wLOn,C-nPV8::ObtfN=GQNfT:c_p>^?iz^cUTlgTJq4ZR;]qKdngIX-
U"uQje2gx79J^S69H'LN61[8$N\3hSLeCHO&6;.k1JUa;]^D,$IHUtFBEg_4'cG4;
U"3,f/TP(=;tVb+*_pq/rU-%LTIAT88Daw9N6oc1Av]>wvc+[IIir&'a$iXp3.<Sl
U"'z^GpMbkA$[3kB[g[TZ+:b#vxRTrE;tZ%8yNDV*h5v,3E4D,pSZtT8e.2\mce.V
U"<m'p'S_Za\V5QL%/+P6QFANikB\z3Z?K*)4k>m1_d)Wp+VN$N>paB<K%T*Egs_J
U"3a;pS0kXkLe/:?WjS=?HtX[nhXX,Jj+ES$-DRvhKKS8I5<mx5baUP&8p?]f_rgw
U"9Ao#IIIiAY.D0gn=,r--jX7b4Y+u5h44(;ccNy:Ff37%RNc5fS)SQhuH8Q9^u,w
U"&mG<0qu18i1Q-CM\E1Xm#'laYAS]=_+3sEWr#Xcm;p<-Rg;;9wUv,B$.R?,e7*u
U"Hu#QTy:mHj=JN27a(^9rgNfl_=*/kQs<,vJ^>Wg2PLIb>ABs8DI]IlAkjI$kRN-
U"toRL-5W%9LyjlY*/oFi-Ek$L1,w*w?O+Yc#VBBgavePZ*jBCjf1D$Q4T:iqog?P
U"PU>ab*+W#ZyAUMDu:?XgbX(<9D&/pGnorrtY5VqomE?1frkc+SLB\6tRB>:w6/O
U"y(IA]C_3i,P^iim-BAda_#oBmp\Z>IL/rDR86[hNwutqsK3Zi=22Sn[I_;KkZpu
U"QJ=XoeiUrPamT)hpM);g_z,qY=L(:ArLl^r6tSGTV%AAwms6dF5:%&Zf\Eejk7N
U"K8WVP/,:aM[)Fm*BS=_-hDMUl(N7Yq\$%-rGp8F0sHk\hYUBG9?9.=M=s/WY[J.
U"LzXV)pzq?Iz)8eTUKIN>ch)>_LSzu;^Fmq3gKVTOLm1KVAQ(>laNgns277Nc(?G
U"2-;7$vJj9c;Lf^;dJkR3ethnu'*9bU;.NOrMm5PXN0Xh49DXTUH<Kt5h:_p=]p)
U"^Je;(:e:[0BoMq.20C$CvuJ_>[;.Sb(maKr02l9Y,9oi&%r;;;a0CN$sLI1<:8O
U"/)E2R&wq]O3HnF(k)<=*.uQ/zTK'Z5(Pn;0*mDlDExq4wXQ\^6gAZm:8PY7Wb,*
U"5M[OEdDOix10t=7K6gp9^n3ZzkZZGL?HAHpqKhseHO)Q^YVR66nGIkSSv(ZG9SY
U"tIG/e)Q[?]O5o31jH0.'gl8==bE?4^X7rZ_s]88pIhM=&*5l[]P5MLesdkZ\oXM
U"FM_X3X-G$uT4Bg>AHb8Q$MSrxtGTQR7MNgbB0ID)n%0F35PswE6hB2Fli^*2^23
U"fv%#dYZ-=\J=q[yHMVTYZohFY(^Ippu4d6(-50YiwK5il_\I5GLmZ#=en.V3;EU
U"9F(D?&>KJflZejMpm5vS,v_Aq$O_3J)#EId9U#G='?v=EY6EQ)*XfawAc((,'Ku
U"2K=JPuc#2^qA=W]UFl,#pRE;Ph$LqSD9:S4mUALtGp[oZA2WKr)2n&6RJ0P8Cpk
U"G32O?OVH[[FB\#bi^?'S7P9sqZh_$J=kZTiVFr%bhWDb8Jp3U))/ZUNPHixE>Z*
U"fPiq54\/?iJ8)tM^.;2t^,V%&7DhD5&,mByV:s6w_&0Zse(<kPKoA->;RO71j'6
U"20ZU8b5W;J_%ofNao_g-Qd8/0zpV>RIgOa;5ZqgyO3YcjN72:s]L2mlXd?p%u,n
U"CN\GGICPBO=/*c-34'?'3-\>]dX^ebP*ecV[F20JL-Q7PfoT9_CU^Ra&QmXu$s1
U"fl6^UQCq*RF)AzkjfJ3(L6->uLnojUY1S/99gIj=%1hB+rX1'OE+^vU9MX.eu,#
U"Bx:Lq3wZj\fxQNNX.+,fMdLsSg13o8.'EtO(_vT%d&up%&'9%%9%'%I-%dG.rJ6
U",'Ow>-.%%+;%%%.%%%%%%%%%&%RE%/P%%%%%%xyfh%pSit%hup&%'9%9%%'%-+%
U"quk+J9b/(Ht*%(%Y#%%%.%%%%%%%%%&%E4%/Pe%-%%x%yfhp%Sgfx%up&'%9%9%
U"%'%-%)7GrJ,>DX*'p-%%&2=%%%.%%%%%%%%%&%E%*/P13%%%xy%fhpS%myru%p*
U"+%%%%%(#%(%t%%%%O%<%%%%%
END SUB
CLOSE:IF S=228AND B&=Z&THEN?" :) Ok!"ELSE?" :( Bad!
SUB U(A$):FOR A=1TO LEN(A$):C=ASC(MID$(A$,A))-37:IF C<0THEN C=91+C*32
IF K<4THEN K=C+243ELSE?#1,CHR$(C+(K MOD 3)*86);:K=K\3:B&=B&+1
S=(S+C)AND 255:NEXT:LOCATE,1:?STRING$(B&*50\Z&,219);:END SUB
