)_ % F 1H@ qL: LL?I͍Ѝ3pPJMNOTS^]poqlrosotouovowoxoyozo{o|o}o~ookjihgfeoodcba`_]]\[oooZYXQooooooooooWVooUSooooooooooSSSonnnooooooffooQSSSoo   \cd! "#%$&$*),+-+.'/(1234o5o6o7o:n;9=<?>@>A(B'CDSFSGSHIJKLMNSPSQSRSTSUSWVXVYVZV[V\8] _\`acbcdd e f\g]hkjikim onpnqrstuvwdxdydzd{d|e}e~eelllo>>__o+$<)o>lniVVSSS>SoSSooooooo __nnnSS$$ ) + +  <>>SSSSSSVV V!V"V#i$i%n&n')o*(,+-+/.102043658o97:;<=>?@dAdBdCdDdEeFeGeHeIJKLMNOPQRSTUVWXYZ[\\]\_^`^a^cbedgfihkjmlonqprstouovSwSxSyjz{\|h}f~7V0+(.+>nldpn^^i)35b$<ooSSoo nnnoooSSoo YYTextWriterUnionListArraysal_itools Libsal_binpow Libsal_mint Libsal_random Libsal_int Libsal_pointer Libsal_fltcat Libsal_ftools Libsal_sfloat Libsal_dfloat Libsal_lincomb Libsal_complex Libsal_data Libsal_lstruc Libsal_fstruc Libsal_bdata Libsal_bstruc Libsal_ddata Libsal_list Libsal_parray Libsal_array Libsal_pkarray Libsal_barray Libsal_ckarray Libsal_string Libsal_table Libsal_kntry Libsal_hash Libsal_set Libsal_stream Libsal_memblk Libsal_ckmembk Libsal_slist Libsal_sset Libsal_sortas Libsal_cklist Libsal_gmptls Libsal_intgmp Libsal_fltgmp Libsal_timer Libsal_file Libsal_cmdline Libsal_agat Libsal_version Librtexns Libsal_bsearch Libsal_segment Libsal_intcat Libsal_oarith Libsal_arith Libsal_base Libsal_bstream Libsal_tstream Libsal_serial Libsal_otype Libsal_itype Libsal_htype Libsal_byte Libsal_order Libsal_torder Libsal_char Libsal_partial Libsal_manip Libsal_copy Libsal_bool Libaldorlibsal_lang Libsal_gener LibRandomNumberGeneratorMachineIntegerString<<randomGeneratorbytesmod*binaryNthRootprintscan0+-zero?1*^one?<>coercemachinedividequointegerprevbinarySearchBinarySearchT%~BooleanIntegerTypeToolsIntegerSegment%%copycopy!empty?free!=TotallyOrderedTypeHashType~=MachinehashOutputTypefindAllPrimitiveTypemember?#generatoraSerializableTypeInputTypeequal?bracketg<=next..applyxnfirstIndexset!ytlengthemptynewTextReaderBinaryReaderBinaryWriterlinearSearchstartmapfmap!>=maxminsort!arrayPrimitiveArraydataresize!Reppstringremoveremove!removeAllremoveAll!insertinsert!findappend!consdelete!firstrestreversereverse!setFirst!setRest!flush!->stderrstdouttextWriterCharacterwrite!sal_itools.ao sal_binpow.ao sal_mint.ao sal_random.ao sal_int.ao sal_pointer.aosal_fltcat.aosal_ftools.aosal_sfloat.aosal_dfloat.aosal_lincomb.aosal_complex.aosal_data.aosal_lstruc.aosal_fstruc.aosal_bdata.aosal_bstruc.aosal_ddata.aosal_list.aosal_parray.aosal_array.aosal_pkarray.aosal_barray.aosal_ckarray.ao sal_string.ao!sal_table.ao"sal_kntry.ao#sal_hash.ao$sal_set.ao%sal_stream.ao&sal_memblk.ao'sal_ckmembk.ao(sal_slist.ao)sal_sset.ao*sal_sortas.ao+sal_cklist.ao,sal_gmptls.ao-sal_intgmp.ao.sal_fltgmp.ao/sal_timer.ao0sal_file.ao1sal_cmdline.ao2sal_agat.ao3sal_version.ao4rtexns.ao5sal_bsearch.ao6sal_segment.ao7sal_intcat.ao8sal_oarith.ao9sal_arith.ao:sal_base.ao;sal_bstream.ao<sal_tstream.ao=sal_serial.ao>sal_otype.ao?sal_itype.ao@sal_htype.aoAsal_byte.aoBsal_order.aoCsal_torder.aoDsal_char.aoEsal_partial.aoFsal_manip.aoGsal_copy.aoHsal_bool.aoIlibaldor.alKsal_lang.aoLsal_gener.aogj1x2:1-&<Vj$P lm Q R p6T)m5׈\:n5o5*&p5w7q5j'r7s7S9t89u8b v9vf20w9x:ryCE-zB{H6 |@ }?4A1~>S"+=# 7 .7i.7i57 +7w 7(>7Bg*(:BU;:n-:|:%Q?Bg*(9vz'9&##9s79919Rr)9"9Rr)9RkD ., 9$;',fR=2> :%:U 0G '2G I0h,*  7 H$5vp5)Ɣ1; <Vj$>h,*K9="qG(GMGQf/H2D,5D!Dq!H( Hy` HFnK^˴7Le@v<,lNC;(} @u*?:@:@KۿK%K{Ky::+:8 - >4VI>s> 2F@v<,::+>4VIL,^L#N? -  6 Cv6 =# =u4?a>?`68cm^"Bg*(7 .!6K#64'$z>%(4*tv.i1/%P0b(24K;d'5Kʩ6:;d'7:z'(8oI':=J(;:ܾ(=HA)[P(B(C?`68E<mG]%H:+M=u4O;(K:Qc9S;U%U?\pd ]p^#3e6%9l׾+mk5v:+xlNB43Cv6Mgz z&%Qh:MI 9W"7̅"r"8f&_7""(I0 iH7Y9 /0a#C.6C.6Bg*(:ʮb !:  !: }C7=q5=?3p(\Y Z>h,*:ʮbU&^ F$<Ȋ-<x:MI  -  K.؛9ǗqG(f/@v<,:+>4VIc?`68:+=u4' )*8ď?:+A-QB43XCv6[ 4]B&a`;eB&i 4k 4m 4q`;t"/u5vq3wUT@ xy?z{l|?}n#~^y==T2|?|?|?|?m27+)g9-XJ2/NCd?Ml*lMl*.u|Ml*Cd?|?|?|?/lPl 5h&>8,?:}g4:d9:J' <7~K=<dL<dL<:<Y<%/<;!<hYW7<hYW7<}4<]*<㯑"<D9 M mnnopopnnrstuvwxyz{|}~nxx xrstuvwyz{|}~ x}~x}~PQxrstuvwyz{|}~ Qx}~x}~R$|x~}yz|x~}yz~~ ~ ~I x}~{|xxxxxx|| ||x~#$$$%#|xx~"&xrstuvwyz{|}~) x}~x}~ ("*'+"&x}~{|-.&("&1 3  yzx}~6789:66yzx   }~x54;xrstuvwyz{|}~? x}~x}~==>x}~{|@ADxCE= ;G3Grstuvwxyz{|}~J  x}~x}~=>LC 3''xrstuvwyz{|}~K O((NP'(Q5=>CSC 3.. O// 500UVW./0X5 Z[\54567 ^88_3:yzx}~6789:66:a4567:cZd\ OAA 5BBfgABh3E}}jk}OmnSpnqpx}tuutuv  x}swx}~{|xrstuvwyz{|}~{ x}~x}~yzsx|swz~| 5\\ 3]] O^^\]^x}~{|O5Grstuvwxyz{|}~ ssww55 ll 3mm3zzzxxzyyyy53O33 O33O33O35533|x~}yz;$)+1<>CDHIKMNRVYinqvw|   ,|x~}yz    (|x~}yz    |x~#$$$%#& (&.&D=L=> \c\x}tuutuvwyzwzxx))))yzxyzx x888xrstuvwyz{|}~ x}~x}~88888888888888x}~{|88t8u|x~})yzI   !#%'(+.0357:?@EIMQRUXY\^`bdfhjlnpr   9vwxyz{|}~ t8u|x~})yz          t8u|x~})yz   4567 456722 ! "$#%()*(+', -/ 1 32451.0&78 :7?       <= >@?ADCE FHGIBKe  "39KL[_``__`abbcdfghh"qrstu|~}~~~~~~~hhhhh SSSYT:;<=>E~F~G~H~M~N~O~P~SSSYTSTUVWXYZ[\]^_`abcdefghijklq  !"#$%&)*+,-1239;<=>?@DFGIJKLNPQRTUVWXYZ[_`abcdefghijknopqrstuwxyz{|}~ *    =U !"#$%&(*+,-./012345679:;<=>@ABCDEFGHIJKLMNOPRSTUVWYZ[\]^_`abcdefghijklmnopqrsONMJ%?g?L< Ms\.9:5e>c@: { T)gj1 T)x2@:1-&:5:Vj$< </ / / // /* /z/_/c/{///// /////S//b/h/x/ / !/ "/ #/ $/ %/&/'/(/)/*/+/,/-/.///0/1/2/3/4//6// 5/!7/"8/#;/$</%=/&>/'?/(@/)A/*B/+C/,D/-E/.F//G/0H/19/2:w*3 T)/4L/5:d`,6@:/2297:5#[L8< lm 9}0 :A| p6T);" ,: <+ ^-=0 => !;?:.3<@6 09`ABFC:D9X~'E9F9DX~'G9D5H9:I9X~'K955L9D579:9BD:BV=77gj#7X~'t7<47D7g!5׈\:X 55*&(5w7*5j'+5,7S9-79.8b /8vf200919r2:E-3C4B6 5H 6@4A1b?S"+c># =E .7i.7i57 +7w 7(>7E7Eg*(8By/ :BU;;,:n-:|:%Q?\ :g*(dBEvz'9&##9s7w9l9E19ERr)9"9Rr)9R~9kDN. , 9$;',fR=]2>{ A| %:U:0G\ '2w GI0 7  H$5uvp5)Ɣ1; h,* + Vj$< <h,* + h,*9=K"EEEqE(G0GEME-7GEQGEf/0':2;;,H,5<D!=Dq!>D( @Hy` BHFnCHKDE^E ;F˴GE7LeHEv<,I@>$*JElNK>$*L:;MFC>$*N:>$*O:>$*P:E(} y>$*|:u*?nWL@>$*:E>$*:E>$*:y/ :@l :@ :؎=jKۿZK%K{Ky:ajKE>$*:E+:5#!8A|:5#!@E - E4VIr>  >s> 2Mo]2>EFExB3,Ev<,@:E+:E4VI=>,^zL#N?VLExB3,WExB3,XEmQ/EmQ/EmQ/5#0 - +H52,H52-EH5<6 Ev6C# S6=Eu4=a>cwM;?E`68?Ec;E;-B;-BEm^I FYI FZEI Hh"jh Il D8&I Eg*(BDIY" DlI E .78&I -^K6K6m""K646M#MM#MmEM#R$z>%4P&>tvxsTsTEsYi1d%Peb(2<M,]M,]EM,`;d'KʩK;d':z'(:oI'(;bQB:=J(xܾ(Q:L\Hi$e^i$e_Ei$i)[P((E`68n?49lom.<49l?E]%QE+:>$*O:>$*:E>$*^:E>$*1:Eu42=5o+o3(K:];5o+oB=Ec9rU%]?;rk=E?E=}ZE=}E=}4M94M9E4M9pd gp#3h  D8& D" DlR 8&T 7KT6%96h O Dh O DlOR #v<S#v<TE#v<U׾+Vk5W#v<`#v<pE#v<E>$*:E>$*:E>$*:E>$*r:E>$*s:E+:>$*5ElN>$*B>$*B>$*BE>$*BE>$*By/p :E>$*!BE>$*"BE>$*XBE>$*BE>$*BE>$*BE>$*BE>$*BE>$*BE>$*PBE43BE-7CE-7#CE-7$CE-7%CE-7&CE-7CEv6CE.߱#"E.߱#E.߱#E0E0EM;gzv\9 z&;(`A8 (`A8EЩ9E%>#QhE}I 8$E}I 8%O& MI 99W"h7 ̅" r"}8f&B_7">"(?I0 @EiH7'EY9SE /0GEa#E.6CE.6CEg*(BEʮb: !:  !: }EC7`q5c)=3?p(o\Y ]Zeh,*>ʮb8:U&E^ \EF$^+aiuȊ-q<x4<#6#9\14:4AZ MI 9 -  - N  K.7  V;RV;؛9EǗEEqE(G(GEgGEf/x' ?Ev<,@%:%:I:%:J:%:K:%:L:%:q:%:r:E%:s:E%:t:E%:u:E+w:~!y~!z@E4VI{>p79 |>p79 }>EEEETOETOETO~0u\u\EcEj-Bj-BuZ1uZ1fg >J҇8)҇84o=4o=3yH;\HY vY E`68?ul??ul?E+~:%:N:%:P:E%::E%::Eu4=}oM=}o=\r\r=E7E7E7LALy ! ! ! !E Ch*ChtEChEChECh~ChChvEChEChEChCh}ChEChECha.ďaE%::E%::E%:0:E%:N:E%::E+:%:E-%:B%:B%:vBE%:BE%:BE%:BE%:[BE%:iBE%:kBE%:mBE%: BE%:MBE%:BE%:jBE%:BE43BEg(CEgCEgCEg#CEgCEgCEv6CE(nE(uE 4B&C{ C{gb`;Ch ChXB&5N6*5N6*( 4( 4( 4ryryg`; dd"/5q3UT@ ?&d%l$?#n#C"^y==T2|?|?|?|? m27 + )g9e-XJ2D/NFCds?Ml*lMl*.u |Y Ml*ZCd[ ? OE|?m|?|?[/l`PVl 59Dh&>8,E?a)q q3< 1W1in8jE_3kE_3n}g4o:d9p:J' :'+ 6 =1 J' UF# d€%37~f<==KdL<dL<<>"/:Y<%/<;!<hYW7<hYW7<}4<]*<㯑"<D9 <@`S6DD])JUPQRSTUVWXYZ[\]^_`abcdefghijkl?'nj3 T aldor_gloopT noOperationTaldor_gloop_Array_535018394Taldor_gloop_List_535018394Taldor_gloop_Union_930806425T aldor_gloop_TextWriter_179325880T aldor_gloop_TextWriter_300845755Taldor_gloop_Union_836732643Taldor_gloop_List_615238651Taldor_gloop_Array_386200223TruntimeT rtConstNameFnTdomainAddNameFn!TdomainAddHash!TdomainAddExports!TdomainMakeDispatchTlazyGetExport!TdomainTestExport!TlazyForceImportT domainMakeT!sal_tstream_TextWriter_1046994302TrtLazyDomFrInitT extendFill!T extendMakeTrtCacheExplicitMakeT rtCacheCheckT domainHash!TnamePartFrStringT domainNameTnamePartConcatTsal_string_String_365083032TrtDelayedGetExport!TstdGetWordRetWord0TstdGetWordWordRetWord0T rtCacheAddTsal_base_Union_392772697TrtDelayedInit!TrtSingleParamNameFnT#sal_random_MachineInteger_742112319T sal_base_PrimitiveType_362563393Tsal_list_List_228068256Tsal_array_Array_694623119T*sal_random_RandomNumberGenerator_622444692T rtAddStringsT sal_arrayTsal_listT sal_stringT sal_tstreamT sal_randomTsal_basej UR aldor_gloopUR addLevel0UR addLevel1URextend0URUnionUR addLevel0UR addNameFnUR addLevel1UR<<UR aldor_gloopURextend0URListUR addLevel0UR addLevel1UR<<UR aldor_gloopURextend0URArrayUR addLevel0UR addLevel1UR<<UR aldor_gloopURextend0URinitAldorInterpreterLoopURsal_array-initUR sal_list-initURsal_string-initURsal_tstream-initURsal_random-initUR sal_base-initjUsizeUnsizeUvaluesjUsizeUIvaluesjUfoundUvaluejU<<UUTUTjU<<U#Uempty?UUTUTjU<<UUTUTjUArrayUListUUnionU TextWriterURandomNumberGeneratorUMachineIntegerUStringUU<<UdomUUU<<UdomUUUUrandomGeneratorUdomUUUUUUjUmodulusU multiplierUlastUminUszjUapplyU generatorUmaxUminUseedU randomIntegerUrandomGeneratorUrandomGeneratorUrand1Urand0URepUbytesUmod*UUdomjAUmod^U modInverseUmod/Umod*Umod-Umod+U<<U<<U<<U<<UnthRootUdivideU^UsignUmodUeven?Uodd?UhashUclearUsetUabsUone?Uminus!Uminus!UminUmaxU>=U>UnextUtimes!Uadd!Uzero?U<=UxorUrandomUrandomUcopyUmachineUcoerceUremUquoUbit?UgcdUlengthU~U<U\/U/\U+U-U-U*UprevUshiftU lhalfwordURepU%UbytesUmodUU binaryNthRootUprintUscanUdomjUdigitUnextjUprintUscanUscanU binaryNthRootUminusUplusU0U+U-U-Uzero?U1U*U^Uone?U<U>UcoerceUmachineUdivideUquoUintegerUprevU binarySearchUdomUdomjUwriteUflushjUUjUsizeUarrm' y " j UUUUUUUIUIUHUHklw@Y  YuY [ YuY[ [c Y[Y:5 [c  Y[ Y:5 X[c  Y[ Y@: X[c Y[Y@:c [ T) X[c Y [Y  T)ccccccXX!XJ!Xp<<!X:h1!XpprintX^dXdXdXXX ^dX dX dX XuY+XX cuY cuY c c cuY!uYc J|1 cuY uY$ cuYX c c c uY!uYc J|d9 cuY uY$X cuY uY$X cuYX cc cuY uYcO8q] v[ y y&~=UdomainklwuY ~uY p TextWriteruY ~<  y z$ojUdomainUhashcodej UIUIUIUHUHUHUUklwXuY~X^dXdXdXX^dXdXdXX^dXdXdXuY~XXX"uYX^X!:h1!!X~XuYuYX^# [y 'UdomainjUIUHklw !c!Y^ddduY~~ [y 5UUTjUIUHUUkl wc~^dd"c!cX*uYc"XuY[uY"c͉bcuY# [y NUdomainjUUUUkl w X:5cd"t]ͦXtmuY!dtrtvX?c#uY ~[uY ~X[ [y LbjUUIUHUIUHkl wdc^ddb"Y!uY!dc#X!XuYpUnion!XuYX^dXdXXuYX [y }q=jUdomainUhashcodejUIUIUIUHUHUHUkl w c c[ Xtm< trtvtmc߸??X^dXdXdXX^dXdXdXX^dXdXdXuY~XXX!J!X!c~ [y d )jUpUakluc~p[union] [ y mUUTjUUIUHUUkl wc~^dd"c !cXX*uYc "XuY[ XuY"c Xc uY# [ y +=UdomainjUIUHkl w !ucc!uYc^ddduY~~ [ y !UUTjUIUHUUkl wc~^dd"c !cX*uYc "XuY[ uY"c ͉bc uY# [ y wQUdomainkl wuY ~uY%pListcuY ~tmuYc&?[ [ y jUdomainUhashcodejUIUIUIUHUHUHUUUUUUUUUkl  w&XuY~ c X[ X tm< trtvtmc߸??X tmc@Oj?X tvX XtrX  X tmA|X? X tm;,X?X^dXdXdXX^dXdXdXX^dXdXdXuY~XXXXc"uYX cX!J!X !ccuY uYX X cuY uYXe2X ~cuY!uYXJX # [y 0jUpUaj%UU5UU5UUUUUHUUUUUUUUUUUUUUUUUUUUUUUUUUUkl w"ucc c cb XbXXXbX!Xp[*XXXXX"X ud~XrX bXcX"t`XXb ucg= Xg=X"ugX "ugXuYgXbXb"ugXXuYgX bX X"X ud~dXXdX#bX~bcbXbXXXbX!Xp*]XXXXX"XudXXrX bXcX"t`XX!bXb!XXX#bXcX"t`XX"#b"XXX#bXcXXXX#bXcX"t`XX##b#XXX#b XcX#b XX*ugXX XXX^"ugXXugX X ugXugXXugXWX X b dXX dXXXX#b X ugXugXXugX0X X # bX gXud~X XugX#ud~0X~#bXXX#bXcX"t`XX# bXXX#bXcXXXX#bXcX"t`XX# bXXX#bXcX#cb%X"b+X#XX"b&X !Xp[]XX XXX"X$ud~X rX#%'()*,b'X"cX""t`X"X!-b$~#b-X#XX"#&b(X"cX""t`X!X".#$b.X#XX"#&b)X"cX"X#XX"#&b*X"cX""t`X"X!/#$b/X#XX"#&b,X"cX"#+ [y mUUTjUUIUHUUklwc~^dd"c!cXX*uYc"XuY[XuY"cXcuY# [y +=UdomainjUIUHklw !ucc!uYc^ddduY~~ [y UUTjUIUHUUklwc~^dd"c!cX*uYc"XuY[uY"c͉bcuY# [y {QUdomainklwuY ~uY%pArraycuY ~tmuYc<?[ [y jUdomainUhashcodej UIUIUIUHUHUHUUUUklwXuY~ c X[ X tm< trtvtmc߸??X^dXdXdXX^dXdXdXX^dXdXdXuY~XXXXc"uYX cX!J!X !c~cuY!uYXJX # [y 0jUpUaj%UnUU5U5UUUUUHUUUUUUUUUUUUUUUUUUUUUUUUUUUklwd"Xc c cb XbXXXbX!Xp[*XXXXX"X ud~XrX bXcX"t`XXb g= Xg=X"ugX "ugXuYgXbXb"ugXXuYgX bX X"X ud~dXXdX#bX~bcb%X"b+X#XX"b&X !Xp*]XX XXX"X$udXX rX#%'()*,b'X"cX""t`X"X!-b$Xb-X#XX"#&b(X"cX""t`X!X".#$b.X#XX"#&b)X"cX"X#XX"#&b*X"cX""t`X"X!/#$b/X#XX"#&b,X"cX"#+b XX*ugXX XXX^"ugXXugX X ugXugXXugXWX X b dXX dXXXX#b X ugXugXXugX0X X # bX gXud~X XugX#ud~0X~#bXXX#bXcX"t`XX# bXXX#bXcXXXX#bXcX"t`XX# bXXX#bXcX#cbXbXXXbX!Xp[]XXXXX"Xud~XrX bXcX"t`XX!b~#b!XXX#bXcX"t`XX"#b"XXX#bXcXXXX#bXcX"t`XX##b#XXX#b XcX# [y mUUTjUUIUHUUklwc~^dd"c!cXX*uYc"XuY[XuY"cXcuY# [y +=UdomainjUIUHklw !ucc!uc^ddduY~~ [y WQjU5Uklwc cg d[ [y D Uidxklw"ccY,Y) [y D Uidxklw"ccY-Y( [y D Uidxklw"ccY.Y [y D Uidxklw"ccY/Y [y TUidxklw"ccY0"t^~Y*Y& [y TUidxklw"ccY1"t^~Y'Y#   Y Y Y Y Y Y Y  aldor_gloop