www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - problem with pointers

reply bobef <bobef_member pathlink.com> writes:
I am writing a XML parser in D, because all the links with such libriraries are
dead. And I have the following problem. When I parse the tags I set parent to
each node (with pointer, basicly "something.parent=&somethingelse;"). When all
is done address of objects seems changed and I get Access Violation if I use
"node.parent". I tried to do the work with "cast(XMLnode*)somethingelse" instead
of "&somethingelse" but it doesnt work neither. I could't find documentation
about pointers in D and I'm stuck. Any ideas why is this?
Jan 15 2005
next sibling parent "Ben Hinkle" <ben.hinkle gmail.com> writes:
"bobef" <bobef_member pathlink.com> wrote in message 
news:csbh1t$2i0e$1 digitaldaemon.com...
I am writing a XML parser in D, because all the links with such libriraries 
are
 dead. And I have the following problem. When I parse the tags I set parent 
 to
 each node (with pointer, basicly "something.parent=&somethingelse;"). When 
 all
 is done address of objects seems changed and I get Access Violation if I 
 use
 "node.parent". I tried to do the work with "cast(XMLnode*)somethingelse" 
 instead
 of "&somethingelse" but it doesnt work neither. I could't find 
 documentation
 about pointers in D and I'm stuck. Any ideas why is this?
Assuming your nodes are class objects and not structs it will work if you remove the &. Class objects in D have reference semantics (like Java, unlike C++) so using & takes the address of the reference not the object itself. -Ben
Jan 15 2005
prev sibling next sibling parent "Manfred Nowak" <svv1999 hotmail.com> writes:
bobef wrote:
[...]
 I get Access Violation if I use "node.parent".
[...] Seems that you want to use "node.parent*". -manfred
Jan 15 2005
prev sibling parent "Miguel Ferreira Simões" <Kobold netcabo.pt> writes:
Try this! (I hope it works... I am no longer using this version)
I am going to re-design it soon.

Miguel Ferreira Simoes 


begin 666 DXml-v1.20.rar



M[K:AY\$W%865*[I?!;F<DN_;P.$]5L'IX^K2`IR;RC_L/NU\)C . 4Z"LJZ]
M,?M(PIL4S-GQ*(1T() \`)P```!S`0```I-\?=Z$LXHQ'3,7`" ```!$6&UL
M+78P+C(P7$18;6PN9&ED97!R: #PH

M_(7/)K#HU4T)X+N[NYS;1L ?85PO,&$F^A"4*]\WG2J30*>WBZP<T*D,5S?1
MOT"ZR9E+_5F5_K9 NS$N9.P\2_&;9GTVM 9B.^#AK7C"FC2;YE6>U>D^8ZW-
MU;9T() V`,P!```G! ```K4N8SC:LXHQ'3,1`" ```!$6&UL+78P+C(P7&UA
M:6XN9 #P


MIZ$)N?)W1Q/\WZ]A9&LYB!2JZO:O[ C]_P(31%2!C"]NKO/5Z/^B0O])+K7A
M#P4J
M85N9P1GE\HRY(=/NUG:GBQ&6Q..:*(8:YE)SB[5OC*V?K\!ZVE*V=)R%?Z),
M.=2^UB&WGOK.\P,;3Z1(`;6ME;05R.5AASXK#RM267?U1'F*T&ZU[%R!:FC-
MJ0)Y5I"3-)W5"S4^7TU=1G55=-9=_3Q7?.Q725J\S!,F3:-MQ4.A!FL.? 4[
MFIUG>.%4WC2+X4,4CSOUM]!Q3 SQYUW'=D6VJ5K=JL7$GV 2;KLY+<IOB?+_
M-QECA?-"UU>U8PC ]D'EYZ <_!^5#ML49C1ZB_Y2ZKR7\/C;Z,PS;HIC,$S=
MXA1UHE H]_'?1V6ST(2WE5QODOM"=""030#A`P``- D```(EUUUU&;.*,1TS
M* ` ````1%AM;"UV,"XR,%QS;W5R8V5<9'5T:6QI=&EE<UQ4<F5E7%1R964N




MNA7*^N?^.L6:4ZWU)ZU:BL"('G12G2>0R^> M7X;?Z/234<+6S!AL^LANVSV
M0+*SQ:YJ$',\\A5L]G5KA)[)V9,M,TK;0IT6MKVQ9YM77/M4O 8TN]J3?"=8

M#G8=H$L`CE)$<LHP^(AG`$N)8WQP/1730E8F]VA1HKD$CQVCS,0CMY:D6 %Q


M/ ,_:P4XNR53HNJFPP9&X>*CA>6#G9[TBH&D"!73&M%W*ZIXP%_T`)SM?V]=


M0?B(96TT,* S&(.BQ+M:OBS<I.X84&-FGP%]XQ8(,ZRN&8 _:-VM'*W_J^)/
MXG+,:+  YO!U/BA&VAGTC(9XKQ?W!/$Z8[6JAQZ><PYL9PY=7B!$\3B5`'*I
M31Y]]E[[B,^O:4GD?.X*FZH=1DZ"?/P(?KN*.$BX!4$$2\[^8,'ZR8L3AP\^
M]169T;!9JT(Y1E+SP.A%\C(J-A ;J?J$)^.\QCBQA3VXD9 XJR7D3!6AJ0O;
M%LW]=#I2
MGTFBXAC/ PG;!XS-<C]XH ZLC%M;Q87!%A:_W7,)=3,-Q;H<3H0NZ^,]QX,X
M"79%`/IWX."'R+FV_[H/_T1[=*OE(B8)\1TEQJ%RO<:BPJ/Z7[*G'<YI0'KV
MV?*F3BY>UBEKR:Z8\N)GTT*-GH5+PX._JE-C%GX!S>-YPBDE+5[OJ927"9.1
M[I<.S5]7?R-_T*V$$^L!\>3UP9YV4.3_-O6'&+8A_G /HACV&7= XL;,/8OO

M+78P+C(P7'-O=7)C95QD=71I;&ET:65S7%1R965<5')E94%T=')I8G5T92YD



MJ_.'IZ8>K+E_(6I">XK*RIIKCX'T5&03]V8:>>DI/Z/,DRB9-*<Z42$9PDYE
MQEVPDB=KH7ROGG_SJ>ZY3L>I/<OO*T( ?>BE.H\AF<]A5?AM_LYR=YPI;<&F
MSZR&\*_;`PK?&+FH0<SS )MOLZ]<)/XG;DVTUI6VA,(L;9MJSS:RN?:I?(UI
ME[$D;7W "VP3%T-1\M8*ZB:3S <4M[\_0P=ATS 2I6S""7OFZ'=9K +XFIF_



M=ZGOW!$`PMK!3BJ"K<][Z:S!%,!XJ,:S0=3?<PW(:0'%5,;$797*>,A5: $Y

ME=A >T\.A -;R><G1KK'<(>M7O31K"LRM2'6LG'U=&!T>9L=LDJ1 "R /(/L


M:>SM)_>II=1HN(Z['_ 09;SNJ)Y0`[\AEB9H[?%#X
M&I*ZJ9]ZI>.*3U)/)=);\Y=-OE2>TGE (,%6^P3<+2PL[A*,=T>/E=TQ<PG+



M[>6)T./2SXIZ^P9PHFF*`>'CO=]/A,:/[/P,OPK^5,GHQ3J&SV%3= ]?$R%!
MI]"Y<0Y^J4UJ6?$/;AW.#TDI5?+UM3UPH3D>GUPQP3N;[>=/$!_7!?3GM<)>
MIGCD_[[MOSC/L0_+I2L?HKN]$MWGC'Z9CZ".PJ /_ZC<?G3 D$8`````````
M```"`````.ZRBC$4,"$`$ ```$18;6PM=C N,C!<<V]U<F-E7&1U=&EL:71I
M97-<5')E90"PT/TA4&9TX)!!````````````` ````#OLHHQ
M6&UL+78P+C(P7'-O=7)C95QD=71I;&ET:65S`/!0''*ICW0 D$(`- (``$H$


M*-N_#WL0EJMDQQYC=+I34 WP"I5*1YQ_\YG&YX[C?,^O&U^_>'^GT8\6+B&Q

M]$ZG(4;Y!BU";3F[4U+0R267Z(?NUI89B]+=IP.8?.RU>Q-**3=1V>J[]76;
M:D3QZICU[S(W7^\4"OA!=5BDHDWX[U\5;=\YOG6:M8&PONH[E6 `;>M)H"NB
MY:_ ]H+GT0A-I$- 6H^J38FP%C8=Z:P$]!_?'U /`ZJ(#F<,4C?Y=^?QP]$)
M]H65> HI+" H`=#SM1-H</M61-](+Q('H%Q9I7,1-CK;% *'> 5"G4DR:,!Z

MAI;ANLKXI2]I6:U!+U$3?N\<3('+.;N%%[B=0+\D&FJ H]&M;2F<8'O$N*T%
MGF<T-W2KQ$S$F P=)2W >-7;;>8PCF?G5TS/-F?[[RR"*1H.MH!'+LJR1H;M
M8)[7!^[A3O%.<6ZZC7*+O]7/D<"1O0H!_A ]<\NV CB:/T??^\T`-2\#WBER

M;T)A2_4-HS__3]N!J#U
M```",I7<BKBQBC$=,R0`( ```$18;6PM=C N,C!<<V]U<F-E7&1X;6Q<6&UL
M16YT:71I97,N9 #PT
M!/" 0"7PT!QC0GF)MYMSIW.ARRT6_]M%QSIS%F$HK.A]%F[1OK!;'F)$\/3P

M1%&Y`^QHXV<'$6DV>0$SB_5GCP!I\7E'5,;TGEDSP13Q[G,TJ'3?_HQ$AR(Y
MN=QZ!)Y(I?B ?WYW(S1P99.D]!S!YPQ0:'&T-FWCQ^/O^]P&Z7 $TJF._U&1
M\9_2+05,-"WH7:82=X%\F*G+J9-ROF? H-3?WT%EVD"C:5B=%%<G>L_6R6J+



M/Y0U(*Q)G%N.NP=(L:) I]I0W^UL.D&\;)O>":EQS-0O8D>,]4HE%^"09SA(
M><1I6 8\PFJWE+?4$L"C5,'<&;=0ZMWIBG,)(L'CNZLYV,"??4,00V&Q+$U0
MA9E8R& :T("C]3_?Z*? $<X.^E:SE*36;NP\!39T&0/ <'D9(V0`;C7V/U5Q

M.;F XU2>A3<GU+C;(L*GI6ZN\\;TA.(+*NLU:RG^+:#PCEA$M*BAM4NR!+X'

M*6_4L."2Z,M&0 '!J9,E&]#BCJ



M:0%P,4NRT_4&;GJ%PR8<:F(N-O61DA+,!$/$]X^0:PA22)MKAFML^H*C0D,C


M[XQM3&^6LB]<E-ZXI&KFFQMIJ D;^NY>W>^1(O<>%=;HXX&AOIT(6] <MJ/B

M,^?P8*0_- ;1,IM$W\K]8]+]G,->)^%IA6QCU"-?$^YR`7$"[ ^6FB>#NN?)

M[2VE[%J;J9ZT^A^:S:)NNN=)71T,7%UALTV4EQYU;2TC;ZM=A0"LD'.KB[^5
MY<$7]ID2V9Y>UZ&3JU-<N;(/\<T8!SJ28'RXB-O0*[/JXTS<TN0.QJ;W**9]



MI0G3Q>(/0%0WT)5<REOWR]F%Q\ID$WB25ZXM)EVJG-)GK,]9$5JC3.27+E1%
MA)$Z<X?73O7E(IN2Y(T)4\&OG"OWQ>X-E;,KB!"9OJK;Q<1F62:V/#K;URY4


M5G=M%[47%M0A;(0[&C76MJG]L5C!^(57M5?J4..F0/M^+P>:F%QL![<I2AXU

M7F[E2P-% ST4XR7KO\91>/-8?OI/Y*WI5PPVBFLN*T;KBM=6R D+_: -6G0 
MD$H`DP0``$D+```"L/EU![BQBC$=,R4`( ```$18;6PM=C N,C!<<V]U<F-E

M<GYFLT'LWH!ANP9&PD!C(5=W3S+UW=U9?1F/"$WW:$'CZ,JJM)5=7EX\QO0 
M3]L,TNJ2I+B7.4JWQI==+IY2/ON  7$O!?O^[%O;W &WGN/JCD0\]_$LGP[(

M(;XJQ0B. YN:.5**6NS?XH1SY(Z34IZJLQU','W/0G+'$B(WJ/3^'C_5A-FC

MQ630+:5<\%E)NH(/8+*?&T/GF"E)>N.90EH+[\/&H;#I2 M=/? Y57Q<_JH^
M4"Y;+)= -J1HI5%! 6=C$-!1U21B--('Y& UH60-&8*$SUT3I4*SM 4,E<0 
MF% \JT(6<V)'G"NH3B3U.$.,V.2+D"RU0Z\2:&P\M=6Z:K"H*]."SL-0B3.J

M`L1I$2K0-><1K-ZVMRA+PN]C!XQNW8.37-1I,+*W1X\FO>A[A7[[1J5$0,*Z

MYW5DH,J<H0<3'M$Y([$U+B% 6M 96\1;1XHV/[%X'>K&BKDN91=DLC]_LEQ"
MZLTCRG$TY9UWK^6[$^,C9V36WN?-QA>,.E>BBWRH-K,/BFN<4UDD4>JE X].
MQ" [%$B9#N
M,$6P/9\84LN4LT3$3^8&5,['8^H,` R]5<#G[KE[-?&]=X(_K1'L2_OA-6S7

MVX:N?8JQO*;/)ZX`[QJ&,Z^=.,16\]$F&L2=_1 ]?_L-OX1W:YNN9.:;G6"6
MJA*:OU.HQ:.TRG6/%Y=?MJ:H_K;GND! [H.[;3*,RO[7O8(-B]%<O),!/5E 


MQQ3NQ+"5 ^8= *YE3?W,/EX5IA"U($[1T$UC3'E+%K*Q)A**=H\6D<UZ#Q.[



M_P(+`' C,/ D3]KY&<P>RBH6!!V)W1\'[21 U5WYE5835AXV%+WHUL;ZFW%L
M$ >'];WJ._9ES%\$TP"_L&XZTCVUOD5N_\2,S70 D$4`(PP``*(K```"VU.[
MQKBQBC$=,R `( ```$18;6PM=C N,C!<<V]U<F-E7&1X;6Q<6&UL3F]D92YD

M%DE-G&42 B2^C,$S_MHB3DC1)5=%FST(IM-S,WRF/&T;NJJZ[K*_+5\$'#SG
M*JQ0JO"A8L^?V_9K>;S?01YEO7?<=;66_W =]S[3:[1ZG0WB <?>6Z+B^QKG
MI-,0 #Z_W+W- -/7] ZJ$>MB*'F?Q98WG.6)MU'XQXQ-N8F$>]S ^W 8(?^(
MC</,Y B!^_#TL1G0


MCI&'DD.Y1-D$/A?$NY:;'XB3:1*(S!YTB1ABQ87XQ9NY0F78FA,AF4?!( S+
MSF28P G++$(</!; 4,MNR2 I2$?/6?Q&1Y%X]P0YBN2++ [>8UMMWKCG!%R?
MJVS"(O#S#S;KK_2/"XFQ#F2+6U.CIDVXNCA -D<<Y8UYRC$8,RDB+S\(KF!0
MV4194V*=W49MXCWR)"P N9AAP5M9ARW>G%E,%)J+[#M-<RVQ)[MBD;;0;$6)


MNZ.]+>YT,"TS!ADJDYD8:7 N-L8+NAVP1+)C3+WOT)"I WL>S!?-; [\(ZNV
M812[1A(*-=(F+\(/*%^MN$U3&E*92"/6#E 1X]D%I?E,S;*S" Y)#PRJAC[O
ML"^J+(G("7$$DXGZ< .,H(DG%IMD)HYF!(3V;MM+DK'6&GT98"6[E>S+P[$W

M^]:7H$3]1>DDW (<M AL$)&LWVCK$J.Y!B>),<.0248ET*<WI*E1M(I+0\EE


MX-_A^(,3;$ <.7A"A4*LMFRYWG^EZV/S*:](OV)I]D03(FS:)O]N>H^>XZ,Y
MX= .`9"DB!F^UX(;8B6*&Q\)D6X%&"*-J6HI&-SF8Q,,C.\&F)UT4>8==4D1
MAC..8#F
MC_5'`^UU^*-L!>[IZO.GFDR; PY=;2X F&- Z\ &!EQL9V(2J,#G[%5.19Z<

M!E (2/V; H,61Y9U#A
MS[PE>CNM!4#A,&U5]H GX4T!X#Y

M.5?6F=,'!+6[E^L=Z<4SGL"0=5>9/-VYH7 '`19%1%[9:Z4<.'-'Y!O(WB ;
MSY8X[ PNP=ZB1F+J1KE?"IFF: =L^57HK1EC!1<T*J^TW5(%"LL.!)5&0IE9
M>:.]H7G"ZI%*EU  ;L+,"T=;TA(MCQ;HHJ96G=(Z'Y1T$MRM=-G8.41D[*.I



M3E `Y*X]1HQ(B"=FEUH5IQTOH<H"X<9K[1N2MA;58E:H8YD9`=UJQW\D`3_D

MS?37-C(WYS$6U=H\',9P&>95H\I_C+K=FQZ?4*MDX]E[_MBXOK_0"W.9?&ZE

MC/-1I$JF5G=S%(>SSN3Q,B4Q4' 0-\?*AB>KD?3:<%P0, *3T)P$RE/(&$MN
M!"NU(V\%<'R^5 Z/^A#P.
M5072S+SJ<YMS?&9?Q()0/$M//,;.8E.4^/N%9 4%<1\M!MFUIVSCYS)_\*E]
M0-^2,K=,GS/MLD ;<!5<I(05_ .,J4=UA/3S34TGPC9$'^HKE1TD7ABQ/**>
M0 :OJK9K:-JKJEA25^(8D)0G"]]DY&LTK!452":-X9(CF%T9[G%<%;L<9;(>

M9O<FXX$8(UYB4H_CICA;5S7.RQ3'7W6 ,M%XFCF:IP<\DBH=0[SN8>D;_.S5

M!QJBLR9K2K5[0- 6H)U6*LXM?C[#J7M3Q9I*Z&O2>+N8W8Q^(B"?!A^^+8H0
M-3;JJNW5=G-8O,!2^'P^1MD9Y6U>K<_DE!D0U,6LTF06Z4UQIO&A/]4SCJXP
MJ(5$<,\_.BY322G-&\3,H9%ZGZR935EPE:#TY;Q0(:&6_6,]-E2:&ODJ/IFR



M'K K7_XZ9-:ME/BA?>],P*[9D]A3_;U;;<)JTJLS$69 [/SC"E$6J'0:UO0:


MG9T TV-!/I->&<L!.K5^QN:3U3QJ_DPQ=*VQQ*V5-RVUH;$C^[G0>**<7YW=
M4$T!/BXD44\5OVCD3N7Y6&E%9%?VI"6(4G[,Z*R>!H+FE.F;3]36U-K3+[$P
M_R8Y&*)5E#Z.-
M%ZY[ QBF[]WF'Y6.+S3ZRHNE.AG]2:C_.$/I3L$[FUDO?/BX((*KZ.J+-5T?
MR&<_W C7G'5NKTNC*N8X\A]+SSG7)JS18&\_IU2F3ABB4L$#ZC'6J86867:L

M"0)[DH/V/_#VG(.,PIMLRK"R8-L\^V%M5B%24"NL,'H.$KV8+=LCHKIP$!A&
M'S3U)5$!FEZ3`1.8>4.FZ2%U0^?&EL,7+% 7'QN]R&[&.N3Y+/Z(?/UQ`A1=

M*"E>TQG21:9/.SH4>E(:[H<V<;%YLG$#TKNDB?1,CQ:9/5Z8,UKVX[N3ASLZ
M,)\_JRQTK-"$$/RA!Y6P;UD%=NI!16006Z<#JRC.
MIAM85]CXUQ ;/RQ%G*TY [,RDZK'YM[LO28).#Z)"-G'2FVXU!Z'8V/CLXU5
MFLB$)?*_"*_?QAMK\1PJ0^TYS,)H[$KG"$ZM<*G((J.AO >*^_FI]T:)^9/T
M3Q$,M0OBN74J6=#QNQCW^T\J^B^(1%ILV(IJ-(0!7I-4_7H0_C05T]$I 111
M_[&.H0C_^:W:=""01P`C! `` P\```(F5K+UN+&*,1TS( ` ````1%AM;"UV
M,"XR,%QS;W5R8V5<9'AM;%Q8;6Q3=')E86TN9 #P
M ^];*C4+X+>BR*.!RRR 3H $$DHE` 8 *)U)&P\(/ DU()?=J+6XVENDYP:2


M6E,*/W5A8\$SJ/;!%(F<U0_X0-[LT$Z)Y,E&AU1T!]RS29X'TOHX'9_#J_!A
M1H `16JAV/2A/3K]8JBKA4N*6&!)N^',7%'1I<1Z8T1R*-5?JH<B&H!6UK&Z

MYL X #UUV1
MAI?%R'JAXEH/5<UI.RA'+SM ,>?"'$,;A7($E*!U\4DQ ZUU;GHK*QTZ\%'6
M:E,.E4YZ<?])>H'CT9A;<,,F 6+,D5YXAKQ[(=,-Y'$>X%U;D&52]R1B(JU%

M-+X(*9GE(892<QD&K* E'6_JZJ?(%9T'<I>S'*+:;NX\8KNM!D']QP_R<,V 
M`,#W^NZ;(P4&*3. *-16/*1.AJE;0,'L-P2EVED#D-
M7+;C<0J%6,&=T:G12KL7VMI]R>Q+OT80IU>WV!Z.G5)1> F&S <CG"D 6V]=

M_(]3$%%SY?F?? %VW8; (,/CIWOC79VL\+%P!H5IT6S.J'E2-$0A:*#YG9<H
M(;,5MP2P\=.3(F8-I[-574Q$YLB+;1([8L3T[>34`K%A0?Y(KQ_6`N:.L(04

MSDO&A"2C2&)Q1V3T$^?9AA_B*4:)#H,($2NX?'_:S7U*X!=H-+N5N?2 )T^-
M'D<[#RX"/^C/5A3K]M0Z-"4QBK3X"!!<L7,EIQAC!0D7*]E7SY"WT%("WA'\

MYA&PZ*4]+B+R8ML?_'-$F<IEO4S3#U(LXP'Z*N_<.*!;YOAT=0UWJS8CI6Q1


MR6N ?,C].3Q<N 2ILZP;*J BV5=:NS)1S7 &ZE<KTCRKUW4Y'+:"4K9B3EDH

MJZ7 A/PP6VG[E R0[6%V%U?[Y>*FQ>U&BF:/9<KZ3.19V,%MAU?36!;B-VD-
MO,%5;5H?-ZPZ ..5%62Z"FNO8_?F "RF4'+;W%9K)( +K9LJQ%:YA(,[3$2L
M2H5!, )6]%H6"M &A'AY&*;3(; LLWMV5"+4<Z6MC)Q'L )PU--P,)+??%A)
M/A>*4XX R:=&"\X8>UZ$SOMX-TP'#S77;.44X>OY[-OF+T=>O.AUE\'DX/&?

M[8 6<RR<+7=G/I$-0-1AQ,AV2RE6ET,?,W_PYQKSR//8#GZ<;^9XV2-HQ7%;
MIT,\D#Z-D7
M!>] [VOA9UM]'=FY1BN5 N=V7J2'ZP+\^YU+_N#K'0-G2&/Z]EWSR6=-N2Q0



M=."0- ````````````(`````[K**,10P$0`0````1%AM;"UV,"XR,%QS;W5R
M8V4`L-"*"1'H=""0. "_````9P$```)0HD/NE+"*,1TS%0` ````1%AM;"UV


MDZ1ERYABF3(J4Z>56"B0YQQQ8L,.." 2V0A>4BJ3PK+B]>O;JW\-VP20K"T$
MZE5G`M 3T6* :Z PV.!,Y^S3BT6DYW6WH:S P_^>N]0O<;!Y%)%\*Z5*%(/P
M$:"]EF)>H+%]P%\;K=SEWWVSF0$=-%K,K-%D:1G?W;T6=""0. "3````]0``

ME0S,_9 1-]"\'8]%UR.IS9'+.+(CA1A&W!N%+WRA9IOX*VQNCX0M269Y8)<B
M\L$9F"!:/;/O<&1CW7H3MFYZFLP*%O,I,V9-2IG7UA?DI1<>G' AS6[$$/9S
ML^&$],#E
M7K?^23#Q&BI!_PA9/G3 D"\````````````"`````.ZSBC$4, H`$ ```$18
4;6PM=C N,C `L/#N`<0]>P! !P``
`
end
Jan 15 2005