CINXE.COM

%!PS-Adobe-2.0 %%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software %%Title: TechRep.dvi %%Pages: 33 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%DocumentFonts: MSBM10 %%EndComments %DVIPSCommandLine: dvips TechRep %DVIPSParameters: dpi=600, compressed, comments removed %DVIPSSource: TeX output 1998.10.08:0918 %%BeginProcSet: texc.pro /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if} forall round exch round exch]setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{ /nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ /sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ 128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{ dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} {adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] }if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict /eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail {dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{ 4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{ p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end %%EndProcSet %%BeginFont: MSBM10 %!PS-AdobeFont-1.1: MSBM10 2.1 %%CreationDate: 1993 Sep 17 11:10:37 % Math Symbol fonts were designed by the American Mathematical Society. % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (2.1) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (MSBM10) readonly def /FamilyName (Euler) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /MSBM10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 161 /lessornotequal put dup 162 /greaterornotequal put dup 163 /notlessequal put dup 164 /notgreaterequal put dup 165 /notless put dup 166 /notgreater put dup 167 /notprecedes put dup 168 /notfollows put dup 169 /lessornotdbleql put dup 170 /greaterornotdbleql put dup 173 /notlessorslnteql put dup 174 /notgreaterorslnteql put dup 175 /lessnotequal put dup 176 /greaternotequal put dup 177 /notprecedesoreql put dup 178 /notfollowsoreql put dup 179 /precedeornoteqvlnt put dup 180 /followornoteqvlnt put dup 181 /lessornotsimilar put dup 182 /greaterornotsimilar put dup 183 /notlessdblequal put dup 184 /notgreaterdblequal put dup 185 /precedenotslnteql put dup 186 /follownotslnteql put dup 187 /precedenotdbleqv put dup 188 /follownotdbleqv put dup 189 /lessnotdblequal put dup 190 /greaternotdblequal put dup 191 /notsimilar put dup 192 /notapproxequal put dup 193 /upslope put dup 194 /downslope put dup 195 /notsubsetoreql put dup 196 /epsiloninv put dup 0 /lessornotequal put dup 1 /greaterornotequal put dup 2 /notlessequal put dup 3 /notgreaterequal put dup 4 /notless put dup 5 /notgreater put dup 6 /notprecedes put dup 7 /notfollows put dup 8 /lessornotdbleql put dup 9 /greaterornotdbleql put dup 10 /notlessorslnteql put dup 11 /notgreaterorslnteql put dup 12 /lessnotequal put dup 13 /greaternotequal put dup 14 /notprecedesoreql put dup 15 /notfollowsoreql put dup 16 /precedeornoteqvlnt put dup 17 /followornoteqvlnt put dup 18 /lessornotsimilar put dup 19 /greaterornotsimilar put dup 20 /notlessdblequal put dup 21 /notgreaterdblequal put dup 22 /precedenotslnteql put dup 23 /follownotslnteql put dup 24 /precedenotdbleqv put dup 25 /follownotdbleqv put dup 26 /lessnotdblequal put dup 27 /greaternotdblequal put dup 28 /notsimilar put dup 29 /notapproxequal put dup 30 /upslope put dup 31 /downslope put dup 32 /notsubsetoreql put dup 33 /notsupersetoreql put dup 34 /notsubsetordbleql put dup 35 /notsupersetordbleql put dup 36 /subsetornotdbleql put dup 37 /supersetornotdbleql put dup 38 /subsetornoteql put dup 39 /supersetornoteql put dup 40 /subsetnoteql put dup 41 /supersetnoteql put dup 42 /notsubseteql put dup 43 /notsuperseteql put dup 44 /notparallel put dup 45 /notbar put dup 46 /notshortbar put dup 47 /notshortparallel put dup 48 /notturnstile put dup 49 /notforces put dup 50 /notsatisfies put dup 51 /notforcesextra put dup 52 /nottriangeqlright put dup 53 /nottriangeqlleft put dup 54 /nottriangleleft put dup 55 /nottriangleright put dup 56 /notarrowleft put dup 57 /notarrowright put dup 58 /notdblarrowleft put dup 59 /notdblarrowright put dup 60 /notdblarrowboth put dup 61 /notarrowboth put dup 62 /dividemultiply put dup 63 /emptyset put dup 64 /notexistential put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 71 /G put dup 72 /H put dup 73 /I put dup 74 /J put dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 79 /O put dup 80 /P put dup 81 /Q put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 86 /V put dup 87 /W put dup 88 /X put dup 89 /Y put dup 90 /Z put dup 91 /hatwide put dup 92 /hatwider put dup 93 /tildewide put dup 94 /tildewider put dup 96 /Finv put dup 97 /Gmir put dup 102 /Omegainv put dup 103 /eth put dup 104 /equalorsimilar put dup 105 /beth put dup 106 /gimel put dup 107 /daleth put dup 108 /lessdot put dup 109 /greaterdot put dup 110 /multicloseleft put dup 111 /multicloseright put dup 112 /barshort put dup 113 /parallelshort put dup 114 /integerdivide put dup 115 /similar put dup 116 /approxequal put dup 117 /approxorequal put dup 118 /followsorequal put dup 119 /precedesorequal put dup 120 /archleftdown put dup 121 /archrightdown put dup 122 /Digamma put dup 123 /kappa put dup 124 /k put dup 125 /planckover2pi put dup 126 /planckover2pi1 put dup 127 /epsiloninv put dup 128 /notsubsetoreql put dup 160 /space put readonly def /FontBBox{-55 -420 2343 920}readonly def /UniqueID 5031982 def currentdict end currentfile eexec 80347982AB3942D930E069A70D0D48311D7190FA2D133A583138F76695558E7AE9348D37CAC6 651806D08527C1BB4A062A4835AC37784CC39AD8841404E438B4D52D3901E47A1DE4F7924E0F B3DAF442499175BAB1226EDF692A4956739F8828E80592F450C5D5C22AC88BCFBE9748F61D18 243A16F4A4467F084E8E2BE46EF47FC51C3A8199E3CDA62FF9C4FB73956DAB8B6683D2156377 808CB35026073E80523F59A30D195FCF9B9FCE4FFAFC6D56491BDECDCAFDC988206C5A457A19 270B37D0AB776E03EAA7EB568EEAB6B5E79DEC03B0DCBF923A2AA8E4F4DEDA2CB043858D8B43 0EFEF0ED914A80FFC9818ABA0FB30DAE3694E5B31DF3855892D59B897F82FF79FCE8444C7926 FFC4EA008E63BC518936C9098AFC2D1C14030A2C15BCC9285C1B57E80570D2F6301009E63D9D DEBA44E3251C75CA9616A2C5DE9ADE661A15DB37B40B67C1BD71F77343912C62F47DD24BE0E0 3DD833EA60D2EB020407EAF042FED30F0C2F01956C83D46D982B50DD979C2026ED5F71979DD9 8C9C1EEE25054000A5EED5CE9498B2CB59A7EE55E0538AB47D86E69B2AC79229C8C6BFC93A24 E822A2F1C9964FE630344579A25F66646113F73D1315C447F070C575DE76266C6773B01137E4 A039DF5E4C2F199E8E3396EF9FD001EEBE090E04384C4089EC9F13A07AD8733C6AF775F432F1 54EF50EC4477E08760C03C006E4D1EB1C7CDACB8955CA4B0D62C7DE046FF58D431BB9883D285 86552C51809E3CED4DFC2198B97AD9E52EA33C91B9E335A80D9B77D3430E0487930F99245966 4ABCA5DD9177150B0FB502FBB04CCAA94FFE2697ED07906F95FD98E7B325BFBF10EA6B39FD76 C1E5295022CB39E9CD471B7B0B3F9D72DA99DEB0615D35CC22F42DBF5CFB70DC6279FD520D99 F32201ABF25E621CFE1D37961D9C0AD36EF3D9264C547638152ABE30812B1B98CEBE66CFB9D9 8E4EA24E4C0D4D77ED282661248DDDB6B550692891E6557B1F6238BCA064DDB13B68D37CCC74 EA8110F7E0BC4C4F903C8E43C772EB210276CDB3B1DF2815060A0D29C94FB764B5BF40377AF5 2248D706E117DE497B5426761F4D1431E38CF3F9E386D35F95636EC78DB4FAB1CE3CF7064458 2561E1595EE6F32FE27C6A759857EEF72F29CD64FE015C020AFE7C7276C5FC4EC8F004722411 F5386C1FBFBD3C78A2E6815DD18629B47E09ECF6E7F3706A4B080FACA3A7BCF65F7C2A38117F 20F2B41529AAB9683F6128BF3EAE3714F5A5E5EEEF1306D6FA586F0EBFCCF49C7D65C9DAE335 66FED98F0D64D0C3E3513B45FE6EA1B18049EA3E98F6FBEFFE3690375CA7F5D844F38CE109AD A4399FD08FDF5406C0316645AA63413239A45E59D1DF5D8E4A56DFE3004D7BC9F74C91668EBC 429B4A4136DA8838FC897F5B265474691A86A2FAB71E295C704F6E8C7C6D88E38C2A0052DE7C 7BDB3CA7F6FEA9D5A7140D4ED0A09077938E8D0E295FDBD36F18C23435C173F5F594C2B31CC6 F519E1BEAD65BA0898B082F6B184484277AA5BCC8350B40A0495DF005EA5E0DB96366583D1FD A37242F1A6635CC6384B3941DC07F625CE8DFB5D94151B32091CD42D74A31B65D4DB66BA8116 4918688A7AAE6274147CEA7B60DAAAA3D7EB494867F406CD2B349768C3A4D97CC371AD690820 C31ED465EBD31DA12837829903FB947FCC3C952C9634A5AF421F9516A1BE4D6D3EE77E5ED175 B8F45BC58735B72F30CF733AB137AA1936E6FB3732C67EC769A0FD213E3DE004A25808192969 A6B0A02ACA9E18E905598DBDAAFDFF5A747F172983582037BD2DAF435EAF41138C95CF5C4420 34388D3C6FC34E0A56E857CE703618E7CC59961F29776E7C37283F3A63D82E2E07A4821F6CC8 B7732ACA1A40A22459A4D753039250A1D8286D24A72C6499DA36065986DC72BEDC16AAD6EBF4 CBBF8A7D8F71C38C547C21CCBAA1BBC8D9541E13F92B8B304903D8FC9D21D2BB5A4346DBC130 E2D4F590AD34FB8C3B18A7446EDEF65E1D9A5B90E1006E559E5EE90B7F2EC8DB355C3BD69E1C A06F4E92E5FA226A922F845C46A3D78BA3643CC0F87FE47039C5B018D0F1E53E83796C53899D A49B9B36515B8096C3423CD63DF7061A2646DB14FA15D66E57DE63D83B296937E90712BC39D8 C1EBBB146F3E554012EEC00A6CDE5B900631DB48B189F7405ADC992F6F5C10D1CF8907E11830 BDD7E7D8CBB7CFE1BB7878D3625EEEF8108CB65D1B6B740F9824781EB7F12C8F90D18BFAD539 F6DF56EF3BB8B249769DD70BFDEAF4091ECE5A75A7AF9F690F4829684143DD95AEC471EFD607 CE75EEB182E1D1E2136D26FF6ADFF7C30F4379E0E729BD1DC7F6D3915ACEF2A765F76E80349F 85ABACE85ACFFE774CDEFFA87AC4F6AC509D4E13554F06C1C097E9D46A9EAE8EDEC4E4E67409 C52A27EDA5ED00A5DF0897638A91B9EB420121F1F9FCA481F0F4B9A0E33B5F0D07B202077688 8C555C9AD63E76DA475797CDDBC6352130F1207F70235D6DFDD5CFB4C733BE582124DD326AB4 D90BDF98ECC6240F1B5048BEBAE1E6F389AC2222CC5E6B670121F74F20D635F64CE6DEDDD54D 541A1D27B3F1DE23F65B988F223B60E3FE02D3A625411F263B2397D9C8926A07143675AB71E5 29A3502A41271AE4051EA2CF27DA2AC34E3C6B446B1F7A1CCE0850D4AD71A5268515FF9CF430 2D15EB4BF58A3B7E446ED411072BB620A14159DD3BE2E025CAEDF27417234C315B1A4372E6ED EDFB47D259A9B387EEBA5C73F26D866A59F6141C4BD3491F84D8C83B17B9FCB14F356390F041 29F7613E63F857B67C3DCEA0C90AD82AC2EB8C09A5F5D4AB13244DED536017A5B08C3830E58F 2967C079F84CE3A4426DB1FAF796B508B0AC52509A032EE76E9F048662EBE76B38FAAF702CAF 83279962EBB4A3B78C6643F006D97CDA50743DC1588BD9A56B42338826199EC6172A8A38FE8B 541CCE72B38E53689A96506C52C2DDF8D91EEE308D9A21951E8303252AFD186FC7DC42982D47 FEFCE3D5CF2A2CA31CFB9A78EFCCA4169DEF9A50674DBD232627A6720FD7F6D568A7B93F2C0F 12D8FE7F8C18FE9E0191B0BBC99B8AC5E48563F52C10E4D57D937F2FFC1EF71D54E0BEB4831C 5B3008D8AEE79726C1627CB8AC70BE30640BFBEB7AF398CEA463F9AAB513D09594564DE02F33 D6E88341C1613F47E4F99269F27E00E503D867A88AB0DEB6D0247DAFC6EED2A9E0221F49BD20 160842782EBB5C7718E27E051BE48FF1B4CED46D0E6CDE8E133070A4D0080987BB197F57B762 841DA3D750D0975F5086C0D993B36E6D802B740A53DA719F4CCB7C36800536E503452FBD0E75 A86BAF0B1186681496D3B5576721F12DC34DD13BF2E240A89676507573AE2C8CEB3647D2584D EC0A970646C7089B8581F528D520995285688D39C05BEB9D574D64150ED98C79BFDB82B002F9 D1EC37A089C0904C672E6E873950862713B05FFADBCDE299CFF3710CBA6A9DAEC2F479F31E21 83E00BC5E90FDD0CF4EEAC202AD254E4F0836D69EC56DA6283206F1145B2958A9729778030BF BB570F5B4B24BD7F4C82F38813A8F2369B93D7B1D6AB67EA1F3CAE838F786781AD0DDC0C3A9E 1B654330846DACA3EEA7DABCB3788A2116927E0196C504EBE144B96297A48110E25602FC1CD9 8D7B2334AA55753DDD23BD7135F98715054EF7F74F6E4482C505896245B2AE4CD4F8D1F14DB3 B6EEEE9D553FEC4E09A53F40B81498E1DABF8073B1D8DD5A564DC137700FFD1E0BC5F20346F2 C48A05EC532870B026F38421D34BF43FEC5A9C3C17706296001648E93B7F73569BFE6F407D2F A9F183ACF09EE356DE476DC2210F5CBA7BAD155B0C4B6204AFC92D5847E44CB4327E2143F1E2 8867EE5B800C9BD7AB01494E2A8F6D0C1D7A647F3C1357C0DD74CF94B167630E7DB2ED3075F2 901A3FF1464F0A5902B3D3820F4D20E3A371A9C1592AC148CB07507E38113557CD0612D25AAE 6C21BA4CDE6FE4E79CBD23B0F5B3A95404E2573AA2E37216411D34045E7148956AD8FEEE1298 F453A8FD25B06F18370D0645192ED11D39A1EEFF0721753F03F1E3FDC895E916BBA7A92DF9BA 0D1F97CA6A96D269A49E419095071FFC70BFFED6A2F78C5661B779B8528A5B01FB3DA091C39D 64FC74A03E0BBD5D6BAF6A18F893604B6BAEDDD789A85F69A42C9CA4CB26572BD469A9AE1B25 BB6608AB4EA534548D67F89190CF5B11322405E319536EAE5564D55C165D9DDD35F714E2C9AA 9335A2B83203C3A09731AACD472390E86FD66CAC07B10EBB01C1A8B3F038C856D348C7B377BA C544EC0A7982E581039DA0C166440D12A2CD88608AA4F763C00F1E67A5E95F75FBD851AABF4B 752E116DEEBAE5161F9E1D5C50450C3D94BDA9CF4CEBABFF8CCA8A3104884A6649740CB9619C 60DF3B7B3663105700CF06964687BF0D17B64DD61F882AE257C17A54262B737D402F43CF5E78 F16B9CD0D01FFF8009AAE76CC8E3C3C66C123B22511052C04044B9D8DC82BB054D8B68022A52 83D85DC707F760D65F69D1BD3B6CBF07A088DAC2FD84EF6C441A4B0702071AEA16CF4A04EBFB CAC264A0C8F03BD90708170BF40C429F5E8CE51AA206706C631C3A00EE09A8CDC0752662CCCB D09CE0C1FDFAD14ADC8FAE05D7B6558A3DCF7993052821ABFF433EA1C93A39031F1CFE78B6C4 72D0D8536D8AC21E5FB370369B3434DDBD17152722ADE0F7DF62A67B523DDB38C9BC865F728C 6C509E95D5DED87E52CD209256481F30B69C8BD609DDBB99ECD320E2D341999EC039A22660A8 ED38FFD7E0F4771B66EF931B3E0B307DE14EEA4AB841F353DE1F334E81F6C0CF0C7FD27741DF 68BD164F1F64A61395769F2BC5BAE99304F2548DAF234F79CE8A02A4144A56BFF23780A67DD6 924FD03AD6C28EF268CDA7D5B6F4623530968EE9E345812D7E47C5FE01030A1FD1691CB74878 6831DCC4E1BD8A595105F09BDB1E3B2D13B5DF72ADFDB139B3AA49B836D950AE4B02F51F4E23 DA240F4EDC12A710D743869741A0100E6B69FAAE750EF1B96D2F92179B99D095D81BC3AF770C C19203C0C7E9D6DF513E8300EDD8938A8C63DE3E547800674AE2891E12B6317A81CC2FA8522B FEB3BE9EF1001371AB147E7B65337E4C9798E9374AADDC82FED512D45318431951849A7AA52C 02CF7F03EFD521218BE2D47F111390B7A31D135B8112CF6063D0121DD97EDAD1A7F9E98011F2 6669C6F3E679858E6DFDD81CAAA24F0F45534C9EA134FC92254CE387F2014E160CA144638B62 D2FB9DD62EF3F68C7DE8B4E43FE18A3C3F81D812C7735CFADBCE9CFE404B86EBC3FF2DB257EC 25302AC7C9CCC987D59BD91C8A9DE0B243ED089F106400B2470FC96CABE6F90ABF48A1C06AF6 B1C804E19E34B0329F623B8D5ABEE7A7BD85523448B1E5FA8BC410F54D3C178AFE83BDF9FB4A 6A539879563CD437D30A84137E696510E84556EE344CA93D1F9148857F86D94B196C22F76138 9A6B0B90C4A760EF44FE2ED9FBCEE7D701216CFFB1BB8AA530884CB22BEFC9D4543349E5EF21 4217597F32103006CA78FCF3E9227EE98FBF864DDB73D148BF3B3DFC5289EB96B12D7FD1B73E FDC752C73A164DF33DEA3D3E980D69746256E849EE45CC6C333321199588A948CDFEA8CB7534 05A50C74D3F4C8437C84A6DEACEA4BC08884EA2F9F8702AB01E9ACD86C98EA9024403454B080 F8AA2071A9DEBE778FDE63B707D6B86F941553EB64CD0187639E2BF409F957150547E6C6E6B6 7CDB829BE98043FD1FFA308D28311C326F8C8D4BEE30460936B6C57105B2759EC57B3C4E04F4 A4BAC17C2E474B34568DE1AD40E338C13885E7D79A4E7F8917246902E372775FFADBD8DCCD7B DB18CF273CFB1E313953F8A5CB55573D0C4B98E35D32303F0E363530CA86CA552CA6B47C3482 70C2ECC8FEED16F78AE5AF5841A8B8D46AB5B4514AD466356F342EC4D6C5811F86381B5C2F8F F2552BD6FD0E4F33EF6C87D8D7038039F4A16829F3FB1896B19B6D5AE08389A7008CA54C4375 3F1CC5AAD548278734C80364E0D84A9B0E2F59545422CA0FBE0D55B0AA4B7A4BEA2BD0810384 7CD86D4E9C3A142344740F27E085A0511C50BE76A2B53A77C48B26E33D30F90F24C3117DA2C5 87BDBF42619BAE4649E923680046EC3FF833636D8649BE335C8937543F2AAD6503ADFA3FDAC6 A1BE62C47EA9DF11B10B05F456CB815ACFB951F18C4379199B5841C7930ECB62EA953EF1DA3A 7E9E7084E8174B7F84C174EF0EAD958882D0F412F2169017179E74A093CBF8ED69192B2B55EF 9CCA48D6E53981C89A18E49E7E9C77B981B4E717BC7577F5B13FBD27CDA05AAD50C9B97843B8 A7369F71356437F3E6A2088981C733BA0C3313E64E4E767C8A8A894C42013682CA4316E19D20 9022D2C32628AC0814F146594E33C7172BE9D340DFBDC432B12D880B3C9602BB7B44389CF632 4C70B33FEFB1ED67F2F887D657AE72D3425CA29B480C57A68AA41747EE4C2A940E4D1A9E6037 FBB7FB6CC142AE5F5C67BBF58D4CE1D0D45E6C841917B5A1A5F223707CD620787F50A8210973 EF4585DC0970797214307A2592331E1F060ECCD6945D027C1E8CD241DAD955B508B0EE93BC2E 16A0AB299AA8DE8B586C13D56E68D1FF578C5E6D0CA636B37F11C6964F6DE114A7F54022B815 0096C1046086D951FBA237711E2ED96EFAF09E36C03AD289242CA7593ADF982D666E55F9BD08 D8A4ECEB1D0701E237FEE22A81FE68CE1960CC3FE1494EE3AB665A5309D3727A120BFB4319CF AF9F5F271D654EEFA4CEF84253EC342B6720292E27F89B2485D792861920830668596B56CE07 DB3A0056DB8641921F7B23E6BC23B8D285D836CD5D0878303F8DC7F09075B09F6A13762AF912 DD6DC2CCA9570EB683D1A16EB9107BFDF7B0A3687D2B11E0F15635C6DDB2C4FCB39EA68F977D 61DD1842DFE9E3C2E45AFC04D32F6CEE5B882F878367A298D0C8117F7EBBB23B6F3789F34B8B 6A19D07C81B3D253B6A5CF3A08EC06C8687473AE28B300AC914CFD3B4BE2A8883CE504E4C853 C1B1B2DDADC2D6F2BFF34D1A239A8A88161D40E74C82A2A385DDF5BFDA51FB62A46DCB3E71DF EED1013F98EADC850B720E1B78C8991D926022CA8CAAFCBF697B1A1904546EF4909516463E7D 3508EB851DF3E5C87F73F93561A5BA073C1290B2DE0C184B0B89439F0BDBE6F56DA7B17C95C0 868AD087030D7E8D3106D8A3332FF4734090CF6F19B1C811BCC8E6DC7DADA877FEE422F65E74 08353FC4E32561C1B35EF14C3DA10EA7DC8F5D60465FB1BC0453C1F60C17CC81261508A9E173 DF7A1801F4FA2AE53D78F95E3CD48C194491022AB8DEE328D997EE1228763E2FFC54AB82380F 2916FE2485B50C7068D0E015C52C0A2D50C0C3FAB63FAD955E1CF19E1550E78DC67E8C6C5D19 005CF1A90700DF156F8BE1F9F1ACD61AFB7C56E5B7656F2A978A3EF8A9381027FE04E0011C8C 9BE10DE276BBE7DF4E507934F752AF1DE58362D2D594284EA89C71210A5CCCAABD0F821532BF DB83833F09203691DB6222424A18B9FE06FED7E8A926CBC72E500A59FC7D5BC5A82458D50008 F19932D15A9129E21A044D1D4E66609565F63BE4E8931C9E216616B11CA2DA444FBE5C08E72F C5F428E1DEE3F19AE0CE4EDEF9CFD6E94E6143B7724634FFD0AA25B1208E83A3FF962CD07CD9 E34B3EFDC0146DACE9041E3C2B193686583597A4FA77BDF5E9AC27C87E4E1BC6AF0A9F0B96DA DBAA4FBA247D57818AF367789A394C7BC45C01AE146FEBB9F08A4572B915EBF46555D8FEA8BF A7088C1C1F0152A0811FB745080589B853DF5F29CD3419FCE4D1E649BA02322F23B5E037DFE7 001D928206E0BFA0981B57F56BB600A47D33A97863A94A3E229D45DC33B1C19FFAAF6E15E816 1D3F0A4E01167C364E987CCD0F6DCE6B45B2DD4A92A4D7EF1115B540D2D42DE22DF915D014A5 C0DECAC74251C29F65C63CFC6683FA73B95B0D57068F6BBCB8F293600A682B3C5EFFC8965712 BC984D495835B89D115C71B9468AD81D10C6F285EAAD6BDDB59E492E1D6D830D45F56CA6ACC3 0D7E0D3D8BAD8CCDB068121DE1CE940BFD3836B17AC2E67A858DC7863B7CC1C7ABB2F5AE0357 6D9EA73E840D06116097B1F66D7D66F1755153300C229A293D4EB394465C38839D634F62F255 B0486D54847EDE769E26C78A3D6C2226ADF652D10C87CFB4703148B571F6F389C0E327C805D0 24E8E20B0780A9EC5FB84385D2365E7F5EE7477F4352B54D23B8965E0210C18897B59F478C46 57EE0DA73E1DBC1FD6DEB59B9F906C20886FAB9BA798E00A0DBFAF8899A894867D2B96F28472 0BF6B898FBE2CE16B80941B1D227866713C2D20AEF7EE9D90AF520DE9F58221C78234EDA0588 ADAD10986461CFD6531FB8BD8DA50BB38873C8BD788CAF4A8D8AD1AB0F103F0617A1B03FB6EE C9BDDBC770B23892876DA8409E9DE3B0E5083B36AF276E276AEA88785C4FFA018E82297A78C1 4BDAD33C211AC9613C2C57B07F2C5A9D578833EB75620739FA3B1CAC2762089FEC2E8EACDC86 6994FB0D7A2EAC25A7BC451E414C4D1C34B30DA616F46E57D439052C70CCFD44D30BE545CBC5 3E129C634EAAB155AE80ECFAB6F6DED51E18B393D6D4190CE894710B1E5D0C6AB3CDE6AEE21C 638F23E4AF4D0745C9AC56D6BF2D95640998A261C5FA9060FBE789FF4CFF17AF248ACA03A63D 817D5EB4DD0091AAD344DFB4B6ECC465DAAE7203955ACB02DA28DD5F7E323E30DBECB7BC6277 C60F17DFE5FBE4146150CE2242CD77F78B6332ADDA9BCE1DF4FF46EAB6C6E661251A83A7DBED B35234E015E73BCD55A0A59A1D5211FC1D683A2D75DAF8845E95F9D61ADAD9F97805DC8F7E06 65905E3C6306577D54C4963E9B26DAE47A0166E6875B9672D5C9220DCA4765B3DD1A39EAD347 42320ABFA2B9D9A0F0CBDFDA624BD119D23AB90F3F3B8817EEF783B7B5BA8B28190DF2F69BC6 24C13D019E96D6E9086E203E48E2A04BA7D60B997500EDE14124839732D4FE99F19B9219BAC0 9B78FE25D7CAB67BBEC16F9CD5CAEB66EB185F51BD1E7C392C3EB3A3ABC2E5F59F407DA6BFAF F916C2C2FF9A2ADE0AFEF0BE6D29E35BE6DE297ECF2FFA59C4B1D20F33B32E78A2BE495B63E9 9F21033E4221915835DB9A8326D4AE6AA571B6B816513DD6E101A768CD5A5432233802D19188 73BD6C0072FE20C695AB45E3DFB8C663B115964500FE5E22D59A05336140D1D2BDBC322B72B5 1F28FEC02D269DD36312897EB0EA745D7B0013535A2155B8F533F67FA0B09260E03E31924D77 645A75A89DDA5F49CC217FD79CAF03209F54B1E8211AA82F8650C1945283ED371FB026FC11AF CDADB84E123693E7632545018938F05D0DEBF1A2EFEE10ADD353517BC45B13D3C8513E6F5683 3A28475D48D74FAA2B75522ECF1DD95492A1639B719B01BBB42AAB990189F15D6134DF8B183F 02384901E075465789915D34EBE0781DAB7A61137D5329DBA75EC6E96D35CEB28460E9E6A29A 51F955887D56BBD3840ED13DDD73C3ED0C2ECE63FBF20D2CA3696AE844A61126FD861299BD06 188790FB6FEAF3800722551810759D1B4B85DB80A0CB353CE1A1A4683A4D96AFF29B4F9038CF 05F3FC06ED4A900F344F0749024C11C31C0C37546DD9CE3D040F63E3D6DAE02A8A8F6946749B 281378707928BAA4BCB238F5655DC68977E844C072D189FA57880E337273CE8D6613743898AB E3E0BAC266D271497287BDF34C08FE7AEB0A3F0A3FAF354F33F5C8845F5CFF43BC1EFC7DDAEA 21E52AABB01C46E7E503DB67F68F6DEC1EBA3CF285C68364924BF0DA1BB384B77A07E9F12B74 A21AC30D70F9A25FC3E324918297B22FD4D68F2131B7E59668864B8CD49F9C715DBE79DF308C FE2ECCF613DB62A2515C57110C37A2C281A7CA97FC08EC89E928D38127E9179647118F547E2C 9667ADAB3A54E41B65FCA78111C7BFBED640E106505FF6BB268040EEEE24370707F21A66062C A9E0564587C8348E0D0F5583F19A40CA8DF4ECAC662012D252A261A211D2F6212702887923B9 05DE5B53C7FB9038976650D6AD009B4E95DDCD986F85A3E9D6BC5296763CD466E59A5A7D3757 24F8D1D0432AD60FEB4BED07742196DFB37B5C77B77C32B66DE91A4BD49FB61453B2F61CB92B EEB91FE4C12A7AF5AD33E97FF2A3E3D1255AB956B37BC47665970982344C3AD159D593BA5D0E C71B1BC107B9E323D906BFDF5E3BD90DD30D7047B8C44B044DD1ABCB87926DE2678501CF9294 823B44186FA08E66D653B540A53427BC28E1F9EB2C223086A8E4BF9B99F6C06004168B78817E AA91229567FA3862AA5BE6148E4F9314316D207A7AA72AC7B41B7B53C0BC98A067F974308B1E B6D5F2908459FA57BC3E8E2E4FCDCD01E40BE70B23CEE6F2FCA644179AC3A9479E12CBBE187D 56C5408AA95EB7E1C03BC49FFB2C68744E64040C1B9B5B3FA1A28FFE5D837E3553E7F8D7A6C5 A7FDAF4D5C9B3C001DA736F5B65992F2E6BD37BD0F48F4CB0DB4D3F340961AC3FE596FEC65D9 B9033416A8FB76C4D4DDB10324101D7EDFDAD4C3F899443BD4EF1E5FB3D9D6ADCC60EEF8E845 2A2131280385C9BEFFE45A3C98F3B150436FF490DE1905C9F8C5A4A3C5F0694ABAEF2B0349D9 E39C88A967FE207C3E50ED01D1378CD714DB7294743FB8BD30330ABC98D8BDB62D95F5295AEC 2E92B192091CDD27A2825FCDAAAD53592A66A20A87419F3260ABA13A25AE6E948BCBE3E8A70F 0EA9C92BE982DB4C9CA3EFF9AE1C7414E9758F47E9B3A1E956C35DD5FA88413A549EC565E339 5A657BC69077808C6DCF4972A9A169B365670B3971698FF688C5D16C0E8FC33A17545A63241F 756CEEE915D0411B74EAAF05D11B30585D565767703F2EB7F64ADB524432EC7B93B13F93FEE7 C1CE8B07409EDAC54EC922FC4C8A5267E099FE74B6E4ABB95DB50BF96D21D594D6B8195AA2A8 BCD32238725A2E958F036150188201C0D3CB444821EFD60E23A3CC6A7DA6F7DAD12BAB0DAE8F FB3A7A8FD8F2F0B22F967F9FBE68DFEC12F65878D3D3B40F288681A50BC99EDB869EC0C239E9 EE251D55B7BED08BE2BE3A1328F51B62FE7B262AFE6BA4C8F4B9078FE9A165CCD64C333131A3 3DE9664142AF556DFB39DCC69675F107A6461E57BEE4507F97117B79E7593DDF72897B3BB16F F00228FEF4A4F7EE2A8473501EC5A4ABDD5EB93652C03443CB7C96335EDAADE0CEADFACF3A65 FA5611DCF00ED78AF0052B5373382336F34D41A3D8BEB767E59C47D83C69F567A955F62816F9 08C1E9A45FE2FF2A356A38D576DAC757A5A7804F1EF40F27BFF2BF840E53620B59F611649923 0E49719EBBC57C4BE304DA6332805328E5069A2015818E49B53935AC51C00235DA3D5B6326F8 15964A52921EE4176871B8EE545E1D53A4CB952F624626D8F18850B80E6E9F3592AE5A768BB1 DFF634B31488AD02854CD8EEE10D9F3F599954E7CD4FDDD4FEBE130E287021A2DF503821B9C7 68368B26ACB7EB2B0D88F150D8749557E4BE40972743F3F1900D0DEACFDA766C0200A51BD15A 9DC3065E935BC1C7A18AC10FB3C418E56449B4C9F810D469BB87B424D54BEC3ADE985CA8B8B5 8295ED54360E90F2030755F735CCDE48E24A9E454F856B40B5698D5B5493A28F6F6926B3B237 EF3CF15D8599F54F8D4394A831438C8F6D8C347A74F7F219248F5497E7229BEEEA667D6BDD2C 4E94138676BC5DA90B2BDD8375F735369FEB5B7DD6C61E737747E09DE5174AC4CE0122463C84 80D36DCADCBB1B35DCD1A94EBBB22F7F80B0E30EB27F3D959CE813A491217ADD5BF3905C8361 180B23D044CF303FA87F68C14C9325C021F7172F83883D7DC50295B56DD40DFC1536F995CD9C BC98A39F446D9008619A091CD1BC64E9DDAF782A9C267C2B917931BD8A84A79F24575F73224D 0E4754E11E8769303BE9E26538446C6AFFF619635B52B5E276E2C6262FBC25DA02D4D43B9298 7693ECA561C5A845D3865BAEE7FC4A664E9913819445F8B13F1F2B1A542A94CB06115D1E7FF7 638E10331F495B4D6971BDD9BF24D2B28EF40C8C82519065B4116AF8730E2B84CB6E5D8816F9 25544F2FC576505ED3DF6C45A14BBA68F9F54B111E545072FFC9D13BE8D9E6F96B4ECC10AA1D 641D13AFFB05A628E90F08B1ACE76B2CBB601E43A9B8264B6E62AFFB32F4812D5F2538ECEC90 68CE46B51A71AF50ADF2EAA81BBF662C0AED7A19586C165ECF9D7D0A2AB959BA6DC8CE4E4A6F 164AC9954B9EC7B5910C77FB93A008D9621704A516C0661330589325C30C7F0402319A66AD5F 53342603D97F21FCA7E4887B7438DA6377005F6CA4D87E720E21001681967118DD5E7F459803 D3100E3A283B48D860F15B37BBAF50FC9903132D2C6A011EF1AE16B95C8FA9F819857F972645 E7CC11AF62DA297B2A6E231143BDC26873BF1A6BF23EF0C47C1ABEC894B7FBBB71A7664A7ED6 A59B16C2888098BE97F574E9D487CCC83E5850761905A91E2FF6F66C0601D5DF0115B8FC095E C66D862DE36492E21D91449CFD93BC1084DFE0012D2A1E5843589849D1A46B630B3E0A122CD9 DDC9239D473B86FCD2B0232D3C71A5D5A3C7587888A037EC9BCF09B4EE7D38FE3C0837E578FC 8A473428457E1535BA3822EB4C7B1A5A8FD47B453EEE0D620B888AF7C48F5021DFC2D201CEE2 F7DB8A50BA78D5D56EF597CFB3FA5D98671E79D5E070235B9CDEA6FACB0D15AFB96785E4AAA6 62CEEFEFB3B16CCFF17B54294C40C69359B644C44901205F9B7C3EA316980F82CE0F1019F45C 6E3D00439FC1B7B483E9B95BFD995B6CF59F05AD03D96EE331811144C386909C858F93FECE02 7891C42288CB9DDA74A7EE15F415453C3355671B80C117FF5E19D82431C6292F27510226E829 0CE956CF446361FFF1899E2A0C0A2028DB91BCC0241CAE66336727BA1415C514A818D1EEC8E6 874EACE31AB3A8A9EE8307B5E1BF53ACCDA0324C9A10332F683A8B845183F93610586CCD7EAF F88CF4B2A0386DB108F2A330D25F4C4F40E85908E67756E9D2AF2AD6BEF46D862FAB8231AD07 E30948AF6B853C2AD03BF066FA79DFBA62821F3402C32F927A25F0840ACF2A82DB3FC394ECF7 E73B677208775D3582B7257F9B7240D098EA700558D4AFDC87FA610C52BFB0D710A91E14B303 B49F0DF8635B11B1BA1E81A60161DF7C3068994E38BBA09C613BF83C956C18D76B443B407AFE 41911DC1EE2122C08B0D4D0E395201E24A2C2CA9D8BCE2AA76C71F4ECAD84DC09AA17FBDADE2 6744F64BDDD6165655539CE0657A7657CA7C3BA33F2BD9724A9AACC0C04DC987741F39120D75 1B8B5F8E141A224715DA45235B1BBB2A8575E546B33D410A4689359BA4465D654ACEF599DF63 7DFCFCE1D5639C9C4EFC24614301CFA172BE0EF1774F31BD2DDD0FFB680100507A0FBC9FA8C2 7BA4AB15C762599F76E2B3A2FA7037870E88B145C5B508A08F17D01B7B55F294DB709C25B53F 0E77A0746162D3603FE10F6BD1580277B6845D98D08A172F47EC51A36E4316331844CB9E1BB5 DCD8B9D1F119599AB8182289E01A6470F2504C2E3278D36A5AA5D40D5CE64536316D39AD5EC4 927644B9CA05AD31946C184B1A13C586412E115C3C970D13D5A4EC5DE0E23D10E5EAD8E78A6E 84C3BE1B3CC75D26F6FD4C84978F7A15B325535EA1DC674CADE67E758B489CDC7DED5BAF2F08 08A756A342F27D959FFCB92F29F034C7389650B422A69B525A3FB1435A7348C36066677ADD54 1A0D3D0A3130F380372D9931B689E562194979414A5C18B22F839B695C103348ED9229413183 F5DE7EB61FA793C144FD6D7A4735AB091A33DA0BAFF9802F2051F091C91103C06FEFE063097D DFE22F2D922491AAD5C3D47DA4CEE911A8B1F76776699AB7647D05BC4A202610E35D738BDF05 69379038A22897DDCFAC647C2565457F7464A6E51D29B7527DAAEC3774565A9859CD0BA44EB1 1F89A8767409596B9CCF3033D7B2CCA2197E61C28FCC700D93402E70AE490D2480C9233E94BF AB55F3B01A41C551008BAEE55CB82520808EFF11FA9F6E2379A17A533AEE2935A13909C834F9 3D7A93862AC7C48EC151129750FB6F8101E8E4B216CD31BFA3D9C828C3757010D3760633EEB3 F4CF6C5AD8C21970420436F0BFEE037AB3EF43145265D233B3BAECADD4C47A0636A01C40144F 168AA598E3FA0F2E05B3DB4E234B0298F34E7DF1FECE36461F2FD6D8CC8DE4FBA989F07344B4 2AE5839D4998459B65B0CCBB866D1E9F9263DF2EC8B41A4B45B110B390BDF67517B7420D995F 30918CABCAE15D325B4C372E05776327AB08A0D77A4104EC629AC76842DB7963226FDB6DCFC9 50E329C4F94B01E6BDCA33CA94A114C9037EEC9F933D46559499B7A14E46B6903683519731B7 9E6C40DE54A2AD88664CF5A14DED3DE8BAED61AC3AA0303DD87F9959C0A989561C37EB1FDF76 BEFEE80192B8E955969BDEA625D66D516F6725725799180719FB51D0C0C61800EC11FCB25DD7 FD167A411B4979DEC317590927DBE751854F51D3FC155F3BB31EFE0BE81D51B72DD525B14B23 C5682394BA9E65C5F284E51A26216A78E7A73D54AD3ADEFDED2368650C411532972C5CC8070E 161386057ED0CF1EC204186E5779B74AA82543892C84D4FB8E4F28A94CEF830F726900BE1125 53680C3E4B0641F124DA412BE45F6BFD08241EF4E7AF33F4B401FBFF395F2AE4A30F5E617ED4 80D7331ECE4C4F017C5F11ACBAA2B5659F83BB1F70A9287123A5864D08296D25D25C6F0A6241 DCA50AD824AFF5DC27A5D43AD8D13F877D768116CE58CFDDF19667BC6A7D43E749FBF61D31A7 76E602039EE1BF04E386E5C25E00997C5C230598E38201C87D46841BF25FEC5A4767D43A494B C5C74567D98F9AA4EBB74783725E302E98C2571FF17E85B324B7CE26BDDBCB81CCEDB836063D E5DFB105F28D39D9530C5289CE330480771EED2D389637A1783BD5B25864C7CECC0B717EF79E FC8387D81A219781D25CED638CE4E66BEFA42B7426955B808B35C4AC873AE9645864FA75C3A0 56D1CCABCF30941BFC831D5D8930D10C4D49AAEE0AC1ED8208AA10AAC54CAC0314A520B0AAB7 4D488F39C382F316E6A1ABAFDC20A542D6CAB2B87E3D1AA0403F8A23BBD230373812116FB341 3BBDBEE188ED5BBBBBC4EEE0C7E1850EC100D384C1AE3D801C589F98BAF5F82C8F7A37DDA543 669AC0DE51D1DE0D67689E5BD80BB9F5CA640472E14EA223B0110647EEBEC13DF0B572418B63 C6D6D8613625C7A37AE9E67B57F9E2347113CC234AB436148F45A952624DAFB993454A70B4D5 CB2D719B2E17C6408DD82A8A570EA34333F4EC602B6382FC13CE60D3F495B3E2F12A425A4FFB 62B518A8F12FF8E63757696E60639178B02B7AF8BE5C25287EF37B9C8F396308B13575A341AB 87CC3851EBD094B688244D5706BC504005A29C8ABE1512FFEC08D8A7642659B1A6F0EEC82141 A32029FF608EB4714D0D34C5747C89D58A5FACD98687BF5DF3E27E5E51F81C1FCF4EE23ED40C C0BDC75721802262D6FDC798FF6CEBE4DE75A7ECDBF0F15DE6B6C2153C5424892AA6F32E8968 CD3F55118EAEEA574E6C4C18AF92DCD1EFA066AD3C0A7BBB42FA60B62E910399F4BAE30FC939 0C1BB4AE90D098BB6E0D0A106CEAFA3E100633AE84DB1AA16797C7D49305642C66D5422DB076 5BD992DE8EA728F53C73F186B37F6F036F22FBD06EA8E1764FFBDC42A07D96D430428437A978 B4C3BD12BB6D76547DC3B87108A258A6B4BFDE93C7B22F27A6BD3EDF8555BB0926DA2FDAA8DC BE37A83D55A8D592B0A41630476E1327EF14571BCFB6D5B92F71B272A50D9DE533EAA88BD8A2 4B1EBF68118457D5A14225EFD9B8E234A99EEF668089357333A22F4631680BE9E2B1638D7F0B 1D1B8C84E39A1892DC40C16839AE8CD7F86E5EC8D7559158EFF38430B86B65887417D1F03C68 BF82E6C15AC0DB8B58EE1600462B867DFEFB20878DCA0D1D38FF679337DFD7BBBE4D737EE240 7E353DB4BAD5EAF81DEFA8CFAA9C299345449F8C42AB5498DD8A606AED7ACB86E0FE64AC861F 18945A956BD3DC71DDF0A3C4C4BAA217117DE0F01619CAD2118F269B2BA1A77CB61F17E99166 70E51596D5CE56FCD74322BC15C17F502DAE1F2FF719F082D0A698F72B8C7BE6FBF56BE1E025 3D97AD3F122021ACBCFCB1504C856FD2406CC8F0AFF60599DB1E4CF989F5B28D7B5AD5F22D3B 2B6458D460AC2D5260B7CE7C0DAE68942CF120610773CB03C219A44ED9F569B2076FBD4553B3 1418613988A4EE39E91C0CF95460C4D96B443299C515BD89BE72CD9568D158CEFC75AEACF95F 0A0B125C5124A020EDE1A42EC8E737EA7CE9D9FF5B6F457966D409654A9963620D4C195D7615 C5507E435666C6BCE835973A830772223FDC012A1453F515AB733F81D7A442810AB2E3A8C144 EE93DF45DDC05E1B6E38967AB2203B1C0604C38A18DB2FE937D1226DC9C6B198729CB3C02047 AD65A19350DA0E019C6DFBF866E94E6F409D4B76F5D2AFF15583AA0FEF0203D015FB8878B5EC B35D5F34A42267C6DA0105B31C825F0B7DC26A1A3122F63C6676018A4AB05635306E51CC1270 3DC200DC3699A5AB05B744DFD6DDECF457EECC2F9DFC1576F4C5F758EE3676C5A4EABB321077 8DFA2B9366A7D7F5EF0CDC0A1E1DBA51645F8F72E8080496CE8517EC7BA1A77CF22EB451EA32 D9228DE6E1F19A55405860E2D37891E85C0908F2DAEA89B9517419D4A76DBFAF8984F9EF90A9 126AEAD55E7136B549B25D5C829D1C17950692577DA8B9CB5208AC4D137263A6713878A94BC2 3D03469A5BB6A42822CB0BF4C284B077FFDCFFD91DB65407A155C94767E8A0085AF0952CDC06 5E04050AF7316105566A430E3C2F8C8A97C4F687E90CEBF8F72156D6F86455A5FB05C4FBC41A 2F51B1C3B1B2158AA27EB96EF726FBCF6C6BDBC40074880DCEC3228C17B0B657584E6BB48A10 2602D4150FA60F591B9F4DE04DED1D32556D4E5708E97368E86120E9A3F87582E9903BBDA407 085964BF184A6C11EAE4C96AD39F836636EDBBD0F2E37E988AD6C30B03618E402EC752C03F86 29C25D7280932A3187BFA478E8577299015531BAFB7FBDBE5DFF28198BAE528E0ED6B9DD7430 F9B16B0718273C3B0BF29E19405A8536E75A08A4E9C247E34FC9EBADF88A680A3BE547B87374 5EBC170BA982CBAE1D3963133203249B5FFD9AFCE6EF95162EAD87D6344F12A8BB16F5B14B9E 152EBF30A1D8E22B3B75073F2931AAA5A04B3B808AAE81F9FD3EDA931C45A716DA2D1B298924 CF6EC24C3E944F675E53A929CFD84C9917F9471844A97CA6F242A736DB9B3A401B8B726E4AC0 C48359D1A85EBA65F0463C34524C17B596C26FA7BC8DB77A8627E417D8E24FBEE8007BE37B6C 5B39D08D3CB4242EEB78A3ADB969327D48EDA63F01D211D1165F4078EA2B067293A9FA26B7A0 0FE0426E702C6B080901719F7E3C2CB9AF82E9A5B3F7ADEFBEC8AF79EAA9CEBF07A1A8873EDE 5E64333FA5B6672815D887881B705BD0837C84A7AFFD3CE49BC330C0A6FDB04EAAEF4E360020 B65033FB1115C7E6CFE781EAC31F15E03614E5D03AB29F7DAC49F6048341272DDA6D8378562C 0507DF81DF62D9F88B80AA0FC90FA1A5A5C23265F8E3635B7E66F336D30D1F977EDB218EE691 86F404370A3FF65BCFA8F62CA5BEDB42FB34ED525ABE07514CF86541F182F826D91D9977AC84 9AFAF9924F888C5D77AF64FCA191F831DF5582AC7CAEF95BB346E3BA965C9A0C66CD494FD3DA 7015977BB7D0B882C5F080D2D62AA0DC5D0EC8B961971F1BCB6BD97184DCE6DCF91D91A54EAD 5F7FDF7AFDE33894B084467A81DA5F415867A9DEB99A5828DD7DD2BA9C2E6F9D2607B5AB4066 12B233CE306C32F658D9C724E7C6F31500A0ED8BEA38EDD3ADD82F3D6F5DCF92921F99D8DDB9 C51B116070AFEC7FF60E7FD6128DF63767D31F31705DA4D0BD7856374B3C9A2AF2F128FC9F18 514EA65F196EA0B949EE95D580A4199F1CC5C61590878714749F58435F490E50854F5794AB70 30FA597760FD6595ED958139B733613CA6CED006B9A44BCE4328DCA478DF66880778241F8A57 70237963FC975898144684773875CCC1340342228014B220D90523FAB8DB26DAFD9B8F64D040 BBECAE820C83AF312757A2E59A1B1C15D58C659FB9A0405BC72CBECC9C582E196509DCEAF3A8 7882A5C9F880A884D4FE6CE66D91917045E9EDD0E0EDE475D951C3070359EC90E5C9A60FEF17 D3E3100BF00E86F25D6988C134C37B85B8615BC3671EAF698216949A68F830415FF4FDB07285 A23190714ADA60C6814FFA9908D771C2F3D5F0E86FAD4139C1DE4EDD71D8ECD2B06A6DA31D9A 8E1C8DE00A6AC9D9A434655E468FC9562874434A8E811E9FE54401E169AA61808B1D930E9549 02C95FA423B8B087F0D8832A480592C5A46BA0ED7961791B1EA4938FC2334AC1B34734DD4803 C1A56CD855512B6DFFCB6FF446C4839825CEC5D6F57EF330807841982FBB3B25703F1001A05D 60FE789FAD9FC1E171C27373B8A1106437066475309A1519CFFF0AD34FA52A0A82AA7087A9F5 DA4833B872FB8F61077B8D66F50A565C2C3A7F292CCDDF3A6717A43FBDCB92C4EE796901A9BD 8753EC9B84465DA0E9BB837578AE9D47F6B73B60EB60357F77ED3BB9C75FB4A2D2D350494E90 66741F7697E22F465616F01965A985219FC92CAEED20BB90AFD83DCC07FD04F6E989A0FDC0D1 88978134E1B637AFE34E91B80E81BF3C05894AAC716F7BD514794C412A2C682B54E00557E6F4 BFA737F4DC41A75874F59A8359B0C803BA72DD896E8284F37DFFF3538764CBC2107CC1B7F064 63517666EFD66A090260BBC9DC71A0623FDCB4067B611CCF8BEFFC05F31EC52B5F5332CEA64A ED69A4C795E17A8CC53F071A89222E6595E26ECEEAEF557E4E73E54AD4F43B4C3AAA5DB67560 313289836DC7257BC84A915FED0A17405B80EB3ED34F7EE8F77FA2F8AAB05747CACECC0C3DEF 8C3979D1703AAF55D828D6AE2ED8F509269023D86A59F57F5998A51B8ABA96E7CF29A9096E07 1D074EC6D07DBA5F6BFAB8B87117B16BC0B705457FA97272B70303DB02346EAFFD6A2B633EA6 77B160E00E58CB12BDC02114EAD6638E409DCAB1FEF4C3A277556BCA03BEA50E8F5BAE8B30EF C2F4E6744F8D71FD59A7D5C40D5A5FBB93BC58CAD1CDC0CF57E3FA86F7536911170259763A11 E245B14C95E5A0C06483A7925996CA105FD1E93442C07BD3212C13EBA4C71B818B2D96CFC690 274A890202864959AA0AA9239049B18F0EA83C8F439DC5736ECCB54B4F1BA0E05C93AD4657BD 56F554561F308E2036718CFF4F15C9D6883589B3D0A6BAB9E2271A5B2A8331BE2502D9724734 2A499EB08E38CD54D9478E1A896CD91958F7A515194E01F5D63304B1A5A85AC17EB25911DD25 372966278828C463B25CB6BDF5DE6788F256AD4BC3282FFCB584F45367CC370C04ABEA8E289C 42A514BC50D551B46890D790F9386A30B9D4A47D41398787815FCA325D895F729D4EBD11ADEB EB8E7C52BDE67066721FC14D4D724EB766627923B2E6DC3B0C1716A1AFA2D70B6EA534269BB6 3D1C6E7444BA4A7DD1CB5666223EA863B258B3C5729973CFE95495D228F5014554D2363869D8 6EAFA9B5C12E38D3A0FAFDFA8D532FF291507A305B16AC9CDE560573E3AC42D5779CBBCECDFB 33111249084A1A87F87EB6ADD8CB718FF185DFCCA6FE57678B9D00BB308986E55A3ED468EE9D 2EF7B607FF43AE0A78A841C72BC4559E46E6AB26520CE469D8F9C6F341AC162C18D4616CDA92 534A5FAC40FAA9E504971A42F30918FB19570E189C31AA548EEE4BD78B2B095BCE72A63BDC22 E3553D1C687EE2A4B5071FBFF7CE1A6209372D8EC0471F77433AD0C228301C09A85FE4156070 7016526486FD6C2A5E2D06CF1F65A54616087AABD0B48C8E5B5BE4314F467C3FC73A5DE6D02F FEEC369A73C80E253EB5D71445780FBF8F3A386090F7CB405E92D1EE91E1B3CF95EB9E960884 56CE40C5F6CB2B54B57BA10995DEEB1744A79A94EDC7D446125718E3527C225A869AA5DF2B73 3F66C4D4AEBB7D12950F19B67F3523CD8A7944F94FB1EABAC3A00C9E8B0B0FD8381BE5BDAF87 5E4C344312C4ACC28192EF914FF8ECD7F3B7BAB5F00C0DC889E3E66A643A72DCFFB408A43760 BF2143F7DB1FD83F767AF8031A7457F3098E4FBFD6E1A916CD677DF4F4CAC1D4804030F1B92A 5E347B8D9EC40C048E9C87C61CA42B74AB6037628C585C08120A0511CDDEF4C9581224B15220 A67EEC584490FD037C605BCA48555BDEFC022F8A88404A674DD68EA03902E29A584F1F392827 DDF1F6D62F1B0676463DF8A141C779A04F3D57279CB62851F6067A36A457402B160BA48F1BA0 388B716E2FC0AA891C651AA36349C3C97F21B92B12350E2DFF420CB9E9B6CFDD2AD4EF2CB602 117245C76D9357ACA27DCF783552F26C67CFEA38CBBCB48F7DDA8770E0F6CEA145095BFE2453 416C6F371C66BE5E25DC6DA77282E600BD616792A2902081CBD392EFEE3B4CA16D937552F439 E6A026E9C28FD06EE0ACB7C367D07AC9F4932703AA02EE3EA97E179736E73C093E752B27D706 20E8B5587B605A0E473CBEF0CAD582AB053CB640669F80DBDA3F85AC8D5CB655A5069E110671 F3243CF0664DE09B0A89A207F132B796562C315ABD21B36AED6AA9AAED4947BB6273DE4BF15B A36973BBED87A6E00C1BCA35684D9FEE78FCB2CC733C52B11749CC257B58EB0BDD5FE1C21C2E DE3B445EBB456BCF25BD834F6EBB9014B9B8680272323A7F5EB1156EEBC7B82AE735D57680BB BEF0F31E8D886C46DFB8DBFC061493263DB6C6A9996B180EA6F8D1436087304D99812103557F 1E7ACB0BA70CD1669051F51B5D44FC1D58B2D2FAE10C81964455E82A018B90B6F85CCA71B1D1 52C1FDE71801032DF28A243972B3BDB6FBFDABD98A9CBDB95E9C855163CEA53FF7A5D5E47D9E 82AE02311D185828B2A27399C93E5C93B05CC1E6EA7432FF47DC18399D9A9D21FAA7EC9370AE 88F41EE1E639AA26AC448FFE9C81F6DF823E67CC0A0B7FD36BD60FD0C8AE4500A224ACDC0F82 324E3707BE41179533E17649839545A24A78086868BAE76B1434C013F3C0A2FCC861248DD806 C08CD7F0B963CA49D908098EB2AE675D6842079A6A9908F3EB054D7374197AF469306B6CB33D AB82314EFF1AC09FD368E7306F240083C977B2CCA89ED5E41B47C2F4BAC33F37B8461A89EFFE 89C82B5A71CBB986F9EEF472590EED198AAFA8FAA90885BE4A55FE546C78B6CABCC5372257FD 9C9821F85BBD6E03918E36E44CA712F8D7EBD89C66A9BA0EA7BA6A45D4203E0E2BFA64C12416 DE64764153C743224AEB73E6BB67737CE9E8A847DDBB794B66C4244EF2C62BB09D281D43EE9F 18602FE93F1C7C7B90765B345F31A1474B57DC8A13CFA5BA7395D2E558C127F1AE9724B1FFC9 8D9C80C8FA727C613D94A36B43249F032ABE651FF83E173FA36F78ED3E03C2C4F9745E37149B 30C6BC2CF5FB4ECDF33548F3711CB2031C82C41506A5960BC28AD8BDB7DA01073C8277364C60 1F1DA2B4476B0616555F9C208586817E4EF8987E8E504289BC8CF6AC33B6F18C5BBA16F581D5 2D008DF6107EC616DBDEC7991CEAD17BDEB467F9C6512A2B0548917AECE5D5D32F74AD93B7B3 D27ED685F9FED5A957F90DE6C7E94553BD1E61C6A3BA36B2ADFCBA9ABE991441B51AFD9E986C A845F4A58E4BAE93EF57929A93AB4F61B11BDB0A079FE5F3984FF53E1718C9FE0A3F2A0690D3 4FC79B89D1B4DBF2DF6000D5432A191CAB9C57A0E6F051162AB976ACA2023D6E01E1D4D80EA6 DF6B6AC91535F8867502BA4423648C2FA0EA61FC42F76252345AF3940844E1F582EB9B20D845 998A2D6C08C0E4D2A8F414B1AADB1F42B3614CD1696A621E134C0A2A70CC699F1A04611D7EBC 4D67F989FDD35EA05B70F26CB1EABF536D5AA6B7C88934D2E0BBDD53DD953A14FB2B9E5D6085 24FD736B6D79E96DF083EF23E0E3EF123EF1296CE0B61076FBD36E226988AA31988C799A3CC5 71676C60A131416F01B0AB89BD8986681256F49D18B65F81FFE00C2AE1043E2183BFA14C3898 B21F4712983FC6A3D4165250F11D2885362AB2152774C85BD95A056E380FC76ECC6A59E88888 B8442645C5587DB510F0F0B444F28112638ECEADDA7A58C552061888245D6DFE75B8E2ACF8DD 16D9B823B4E2348CC52A6AD4B3B49A0E789F180F2B3331E2B063FA37EC766032A05C6898D2B8 D742AA8A388815C861038D9C9FC03A6708BDE079C6916E1249044D57CAD64474996D86A5538F 34C07BE9D659EADFFDB7308E40FFBAC387806FCA0B99D3C17A1FD85074C31B6F46DD26035692 3F4E9715B5AF2DC6E4E297E9D760AF91D5109A58591A2F75E640A6298BB70DD88321F6D2BDAA C9BCFEFAC06B075C3E43BECB57D13D882C8CE483C01CFB669BC6F8B6D0B68F9AC5E5742B115F 3BE89A6F6BFBEED2B393AD2276F0AAA090B4FFD18AA8B44CEA8D4E3BD0BE06983AD199A5CDA5 2F946F9ED82AB66CE87287761F3A9D4524F9D73CA7996E1E93E2C545888C61978E87DFBE0E32 7099908C5FB2A3EF38279E3F3911164A2B0B992F79CBD1CC70B1A4A00530D9013CBBE6ADEE01 D66523D73C88D978222E32F3739B824B5CA8D57611EF9AB62747BF609CDFF960D587F528BFE0 9D097DAD87EF86FD09756626CF9D02D01A5CBA43F01FCFE11F9E578799C33474AE18240FEAE1 47C69FE7CEB717F13787E6346CD0A61459CFD64B7DC40B3D93C7DC664B6353C1818613B3B5DD 492087320A37C62EC64AD029C6C49CB22B7D015A792D09696981166241225D36234D30DEA1DE B9D971465CD8294FDD3030B0A2FC1EBDE69975E5ECA47C7AB1E06B5903A88DCE7723D9D67D1D BB248DDF6B5D45970345C80247AF5282E4F9D9518A79878CC2933D1E1D465EEA19A212DB186A D6040C641F6413FD1DA3F999E92819688A140A017EEF1ECE2D32858EE89510225C2B30D15324 9DE7F77DE4E9C6649F0F21A51E6D544F9ECB7BFED6B29340BA3C73C7B5C4B0E3381D8BA2393B 56731F09F2504CDDAB5215141A2C9EDAD16161C0C6B295B8070A760ABF872E7FC5854299108A 879394435F8B5D057FE4295C5E5DF726405AB3B3849B785102AB8540D341F150ED63F6E43503 E7CA5757A3A0A1E5858EFA672AA16DE1BCBA1B75F2FF0F285C8BE0632A1D22D40A18820F24CC CE7377EB648FEDA70DC05E2D9E36F39FEC53033587B0DDE00D492A9C9BBAFFB6BF70FF51041E 1151D3678D756C9A8E5A327B824620F6ADB31C43424AA977DB9CAB16E7060D199C0E7030BBBA EA71BBE39FBD722E3B340D19BD6F17089C8CE0BE3F2EB9A0B6658C2A732E52718F7355CF902F 07ED1A978DFF17961360420C8A8BB5190C334A3DAC4C3607ECC06C040F2CB7047A7466CA795E 79B0C743182465E8FB49BD2A9EB2D6BD02637A8C2A462574697F56871C38301E9A79AFEEC64F 1D2F1A3A75180CEA35DC20B4205F57D67D55C7C21E5DD55982146BD0EEF2AD0A450FBD37F821 AF12E1CA094B19D84AFB70004660668067C85862DDF6D9778C8993762D9C56B1A159EDC4577E CA8EE5B6CF54B77BEBA0220D8D981F873A70B803452BB8992CA67870411A987A5AF976C0A79F BB9668062CBD933B3CDF88FA5CF665CD411457A81F08D85B6FC1C416089180189FA968E40C3B EC9CCCE68512C639B9293DCE4BA86A9FC78B5031C178901E81FD3F1B4520945688363EA05860 595AEEACFFF017E2344828BF05C291BC464EF424423918DB4CB74AAA710246BFB9F03E383F71 680623068D62A8C53D6A4DCE7F8534B52EF8C1A7311168D4D94452A66025ECC809CDC212312F F6FB04691675B1CA7E4C3066BE804EB42BFA3ACC47C11C2750C1CC06EDD9ABE042C1539CDD4B CD8698405C2602ADA651B222447BB3DB5B83633B9DCF7EDB246C68A45521B541D0CA137EF11D BAA438E963A4519EB0686503B5605B637C4DBD91AE1F4331B03AE7B52CA0DA8F54E43A15C402 3DE87858D5E436DAD8A89FA067A9ADB46B2EEB54958D49D1D84DC1BD84512DC15D32EB8216B0 8A3924D215382EFBCA0D448969DDD79C9030F0AFCCD337925325BAB6A97C7067AE96F70B4187 D28FE69E8347ED3B8C73098615E032A5A012D9D9BCDF39BF8C42CAB9ED7FE9248F06206D4E6A 10668C17DACAFCB033EF3362507860E3AB7C540EC53BB725B28C24A94D86CCAF8D51FCC2C0A1 9B89AC78113F1AEFDF3A53E463079BD3ECEA106B40C2B95F3D6414CD9C2684952EB02E7C9874 2DAAF5F1824D36E2DEE047A5D073AA73DEE5836C1D9462BCF78C837080C7DAEC9F33D2D6C1BE 9D1042424B4FDFB0007119ADCBD9EFA371EAA1CD149476AE6B004EA47E5DBB9A2603A49F19AD 0CB977455583F60534325D0CDA9E60A3A45AB4F03D336A79FCDB1F2D1DE0706616D159A3D261 AF379A4E17829D395582F943BA93B66502A9EAD5F42C501A6D7CFD2EEEA17D7297F8985B480E 0FF41233BA53E120FF97044485354767C65A84415240DF537CA0532DEAA1C23ABF3179823664 EE96A488B0C5F1BA284ACF67DDB28B912C73018A34638B7E4200DBE758CAEF3CF6F82638F7F7 87CEFB19DCC5FE6EC226A92051E2818D835622B92E70866303F49C9589953B67ED931C4500C9 7A1B07CE250CAED036A2831F555A21130EBCD65ED599DEE85B3B2B4305BD6CF57BC690BD4E46 A921C6D9820DF80D3C300B477DCBAD45E1DEEF467D7A64AE5A783BC75B2D71DBDA7F79FE651F 1B9A38398000F057F19D875831227E1CA67408057FDD1C3AC2A814892C3265CC07C250B4B75D C0B47543ED8738B57FA413B2626E27CEDF5C52520AA2D2598DE04F868312D6CB72C945B884F4 058CDD4F7C27DA4AFE166A9B3E5328DFABC69BB1917C85487F694E2213F018A0F22311CB9D7D 504B29E914066B23E892D300F803036B31A329A2BB71FB2A4B8FEE77103D21EF7137D3D398C5 2320825EC7B22A8202E3602BD2F4F65971AF5B6A01CB2030175F901CB3773355DEAC2BF2114D 3570323C93004768613BBB553F43BDC0D968993E317091521061670E233424CE69E38A21A903 351D84AB69B7625E6C52082EF004ED357B3CB5A76C8CDCE4DDD28C361E59B6CAAAD0B546516B 9394CB06575E028F4CBE115135CEBD38FA60EB389388B9DDE02880128DCF5673B2FC1FC6F309 C8BD6307EAD226E1EE855A11B0ADA7459571DD4A8231F4AD23907A9696D1EE001E2DD9A7B45A B8BF746FB9C904DEE41A95CAB9BA42BEC4923E68EFEE454ABC1AA47BAAF48573E9AC766878D1 02E5BABCB26E84FF4A6CF6E9D45EE580528C256E536A156E46AA27630A1C342E0BC95DEE3B82 2BF03D70763AE43565CD0FC1DF62D5AC7405AD00A79E6D44C7B4E125A13CCF7738EF45313CEC 15D39C0D02A59E028C5456A6EF56DCE7E6F751DA4F16C21FDCFC055B28042266AB5D3FDEEC83 4290DA6F6031F051B2F0BFB3CF564268CE30C03BA44970C05D2A4BAC6DAA103BB720A45D54CE 36C45E8666705A653C76E31B9D345B221DF2D0F32115C312F5F236C68542784C8FD905464A4E 3173B640C2AE997CC7B8400C34234D692B742872121D55BE2C9F7970110A5B98A94C39E37923 E785767D2F0FEB6701B305038AD1D15C437E49448C8E0A5CD64865CBAAF4AE48FFDA3F3EA297 278B7D28574025BAE092ABD8C20BF2C8B9C582ED9A0BC1B13A5B3C8D688371455F83D4D3767B 5A1B3381FA9955D180ECA54FAA8FB6EA302DAAECE68A4CDF5961ED46FC593F17EEBC26E6BF1F E7B28E467F1D3C7527F0F45A0F51B2CA758D3BD98CC4AE00BF77E16D3763998D95829D1790B1 597526244A6B9F7C8D9240C951675569E76EF318A92A9FC084AF2E0877D42D749CDB404B5511 5ADB09B7B21E1918E9BE95C75FFB10385D5F3631ABA94F729F4C2B958B64AC746421D9C5C1BF 9CBE5A987FE752F0255E065A9410DA2A3719BCA214E0267930098A6021F095B9F040B02213B9 AFB034D8D393BD3A13F5D43B7EDE4B3BD16779D739A03B33F971AB70435CDC3AE6ABDECAE52E A875F33D741F0975FDEB9D6BCA5DC70FFD5C37E560303C905D5090D02FFCEDFB111F69A46EAB 7D985C52FADC5DB2452A4224BF21A121171DCAFEA055A3A35AB94E2F18B6A10F2E6C672FF64F 2A75C9DCE20CCB1C11DF351734448437507C232F5F714EAA95CD4E81C3CCC8304E546F9440CA 38C84BE6E363F6CD6849A7B594C4BF040A6F0930239E8E9D638D759848FE1DD498F927C1B107 F61FE195A2C299D5159C5729F8E40A5938A9C3B379C957E11798208E467401640B18D2702104 DFDBFAF6CFA9D03E01FF8020888E26660E87668626F8F3511B1F58531A1CD83BA87D832197A6 E8D8237229FCFF99C8D331C3B98AEE62C04F818A78B91129D168A2DF79FA9EF1E177CE7766DA B3D1980C066F9DA0638DDCD0D7772929C831E8DDBF2B5D49DE9EFBDCCA7CEBC31CD0491C95CF AB411034FBF3E507351BE81A263AA3A9F1D29DABDFB8042A00AFBF88FCA7DC39A528B03FE1E9 B2F9223856CDEC8B25777C1C7A84C99B688CD70315F32930799F2431277857E7ABE0FA8D5652 416B17701155017EFA45B8B4FD013EF9FDCAD36F3193D8BE66400216CF6903868B2047FA5489 39B5BA92D84ED77AF779FEAF84D86721DC1A8195A21FAC05DF38D2BE615E51785751B6ACDB8D 141DE66C3EDDE7A2DED9D2A43E86F826797CBF740FE94A76A518F4D9A44EF0873CBA9DAC2A8C 938C3D8E821D9C2400BBECABE75A93CF23D419504C97345E2466F2AAE75C103E2A5F8F7116B0 0B3DBF1D3159412897ACEE6AAD88E876E76D324855CB908CFC5B1090BB79286C9A4F915820C5 E0D8F4FB56F5D21302752F2DC26E7E10D60FD3D0487BEC007E71549E32C66AEDDF127D2442D6 FCE6536206A4AEFDA8C0DC38993FDDC61861AB92EA956A310D5A35FE2748167601C1811D37C9 6E8F69914A10ADD3B46DFB25A363F9B82D67BF1B1B20DF3EBD975B0B2683BABDDD33CEB5D0B3 95A6DB274FCBB679FC367730F74A316B45132AFB81B4527D07BC2BF645FCD83766FBD17FA168 82273B9EE48CCF04C79104D493B5EAC14F7C7EA3239DA2A65DA4C279FE61773F39CC3AE4F939 2B184994ED9BE7E762EDAD0A82B331DF4C4548E7269EB78EB2B893AC87B65ED6CA41B7956465 9A0F59C409F96D71C72F45D8DEB64D97AB09CAE1F25C2339D30DB2276F2994F709C6E65C78BB FF17E83A8874616A92E24695ABBDD94DFEE84DD6D954E753B0C3DD38618F31303BC6864BE55F E0FC13162B11415046D54173AC128D56594061678FA2ED36A1CF6F4EB89AEE92DD7B7A75A52C 4D2CA5FA19C7AFB5E99243BD582F59141A3E0F01B5B5C6A9E82440E606A9713E07EED6F6DF67 8CA00FC787D789B6542575D43C6F50A168B9FA85A3E87C1F16F3EA88C01107BF98FE9FAD6211 3736DFDE04D4BA546D7FFDD3CB49091FF64EFA01593896E82C8084352A6BECED8D37EF2B5478 90A13C22B50653046DB21C47522846DDCD8A59DA8D838C200D435D835EAB110FD00FE2EBBDD5 1955FF01D416CD55193FE697A63C0F2A2D0D8A934AE720E2E9CD98B7C8753B5E150964428AFB 38901B2A793CD6B2D25AA29BB669AA020D076AA3690B8575805D121E09C9781C0D7A0C7B61E4 8A96E32220BB969B3EE86841E21EEC4F1513102D13A351ADE72B3D829FB4606108B920C0FBC2 9898E0F4175461D55A528AC3CC0C4D4039B2357A8CB1F6BE44E63A7FB3BD9F8685D137AEA474 CB3ED67891110857C8B0CA1DB9283BFBCED04E9E89573D375F0E85D589E9A0DF4AAFE9113511 8D3922393F622DFB4EA0649471E78AAB23B0EE990E17D42D7AB437879DD8ED4F60C471EC437E DD299CEFDF402B33ABF419E5AEE40D57EF7E80F10F5E40A0B6A655160A729C6E96DAEFA27357 B917DD49B1CCA24BBC7CFF29773B16B10440995308405E97CF17B12A4BB23FD888074012EDC2 45D91F3CED4DBCD476503064BCA7FBC9AAD94D4E7960AF26002FC3B29E0EE6764E4447BB5FE4 B2E37A1FF9EEDC3502E8DA5766B18701F36BBE5C9D072AF87AA5A6428A4BA47FE958EC7084FE 86F6CB85F768789D66775F4698DCED5F1B3A3907D5F7AF50493993DCA677FF01BE16526ABF8F 0000F117739029B07A83ABF3F3D3B8097AB7D4CB21644EA8215FA089AEB3EA1156E1B7D132FB 37BFF2621DB030756C01F6F7A1466062CCADF0E1F7138A3EC3892E5170E0F9073A2A0114F77A 2CB6967ACF385B1CC55CE009D236A26E3CA79F6896A9ABB52ADF8A09A3934A0A5DE66F4E9DD5 6B8E1E6599D1B40203AEEB01DB50915435FA6C24F52E1606CDF0EAC9AEDB3A56E3B8B6D8E9B2 1C64A7CA2897C48F135B6343D27613D4FE1B50F7870D3F003FED5604C27206EC71E8E064E664 76ED9090A232B92676936FB6327D84CB1D6153FE299EAEEE6DBD147BEC68D136019B04273897 04189964684FA591DA67CB9A7A30330A648BA87BCD08F6B013E449D1FA1004E2A78266F0B3E7 B2A25C7EF8CCC7EA2DD3F94372F5122754C06D1B4C0464173DBD28D1A9C290F038BF4D5E5089 21EB77665C21B36363F44DDC8700389EA2B27256F7AD022F048B47408265DBE1BBB1138DB740 34FE477A6548D809EA520B839AC464E2878D25688F22174C1855FD2464AB77DFD0596224DA83 A8AA36B8F24A90A56FD65CB5CE456ECC7EF71FC20DE464CAB14785BAD3094A4F15CF90CB447D ECF8D14E3E547EACFC0D36C212E48133B7FCAA0FE577E3C972B01FB9D8C1ABCE833281691AA2 709BAE479A0A7E629DC923938762360742F26546463FCF2C8981056A685E186B03902BE14940 08BDF16EA82A5C8D776711A3E260820AD4C3498E061A8002F97891BFC5086FAC4244E3922D65 2099CB62D5CB917B202CB791D201F72AB4DD3B4CC3883EE1F80A9A2B5EF221C7789B4DE6DF63 FDF867336BA8B0AC148B7ACC0657D0BA694BAA0EF715E0C5DD22307ABCF6EFD34E8BB285D6B0 CEE70ACEC8D7E7195532479B86588BB7D1DCA1A81493F1182D4427639A1E62F15E2BD8075BF4 CCAA44A0D7E228EDCD7D1ED980B282EFC90020925D1257C466B39221457F32A3635A56C58752 2E96854742033D5B1246B5AF903669B5411ED0B60F57204F9B21BB43E9CA51F10AB5310D8C17 C4A24C6CE0C136E79F3DEC4C440B5A60F66189EC926B7640610F50FD39C4225EEB5DF4DDB9C8 AA7BE015AB4BD74BF9A9B64BCA6929D2689F88743550421D4852F5BE355CD84498BD2CA8CEB9 4500A329EE7D61C9F0EB79CF44DAEE37E7E0EFDD37C90A45434625C6ED4CCFDAB75FB93911B6 7EDD130EFEED849174B0F0893DD8D271283D2C51FCC3D50E918A079F1B4574045663288CE95B DD648DD7A471CD35B0F283151EF57CD5F63F08EBE34AAB9AA427DE040C7FE70F66109DE4B6E2 15C26742991A099E257F173D13CEE2FBCB24B732437B39BB4179A4819A6F70A8840A4560DE0E 538E6B0366FA916C1D44A4629CA0628A0907399ED8C4DCB469D4F0E22BC600645F9CCB262BA3 04303C81334D89B6C9889355041E386263091921F52A1504A3008325684A96AE21862F15FF95 0267CA94CD5B821EC6E230B5FF0FC3D2D477CE778B732838147D0F0244AF0B4E671CAA94FED9 BE21952B5ABDFEBCACFB1FE0E7482C01ED5B46F0AEC9E17386C2FA45E1E3D21AD2DB0F7A47DE 9C63499B50948D7C47FE9D48B9449755AF6DCDBDD3E2C008780A7C732519410AC00D2DA4C7BC 917A42AF0E52E00AC875152951EB150906862BE1B52C616747557E1D6402E4CB79F2398A9EB3 C0DAE0B7D4FE10DA869DDCD73D46802736F6A91F60B02CE33978DD33450A1FE8D417C8FAD4FB AB3A87E8B1C651A47B603955BD64CEFD822542EB854B1142E4797E3C2D52DAD0ACB711F9F7B6 59D82E040D19D774E487487D481D48B1EF9A29AAFD6E50245E313248B89886A8FBB209AD6579 346DB8C8A8242206072887A7A7988B03792B18A05715ABB55AD1BA05FA021FC0F57347CEC136 640E28144C51723BE05FE6234FFA586195E9B006D37DEAC26320A42893E5E50D3A24B054CE37 D83E79C17734D682CB0A0758FB85F59B5692FE0C5C040A9C36FD929B590F6A76B31690F046BD CB0DF5C873D645238C9D4E95451C1120C4EDA4F218BBDC875C8B0823E17DFE6EDD2E9D603ECD 1B24B461D14EBFAF8D39AE3D0E8CDAD6AE3CF30BC672332328D92AB4AB70323512A5E2C652E7 C3AAED966AD123F1ABC487BF0371FDB349A0995E0143FC2DEC12857EC5D7EC3509E0A26D9C69 D5D4FBE4EFFD6E494DBC39E15EA70D52C5DE10A7D6E3E4304D613AA639B5515F247C2B986A70 4D799A94C663D2512A41E5EA4DC8669279274C9B056CC8B4C912C6109CD5574588EE7ED100EC 03C4B45ED67BB06DA222DC081667CC8C6D88E7583F9BAE0FFA374343D89BF681FF7145D322E3 3C03B370A67339079341AB0FD5AEBEBCD65E043A3F558CC2C24C4C6D9E728B4A872102A758B1 368B1E15776C49C010F166F1C70DAC9656DF581271BA84E44585DCBB8DC8BF6900889CA7D790 F7C65E82A8D3F7445C32FCAB7DF318B6196C6DC5AA4127C54266CF0904AE861C975EED1D64ED E5E7D4681CE3B6097658B28A6E287E0856757768C73FF2F450F320B63B668F681ECF6A5BCF75 060AB93B79BE1C1712D738AA9E573D9734AEA44869CC09A489D127D222B0801966F28449D004 237B7A2441E4B337864D8D7DABA93804723BA7389C91593905C561F1C04C8447E5AE6CE433BC 714ACC635C0B1B59832175CB25BA302ACB8F1BE55A09CAAA61DDE770E86D60240D43DC68C2A4 92E724BEAE9779216D676510AD5E574AD63A0BB1861F7355C4F75182329F95AB2532A2F2E6B4 CE91D1B1F2FA98C779C35E482ED6B0FEA72F22B6AC70AE7BF5C7238ABD17CC95F434196C23DF E4DA439F085AC210611725566AE889459E16259205ECEFAB1BC48117C554B40396A72EA790B7 C6203F6ED09EB7905C9B27902F34A536476C2734BFDF8D10A3096039905CDB15BC954288C2E0 65D34893B58535C9DF43D345F8894BFAD402B6F79D0C1C28C7F49548B6ADD8A469AE00AA7200 14A1F1DEEC776F7998016B494987E715D539652EBCAD1CBAF564489737D68810708D4776BFD9 6781BE22A5FE0480295EDBA74A439E8B7D6D373267B2BE22BB064952F6CB595BC5947BD406B6 577A5AD77C2D15306FBA0F8117A30B41A76C4FC3F815347C0C3CB278109E36AC0F2C16D46237 65773C9707D436C43DD150E4A92920E60F255492082B8379426B394232C75307E43C375D472A D8E5423DC665C7729016CB9D1DBDD6A86B6182011AFADC8F3410B972CFC2343CE556611FC11E 3EDC8AE467A795B43A66A0A8C07A6E863E619E6E9AF8E4E848E957F117B96F08ADD1E88D0A8A EC1815C17B6C05BC254B808AD7EE8E9FD3375FAAC26D3A4C1A81C2E227B43227EC74E9C329B5 969E75D2F06679D44CC34F8EFB42344A7694AB1E280190FB4B5C833F6FB0E843649BA4B56AFA D3975C4912CBDD02DACC7D04DF5AC677728C4127D03962E5FDC17370DFE3597BD21D1F8D74C1 16D9BA9D079C9235805D74F198B4DEE3422908A24F798CBC2B67DC1FF1B4E785B81FE1E5AD90 82198E369095EDFB3E74CC015EF05EEA5B87B5447A7E72CD709F88FE9CDF01D3EB30AED171C7 0B5449D32609AE8C46CE30D0395E78C7DE36606200924A1F6562E06AED297F6470EA0CABBCBD 56B73E765469212C0141ACADDC9DA6BD29359488FA967511A43AE30DDD8B8CC21667CC2DCC6B 6AB444E95F91ED1EC4D068B20546D517324A3DC8E0CFF5D2A8CEA448EE494CCFBF0C703D59E3 065D1837625579592E3FD5B2C2EE120FEF398B3E0FA16E7EB9919DA1FB6C0E26A3AEFA2745FA 7393F1B93C55C5337232556338DA70E698939939B38C3277522383B302814D7073F97BDDB254 13E47A3F19BCC8A698AE70F787E317AD08535FCC8A1499E17C0322E6AFA5BFC57DD1CCAF9642 D472023F8CA6FFB57A450AD8B0CD283AE66A099FB1820DB5FC12DC4E07C16FA9CB37BD39EE76 FF4EA3227CDDE14C5B8D7B0E2077262CCE37F1813C2A0EDFC41B52EDC9C9050483CF263976AB 9EF4F7C55FC25CA6F43E34CAA79ADF09763451CA762BDFBEBDEE7344337EBAAFC7B2D89C258C D69826B113EB46A7F26E081185575A8CE3ADD08D4A81197D6C9AB05BB26B3FA8DB4E632A77F9 D20B5EC34022CDCD4B2CF77B879937B973803AD408C74D359FD0F2EA3ABA2E029156D4F1A897 49DA865804254BF243DE3F6224ADB144195E4FE92ED67C3B2EA024DC5535997EF0094613D925 CDDC28D1BE6A836B9151810BF805FFC297E7C8A9AD7B2EC822177E81A2A8A214E8AE24E077FF B164D1C68F3B5AFDE3DB0024C433B8953173C74DB24052F1E6B215B869AEA0900AD3C9E70695 1ED03E1CBD89D0F7144E54D4FFC8719896073C34E4199BBFC5BA2AC53C1BFA31067638AC42B9 825AE2462F7B87AE44C28FA721E7624A1F5D07A39A99355CA7D854100C19A6C52571A7A5716A CAA9D054B3BC41F438F5DBD3E76AB7F00ED728FEFA7DFC7DDFCF0CFBC653647E47D7B2A7F09E 736D1A8D409494B75F0DE766729A77AA5DCE37351DAEEEFBA1E94D1C7D909B7F076D812793BE D6BAA55F0EA17AB272BD6921FF46E69629B5361AF26336C89B5F33556F3643EB0180BF3EB7DF 9441821E8ACC3EA44089A2E283F4570074FF897A2171AFF48C2CE1E61C766423454A348FAF94 1F7BBFCFFDE7FD212E4552EC0E3D10EFD796327C0B61318A6E4480052F0A2B7E236B93CC5C65 755439E31EEF936E414A20FDF2764EB8BB24CF88A7192E923978A380B4A991D028659F27AC94 1268853ABF6A298378CB585F0E102BD85490999AF2B5AD246354C20E0BFC8A6F94BF21C279F8 74BF2E9613BCF3CC70E2798D2F064B9704E739E4C8EA88FD6C2495F4AB02845486373DA3BA87 8B31007200DED291995C34A8E2254373166D08E1A154285A96D205C1AD46BE1BD1C7EC6834DC 8F00A3EBA8366E7CD3319C9734280F847C4BE640BE3EA783F153499A9B1D0FAB11FF2065EA3F 5391926C58716B869E84EF7E4F293FA26C89865E029ADB446DE7E5C8BEB3859D6DD1B323C911 1286772FB90D937AEC5E579E57A3291628BEC3D2953760101AD9092A10C4E44EEECB342B8854 6F547AB90BE167505CD11F97D1050E5044718699E1817BBD600C259B86C505C97F0935312D4A C1DE2A70E2F78212A0C2E6DBF710381F6976941104D6583E2D9463A471F758D734997D285084 34234D32D1D632DAE32699EE3CD46C0E6F3167BC4A11551BB52DE011CD3A806043D9173945DF 055AE07C4A0D82FBC3B8300697A7E9F5B7C0765F408FED473CAA5265CD8D65AAEA41B01B0849 47C91633A492194C636016872C35387482CD816CEE8A8251B55093684319C4CE2604514C9229 7E1C45760E10D674EB13E126F23C298F4E3D760F136351A11F9751FF1237E3DC9348BFE63E64 89915663D5F79D74F19DED09DFC6280C32A1561AFA8261DEF097CB01094A4F351AF09C048D0A 34475FF54DE3A6B7F7DB73109D6F62A702C1521FC46A7125153096878B3E39BCCF4C2A4FC796 109D6F14ACCBFF8024310A06EEF4DA0A32504C7AEBD0595443A12C3F6F44DFABECBF07D49B9E A3E02149FA33C21C56A6D7C6AE41DA5AD9A5154F011557B8E627565C8DF7096B956235D70F79 B8DCD0EF7D296EA5001F4989C8DA1FC9E6F69F5A7068A47BF8714CC75BA00DBEE21D3AFFED28 C285B82A5F6EDAD30B7ACA46C18E13134089D772E5788AF18CE815CFA3BBEF58F5BBB13B9C62 5BAE15C8B98EEC8FF7FD75C6DB4753F73B3A8B5CF829C8FBE25BC043025A765DEFD2D8B212C2 82E10514F6D4528FEABB34343194207B095B98BFD90B65D042F2099C7112EF4867CCA1FAD4C9 F2C7AC2AB9B22CDDEFFA98EA18C4AEB41709576F5585701022D384DDC880598CA805405401BB 2EA02B81F2CCBE1E60DD3B5FBD59CB89F910C30F06DEB5DF0980F1C8528C81294FA3D2AA8FF2 9CD6F344AA32FEAB9B115AF83F76CBC320BBD3A3C560C9C480252F749E6EA3E0097F794F0797 7B8D0DFDA392E023118E07AD3F54C4F50EE33272F27CB52EDD29BEE23C887E8C7707CA4AB66E 54C6BF795A402A27FE7F77DF9C86CAC7781FCDF24952DC1E4F135CD266C6119C932C2E15357E 34DA043E4D4D71C789187243A9DCDCAD64A7C5B143DE2070A0D050A9255C676EEC668B854A4A 6AEFD204615D80D953C50CCEC3A59452AEEFEFB7C72C6EA1E4A4C47CC3ED760807DBBCA68DC7 7EEC07D79887B22B564A3554E9F603424D862DA3B1D811AF1BD7A9B475BF221CC9C688310EC0 ED2D52D542897451A46C53145C4A87CE8FCB969C95F8861C184250F9327DB65590148A133C09 85477D229BC36C336D5711615F5DE608F25E3FE549779A436FF856C7C46FB2A263B0B2B853BF 3A4D6B9DC1009BA966830791D9C80E60935A977A7B94607147F4DC7FD2A46824ACC9ED7997CB 1461ED6D73A0DAB61A98FEA14170FC2806631C19A2632FA61149A2A55F1F44EDF8D7F219B5D5 B7D8BB98D25E67E994D9257EEB01ECB8D266FE53FA5BDDC2D947B84DD9C2C58118130DA79AA5 E2739B4428EDDE707BD6D3D8FE7A5ABC1BD9B2D18CCD144118C220C5070E95D95329274A1DA3 5E49D9ABAF740DB2341C54DC1DF33F23953D2CF52DD18C13242D7E69D5257A33C38151A71449 638FF3F945BBCAA5BE1178805A47265B6529C1D3B5D99154852C2BC6FCD776D22E3214FA0469 C1B50BC0404275DD61A624F7EF6DD40C74D54FB0AD73D4F184F5E3535EFEC89DC8B229E626CF 10181E0144D2BBC3FB9911CF005D3E8EFCA1063BC78AAB37BFCCCDA687DB3BBBD38865AABD79 D559BDCF259CD492D444950DC30CF846F4B080A95FC83A5089F85FC74FF2332BD82D656D12CE C0503E7DE2BC24D4108EB513D5275D83921FE0ED13115747ECB6BF97C8DC9EFC258621B0CBF2 E1844D5FAC4D65101DF160C8B6C7BD470C30725BC5BC12430F8B70B9358B15A17ADF11900121 C78BE837A37F21C0E85969E98EB86B162C93F3AFDFBA837323E6368693B022B90E7CD69056D9 6A80131828E2E84499728DC78CC573DB242DDDD6CE23A65119E3398F7B098C52514A8B41A9F6 8B2DE28F46ADF30255EF44FAECD65A3A8F58FDBC735AF8800069066117D6AB3D8B925B514912 743279C5B34112B3A74CDF95465BF6C9927726C877840BAB0306D7EBE431AB3AA702AB1E70CE 78450C9D1F5CC953776A5C6BF2CB8F84061C4101337E5446A89658F45636ED60962C09AE4A9C A299387923B0ECED4D3932541510A92E7DE24990EF7B046142E0576F570D146413CC03A0F788 088F0F4AB07F7372A64394D87E18BBD9CDB48FBEEC60A705FD02986DC9D169405286F96E819F 18178198765B6C2A0D6297A2E3C52C29B017DC840391C7A81ECEC4F3B61714FB6A9C0F43A715 28F0C6880CADEA1B59811700F6FD8299C7A74AF69DE6A63124076EE2CDE284AC0C4FFC026008 E8718B58CAAECC12F1213283B80E09047DEFD054BB04D07E8297589FEF1D797B3A8FCFAAB614 EE1848AE998A9F0741D8514A669BA1B5C8663E00E1B773E9F16806462A809FB7D3F575944757 6253334ED0F63B659FFF6223D7C2254584DD0E9BB6E92C75DC434905E9A8CE58F56B5918C899 FC2DE34FA4EE18991E0ACBB29E9AF9EA3F5D770DD45DCA4F76A18857EB9BB6E44ABC10394158 4A100572BC075C7E1B4F5F56C150C0CC98F8CEF9F60F9BA14F3A5557F588E53F918F29FFA80A 9DDB03271ADE30F201720C2813FCF88CA1226690B5AF7E436AC43037D7DC4DBFD981F3257BD8 5B88BA6F732FA9E611328E7FDCA1FF3358F6F5331C9ED37A05B78895CAB97B70BC3DA6BA6334 9D33E4C9C1B10DEEE084D37AA949802ACB151E644C588BB3AEBA9DD2B091032C497950689A3D 410D4D7EC73CE868CB5D5377744EE57ECE85D4F7E508D6234F215849473E2A10B44E85F1F00B 7B17310D03C366337839C1A48B6B8CD6360A8D6B48183E4DE8C0B07AD2AFEA9039001A554E26 C70467A906634955F67DD3F1D21B87926A21C8D7D37329187034B3BD8D85D347350D80DDD99C 69A236E0553FA650D80712F2862976C1C6636D6564B5C92F7325CEEDC43B8F91BC05240BA891 C1B83C6F77B832AAC3F7C878AB7236C089DCE374558084D472BDDEB1E1D0740D68B75649BC31 2E4C9272BC82D9CCD37C634CE4D0CAB9C8A8604667BADBB179BA758BD7375E97838D28CC5859 A135E8BECA0F5794449906C09DDA95D46DAD00F12AC04461BD805F3057398C73F4FE902EA3E5 3E2052CFF9D9E3BC3E59EC1C6ED396E3D70A6A989C82F6B4A599785F81C7F0D7BA2E1DF1CFE1 1055026D64AAD127F490B8D3389C98B41686292A00BD6D88FE232FEC10D7099580926E4F0C1E 402F0FD8BFC6DE5F1ECE9518100088B8B2699C8B367201DBA28F8CD23C8D0B8DCEF6E9656CBF F25A820930EA923B23EF1402C9CD9AA9737B294B22BF59E2A6114C9E5CC418A104DCA45CD8FB B0889A583FB7B16E7860BB6F10E2A4B4A5662D1D5532E8121155CB4DA0E6A1E86BF65A6255F3 043F222594BFFFF37A0013F0FF88B33ABE1051B1653384AA1E02DD29E3DCEBD813B6CC21F974 BFC1DBC1D748FF2E41DE510B445D47085B285B4DCD2F129D72F620727636CF917D8B1B49BE85 92CF0D52931C5156C3AD4CD5F3ECDFB10687EA9165B7C674AA0B5B6FCD44488070CC97900C18 6AF9B8417A63BA19DC6FBA8EE3805D83C2DD86A68B833038880A911FDCF034F97DD498DCD359 1DAD3E4CA0C09B8F0589307C56EE977138120BC1790128F45A1560309944299C41499FBFB9C0 289C86E936B6B833AC32C77606B5C69F8B2426BF61C01B5CA3F44C8CCFFBDFA7FF8F3BD82B47 EBD24357D98A2E993329B64D14B749A764467FF73DEEA612A307C0BEFF194460D2A3DCDA6FB8 6B8425ADA9EA896A3A0F2B1CF63E221A426FD2CC11E459C2C66547F69DAEBD0EA480B8DFDE50 1A5DE4616BD10032135C5F47EE013EA19FE78D5D00DE8E9C78F3796265F6671DB9FAD451FF1B FA9123A0BCCC9D5DAF877300A580555A57D79F26EAB6E4E9DC21219F19683CD2A89E6D60BDBB E89A7553E6484E702E1F57966E7709C754747F015C930F3892BA75BA9B368C9AFFB959BD36AF A9038CE08D4950726F7A3EA30931E357C2CF924872281DE365A60571334573E0F25EE5B57566 3FBFD2A1191928402084EE9C179612B5EE417A3563699C2CCA50CFB9418DF13083BF6495C707 85392CC0584CD7488C85646B22CB1EC66DC5C540DA2F109714BA2B4E75F260682906D69FAC11 E22F35467E164A68BB4A3D87ED95FDF1F787091B3BEC87765407369F213990D0E5E3DB7440A3 4B1883CD7A0DACC79B4AC3BF9D313C7E8DD8BB3E3F7678C1F6FBDDCB5821FF3CE594312BC729 2E48BFD9E02A0519C8F75C677F5DBBF1CF4487A5944AB0B3673FB95B43DBD8E7E8D5B7B8C261 A4FAD6BED10801BEA7F215CD0E6CC7B509DCDB9D00D8BFE5BC2B80EA2F5F4A35B36BF098AC6D B416A989A05027869468DCA7EA368620F8AC46F55C28BCBB3BEEA16DA7A46B9424EB726502EA ACE8A02738ABE6F78750E55A2DAB2CAE0C6D48FF269861A2D5C304CAD986E97F28F940500741 510C98171A0FDE3F52E0A46355D6035419A03371D94B8426B0EE0750B29DC9BC1A3769EF8888 1920185D23CE3A878A92EF6214101BE7B4DCB1C2042E11A9F388CACEC3408DDAB2A20EF72C8B ACAB29CCA51BA518570A5D3989C7772D8BA1BFB7B8EB519F40216D136AB62499ADC48E8B1619 4C832F37B8A4A32BC00BD3080CD12A31386D6158EF9C4B7FC105F9133898E2FAD594F894C476 34E2F57311BC31DEC69610ED59018119615223B13E6B9DB30F8B158CA0BB0321B6384BAAE1F8 7D2D07C37BDFB0EA98CA580DDCFB1C6067B7F06C3E428B3F27D13F5EA451D35ADF23141ABBFA 8FB0E117E3C3842471241C630B407E951BDAA919A0C89275823AC1E67B3B611DEFCA251F8DDE 892FE09781D6AE7FD12D14C0555172C5B3FD84C2982D9F509A7A8C7DF18E1F11114E7343F540 5BA165362038D91F29058A9A5189CEFDDA6AFD7046718368F90A12E011DC32A7F9315BBC24BD CE36CC7FF632940FDC80E1DC9BCF4CC6924110083541D6E52A6818817BDB9A31FB7485F58167 E7C9FAB9DE53FED4057B9DA8FCBC2A0F391D779CCD3CC0E6E493871E23A01D5B86E7FA03C16B 9BF1ED9954D2E84B763AD5932E9EA115E6466AFB39E2896D45BFA3DBC58AFD5D11EA4556EA95 46EFD145D16A8A0BAED9BA235A448A6AE658BC70F615B8180A1B6780E9C4DA899A23E8AB05E4 3F540CC404C2D3828E2637E6663131166F027B2B4AFA5E1336AD86C8AC66D5430D8D2A76B288 F1D265B79407FB2FE466051FE11CA4E6E7B0092D8FEBDE8D2FC1D19A1BEF6D740A401C1A7186 CB82C7870499A76640B0846A77D0959EA9686820FF3A9CE9605596DB780248781E97EF4CB0A2 E2568CDBBAE19C7DD605ED7C02C046FD102159ED2389CAE2C543A31DF3E407895FCE3E8C7CF5 160089FA84222E95D4F91473B18795CC31903DEFD7139CBB5D1079614CCE5FD27A6979F42559 618BAE0A75EA891C54C2D584FD43AD7C447C52A16F1B7D54F59289B687FB76C3591AC8F0FF30 08F33A96FD93011AB0D1E98736DF71E2109D83A2F10A73A042F5A5982EC5C68C8A2959276A03 7319DC64284D3F659FC4CE81A12CD6A821F9BF2A1D3E0E86D685FA4EA6453FC58E6F616F0623 EE4D23B150D542A4A7002AAB63683840AC17AF3C3788900FA15BD98F14C4299EA2769E170A29 064B8F2D44BE23D77C2F5A9D2E0B06D6D08CF71CDBBC5D406652D9285EE5F5815187E6767967 5502561DDC4A0864047C4EE04CF2B3E78410B03BCCF03B45A78CB6E3457948F5DEDDD658313E 13C69346CB82D26348799213587AC43005C7318BB10D845874244566472C442B617EAB079091 CC1E7AE87860C0DE4658D82B2FDE4152D3B126ECB3592D971F6A1FF28E8A1E260FFA98C5E576 941EC7FB19423153B644452E39F1A287C2ED235A185A202D1157CDB72BBE9C8B187C91521A4D 4C0924BF587EBB6D82C4F326F760D257E51347E05A00448E4C7038A59C2E44237CD51107A8A8 64415E0922DFEF09E57F5C0C44D03C5CDAABD1C57D5E505266D842CC988222FABFE45BCBEBAB 83E7A6D3E9D1DD7554DFC8C27376D907EBD5D7324C9F7D8D667677D6643C433C88983F71140B F113D86E389E0F3D9E0AD2A292FF9E29BD60088B0F62FA1F27199949ACECABF9975369324417 C7E4F7CB9B37AB4E612584584F44CAF21A71A6AC5D8EA72BF112F0E88FE657578F076EC90698 5725F8492DB5FE67E959DEAEA81BFDD0064526D868F832BA4445012BCB8091DDA68362A19BC3 87C1825EA746D32F8DFDF426E52D860EF67168AC5B9F8975B906D6E8888CFEAA8047B8AFBB32 6A36312B59E0C5453BE806A87D4404E2EB9DE203A78357F963AD1BEC14293775DF10F62033BF FCEA7F4F75B302C1B5FABFAA4C46751724B413737D75A3A16768DA6CF657A6AAFA10F18B9633 7E49FEFCC4A491FC71DE38804303EAF732FC116A6BE70EF0EAF390AB57C0D86E1DC317431892 C8600EA9676CF4549CF7E5A010CB6EB5C3E2B8EE16D117B15B1215C0B50B133D9EC00146D523 5E88DD552A25950F7B49ACB9A22DDBB33860E4716916B370E762C288C6EE28538D64C69A0177 9D268EDB9B18D595401991E683717D2B44A0AD13AFEE2448C069A858CCF61F3123452CF8E9FC F8853E037B50F72A7BC7996D499EBFF308FDB4A4474F9B481B129B2C39EBE840B02E817B4A84 DEB38FE1018058B1A588F74A618DF1B18D6F3DFDF0A1BA224DC006F9F3EC4833649232B0DB68 9FBA723E9E79D1CAB87576D52C15C27C6E3717B1FFC2CB118DDED579CCE5736BB6B5281036EB 84B0D647F576DE2BA7CE4C9F5DB48A6F423E131906F470B848BA6719F8858D1248F27E64D026 01A203B581BF64B9B2F93D34BA85463912B41303ECA2C4B7F145F3D2D8BF6A38EDE77DE4F637 551CEE474F678646E8E7B9C62819CB748B9774D4DAB0F9BD50766360E8F0B86ADE1177FBAD7C 07B0ACB71775337BCBADDA38777C623ADEBA21185A8FCC8D7A3E5BE040CD007231C994E8816E 73E0D4F80BC89755DEF959A43B3D2F9E1B4DE70AD52B3C8B8F96A0F453C552B83D290BD3B6BE 07F6D7EDF42571B2335A09F11CB3777F8A87DE46E0BF85BB95C988657F6ABE3DF552683DCC1B 299A671B9828062C4A2BA1FF406DA90DB6CC37F7AAF27DCC97C28DEC1B9765901BAF6C1CF913 BBFABB60746882F3AADB86302858E86CE5637683CC1EDA6181A10F131D7301669C7D08617C7D 1A6D2827352C249C6FBF9E9907B97276A33E8C65706D79FF4FA5E15080353546A1D5AAEEC0D2 AB122A1876FDD6A8C8A1B195D2B77ECFD799F889A43CA951E7D4729C24109DBE02195241EDFA BB844B9022379D80C97E7D5048851BC3C504480B3F2AE8AFDB39F811139C44ABBB8E5E46B31F 40F92AA2130B76770FFC76EC84836E6DC1E5A085E436FC7D7EF7B4058C95DE9B99ADA856E55D 3C3336ABD57E6BE3183AF24AB1AE510ED477D77EEF55606FDBFA7847DF2635319EBE523D7BCF 5BB2FD8203AAE32492128EAB3A06BE2990649C77B65A43250CB6DE1CBF1A7C4297BC9C0ECAC8 7EAB263A34D210A159CFFC61A07D398E9DA551EE43D983D7A7B190678727D2F8AED192495201 0DC57C2EA5CC31DD1DD82CE33ADFAEE7A15066AE88EE4B850AAE3CA0079AAD0D65A5AC347471 034FFC121DE0B7862D2C80E13E6D0652E4F974565B8F9F1974F9A5ADC624E5EC59C01D18779E A5E52FB9712CC2652D225E65EB4A50F26AC336B0E41DD4D6B6A7E5E7E534CF674A129D8B723F BE5D18EAAE3D0F2A2D233DE87D0347C8E974452DA5D12517C73632FFF60719E7E343D542F736 0046AB05A1BDB87A021AF4A4A279817F50220514145B2E65F13EC96F4E97367DD0CFE56DFA3C CFCD354B4A654E10DD04D479B83674F790505C0A0588DF89A5406B571300011CB268CA95BA45 5FC101E131F8B376A7AA4406D9913646B2B5631D5D08687B74CDCEA9E7355D58040E65D3E0BE 0A10984179E872DE61A451038C50BE5624BC82D5A5229C4947A03616F5DBB60608A87BA98040 0157A18D6333FFFFDDC039831E4765B4544138D6DDD736433676710F276A0C1664F62AF7DEC4 D4B339D04D8930D404A486C1A5F0094F7D5EB1AAE1B079EAC648C7AC58476940D8B83258DAE2 7F5CBD45F9021CE248A6B0E93AAA05AF4FB15494AE9DF1F2BA08053AF733B9BAD21A9945FBB9 1A3752BF6D00611F18748D0D47BCEAD5496F72B927643052DE62AE38040A55F90885620EDB30 B546CD76D985EBEB51C3CE24406728580700BEFA27C97181829D69390E549D7425CAD8294790 D72F17E15341D0334EB8802F8CFE60DB68379402A77846E633E576913C7356D11405D2A2994E 63F889F5EF67A5F8CDB21E5A38614B05FBB0F0701251DE673F55B83E77BF856573D13ABE34D9 6758A73C540B936AC2FA4B8B29E71A4F6FEC539AB7B0C19B1AD8186B9622B8154881777BC4FC A7413812A86A6271EF9153DA2803A74C6E8F0AEEE75A52601E08B9B3E271D42D2B890F66C6AF B58345328AF86CA1F35355CD656A074EE6CD3639D6C69558627009B067E8AAE0F189764E4538 1FA712C95D77622B2BDA55A39942FA18F2B3BB56412C5AA331037305021C2758D344468F1177 537D7E48A2B533FBAA744AFE3FCF1082EE1B9BBB8C7D15617F5A55CB4A4DE1B0370042EC0344 DF7C97CDB748F6B253E752B4DE504B90CDE9543CEE2A9E3FE5C8FB579E3C5A1AA1E173AB0C3F 5191351EB6037C81E6A1CD39FC4BD25E4AD4CED262D725692D5948E2D8772BAC555D941B0832 03D57BCBD6F3F326E83F085F1A4F45B7ED261C3CE12DD3EA39747F561C09A408B622156CAB3A BBDF04719A8A1F55A544788B0DE3EE7290CABB9C28982FD171822B586F290D9A6B8752FA5BBD 565CA13B3957140D72D275C3BF623FF098DDC68FB32E8949F9147E4433D606F23524392710B9 4504C2B08A98F06A068364616E18E61C2E1CFE9C315A6C23733DF7D7648FB18425BF265BBDDA C77C4F327181F7C5C118A6F6C8FA3C1E48F9F165B21D2B9587695E2E87952CE0B691F73AB970 968C2409DF1D25F8B56E9B6050F903F6ECD9731256E9C50E14229525EF8C33F97D105A1D36A9 862A781DCFD8C12A218E05A7CD3CD92EEF74788F4CCE3C2843EE394C7A4466DD6DBF2CB6CE8A 23A70BF8776C6741FFDDAF36168BB472D16A22CA4262B9CDFDAA824F2BEB91CB57723FB75124 40A927F2124245BBC8C34A41900FC92F8DFC54217FC083919C22BEDB7CAD9BA218D8FF9DF1A2 BC76BF8B4DEB64848209553B9457FBBBDC95B923210C8BB8063CE90CB490AE34CB748205D268 504388BD46E560DDAA0193DA98692E4B6F4A57DF26F6FEC0C865C9C982707DD9548AADC58684 4CEEDDF34F96EA3B884B4A8247EBB18EC7C3C698E90946A4211D192644E1C33CB0663ED4B2A0 6FFCDC724136F5D858433FA180C8CF0658665023FB58AFF86AB880FEA67067069B8581138AF1 B3C9104CD413630965AC9EFF9D58E7EBA664B68D7D807EE0E2B4E7A25F06847227CC849D7F87 7E041920F096666E434E92F0BAACE9CB1FD04B8807AFD988F4EF220FC421650B034EAA9E8036 CC2C73D321D33E2DBFC4F9C9AC3D99C14BD573BD470E222257DE110104F40E17732126AFDEBB A7188D092345EC330CD7FAF1A1F8C96FFA89075815916EBBFEBA2C919E8D6A5D4B6B805F2273 2461F2854EAED84C968EDC50A346B475B31B41CF55C019CDE41C848CF5AF5BF5BF936F90C3A1 64B19AF696123FC4766CF465920D263499F9A3B3B42988FB2B9731A326EA54E13F71D13035BB 035426AD5CAB6B761EAD8AF8BD553C8D493F2AC4F3B4251A2A73FC720B70D74755953284A25C 3E46B0403B3D09DCC6B3518FA89CEEFCA7A9C8EBB373021D052276334787C7CBE3AE9EDCFC92 AD5CCA883F4DE572454CB2A306CE9F325EFE13101E300154FAFD6B2AE11ABB351305910BBA93 374420E55EB5FC4B48BB525FE8B13231AC03657FD10707C9E8FDD5CD63A1C84C7AEF5980A7D7 0F586C3B99DF22C901D90F7D427E6ED644336E58EF39960E675DCF9516E4B9D954E577C88199 B2526F37CC2AA9DA1D82C6C60AAE5131328FFA178005098507525B95CB469BB56D3065B73DC3 989BABE961A7B49070544DCDD7D506A69E01466F44D18CCC25B1380AB3A66DB31F4B7AA374B5 7767F875DE1178492FE3EA5C6A25826A74646519BA4FDC3E5148E9D8516082CC9337E531266D 6C805A580128DB06C6361B2871D348C92172345243602C24F94293CD76851846AECBD1196188 E4727075E7A6583CC711D43AAE5FE1B4817A8C3441122907A3AF4D88C4D4BDA0F850A2B18A60 99C8D50E5D798FB4EB59BC83BD5A80440BC4223A25D75A52C18A2B88EC02D7DF3E26548895E2 D3F45020DD67838EC668F544D3650D9F84EEDB467B646A4F9A22A4E993E6ED1B988E7236FF0C 2708796743061C38B515D1E811FF618022BD794B44C3303D695B6B9D6AEB7E47CF9A6588AA22 40C2DFCE3F52B7BCE5A5EE738EFE99F1D7F3209AE479D470F6EE9618F88F25D12861D28CAC1C 9B433AF0F812DEB94BC3A950B014AA10918847B6FB25862F720D3030386CB8335D68ABCD3512 D29FADC6ACF37AB20904FB79DBD7898B4EF73596E44E322B6137AC9E9241979FA798FEC9FABD B7F1E44E563FF2AA41DC414CE4761E2D6A0D0F919BFB5CA23EB5599C6D06521914A9178C04C8 32604F9DF0B6F7ACAD82ABBF59818E5835B0A60AA4AA2F9799C03CE2EBC3FEA221541941B167 73C0102EC9197D0B74AD67D49E6F5F8AF1F2DD4B3E7B75E9CBE4E213A57B4D6E3BE6A4915B64 CCBE7F0732B78F9464541D0871B193709E35001E287243BF898DD660CC163DDC90FE28781214 1531AE1557E9F7E91D3C51F73C9EDC60B5DA85B71148864B85FE72BC597A4B3440AFD9832AB2 9E165E893F56CCD10FC45C322BD682F5209B495ACF4C57F0490FE4ACE13E94F07A5652B8B6F2 D3908DFC4042579A7BA2DCAD968677A07C5CEE8165A90236DA1FAA1A045475B945207D723D89 806A9F5A4DB06966CE2FD153659E5BE84B14D32FD54E073B858B63DA0BF32D77427199B6E823 E48297F32B2AD113FFAAAEF5F99ED30B729AD4AC516C4740F2E793AAF8A99632F87748629DD4 F1A71FFBE3567C01FE54E04E1ADE7203F9EF568F59FFDE3B138B4FF5ECB1124F77A4F804026B 3D62D4EEDE127DA828FB0390872E0547E1C02E924B2E564790586C2F8B5473923CA8EFC39DA0 B20802C25EB60FFB8D9B102A5EBC65CA9A4496891B0A711813DFF664D01CFD35BECA93E12A04 35724550FE6FD2ECC7AEF330E367B60BB66C2F02FC8413C53E38C48ACDF8CC0103C5C32D33E5 E2AB7BAE0858FF331417487E3254408E73608DD8C1B921ED1E6069D6CBD38ABBD9BBD5FDBA13 0AD577CCD8763C061C956234C1906E6ECBA8FCAD31ACB6147D33868A09A4FB10412B218AA900 FCFB078BABC7A58FED6EB2E45CF5F0DB3506609BC70393EC8F6482D798654CC171370F0B0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginProcSet: texps.pro TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2 index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict end definefont 3 -1 roll makefont /setfont load]cvx def}def /ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def /ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def end %%EndProcSet %%BeginProcSet: special.pro TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ /CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ 10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type /dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{itransform lineto} }{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp {pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin /magscale true def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial {CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath }N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ /SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet TeXDict begin 39158280 55380996 1000 600 600 (TechRep.dvi) @start /Fa 1 70 df<48B712F8A23A000FF000076D48130017781738130F4A1418A513 1F9138800180A21700A21503013F91C7FC4A5A151F91B5FCA2EC003F49130E137E1506A2 1718173001FE5B4990C7FC1760A217E017C0000115015BEE03801607160F0003ED3F0000 074AB4FCB8FC5E2D2D7DAC30>69 D E /Fb 23 122 df<007FB6FCB71280A46C15002106 7B9B2C>45 D<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B708A2C>I<1507 ED0F80151FA2153F16005D157E15FE5D14015D14035DA214075D140F5D141F5D143F92C7 FC5C147E14FE5CA213015C13035C13075C130F5C131F5CA2133F91C8FC5B137E13FE5B12 015B12035B12075BA2120F5B121F5B123F90C9FC5A127E12FE5AA25A127821417BB92C> I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCAE121FEA3F80EA7FC0EAFFE0 A5EA7FC0EA3F80EA1F000B2470A32C>58 D<EC7F80903803FFE0010F7F013F7F497F9038 FFC0FE3901FE007FD803F87F4848EB1F809038E00FCF390FC03FFF48484813C091B5FCEA 3F01393E03F87F903907F03FE0007EEBE01F397C0FC00FEC8007A2EAFC1F00F8EB0003A9 00FCEB8007D87C0F14C0A2ECC00F3A7E07E01F80003EEBF03F903903F87F00393F01FFFE D81F805B6E5A6C6C6C5A3907E00FC09039F00007C06C6CEB0FE0D801FE131F3900FFC0FF 6DB512C06D1480010FEBFE00010313F89038007FC023337CB22C>64 D<3801FFF0000713FE001F6D7E15E048809038C01FF81407EC01FC381F80000006C77EC8 127EA3ECFFFE131F90B5FC1203120F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F 14FEEB8003383FE01F6CB612FC6C15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C> 97 D<EA7FF0487EA3127F1201AAEC1FE0ECFFF801FB13FE90B6FC16809138F07FC09138 801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13 036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813F83900F03FC027 337FB22C>I<EC0FFE4A7EA380EC003FAAEB07F8EB3FFE90B512BF4814FF5A3807FC0F38 0FF00348487E497E48487F90C7FC007E80A212FE5AA87E007E5CA2007F5C6C7E5C6C6C5A 380FF0073807FC1F6CB612FC6CECBFFE6C143FEB3FFC90390FF01FFC27337DB22C>100 D<EB03FE90381FFFC0017F13F048B57E48803907FE03FE390FF800FFD81FE0EB3F805B48 48EB1FC090C7120F5A007E15E015075AB7FCA416C000FCC9FC7E127EA2127F6CEC03C06D EB07E06C7ED80FF0130F6C6CEB3FC001FF13FF000190B512806C1500013F13FC010F13F0 0101138023247CA32C>I<EC0FF8EC3FFE91B5FC4914805B903807FC7F14F090390FE03F 0014C092C7FCA6007FB512FEB7FCA36C5C26000FC0C7FCB3A8003FB512F04880A36C5C21 337DB22C>I<ED03F8903907F80FFC90391FFE3FFE017FB6FC48B7FC48ECFE7F9038FC0F F82607F003133E3A0FE001FC1CD9C0001300001F8049137EA66D13FE000F5CEBE0016C6C 485A3903FC0FF048B5FC5D481480D99FFEC7FCEB87F80180C8FCA37F6C7E90B512F06C14 FE48ECFF804815E04815F03A3FC0001FF848C7EA03FC007E1400007C157C00FC157E4815 3EA46C157E007E15FCD87F801303D83FE0EB0FF8D81FFCEB7FF06CB612E0000315806C15 00D8003F13F8010713C028387EA42C>I<EA7FF0487EA3127F1201AAEC1FE0EC7FFC9038 F9FFFE01FB7F90B6FC9138F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500 F11480A36C01E0140029337FB22C>I<1307EB1FC0A2497EA36D5AA20107C7FC90C8FCA7 387FFFC080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC1F3479B32C>I<387FFF E0B57EA37EEA0003B3B3A5007FB61280B712C0A36C158022337BB22C>108 D<3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEB F83F496C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13 F8D87FFC4913F0023F137F2D2481A32C>I<EB07FCEB1FFF017F13C048B512F048803907 FC07FC390FF001FE48486C7E0180133F003F158090C7121F007EEC0FC0A348EC07E0A76C 140F007E15C0A2007F141F6C15806D133F6C6CEB7F006D5B6C6C485A3907FC07FC6CB55A 6C5C6C6C13C0011F90C7FCEB07FC23247CA32C>111 D<397FF01FE039FFF8FFF801FB13 FE90B6FC6C158000019038F07FC09138801FE091380007F049EB03F85BED01FC491300A2 16FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B512 80160001FB5B01F813F8EC3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I<D87FFE EB3FC0B53801FFF0020713F8021F13FC6C5B39003F7FE1ECFF019138FC00F84A13704A13 005CA25C5CA391C8FCAF007FB512E0B67EA36C5C26247EA32C>114 D<90387FF8700003B512F8120F5A5A387FC00F387E00034813015AA36CEB00F0007F1400 13F0383FFFC06C13FE6CEBFF80000314E0C66C13F8010113FCEB0007EC00FE0078147F00 FC143F151F7EA26C143F6D133E6D13FE9038F007FC90B5FC15F815E000F8148039701FFC 0020247AA32C>I<131E133FA9007FB6FCB71280A36C1500D8003FC8FCB1ED03C0ED07E0 A5EC800F011FEB1FC0ECE07F6DB51280160001035B6D13F89038003FE0232E7EAD2C>I< 3A7FF003FF80486C487FA3007F7F0001EB000FB3A3151FA2153F6D137F3900FE03FF90B7 FC6D15807F6D13CF902603FE07130029247FA32C>I<D87FFFEB7FFF6EB5FCB515806C16 004A7ED807C0EB01F0A66C6C495AA3143E147FA2D801F0495AECFF87A214F7A201F113C7 00005D9038F9E3CFA201FB13EFA3D97BC190C7FC017F13FFA21480A2013F5B90381F007C 29247FA32C>119 D<3A7FFF01FFFCB5008113FE148314816C010113FC3A03E0000F806C 7E151F6D140012005D6D133E137C017E137E013E137CA2013F13FC6D5BA2EB0F815DA2EB 07C1ECC3E0A2EB03E3ECE7C0130114F75DEB00FFA292C7FC80A2143EA2147E147CA214FC 5CA2EA0C01003F5BEA7F83EB87E0EA7E0F495A387FFF806C90C8FC6C5A6C5AEA07E02736 7EA32C>121 D E /Fc 9 85 df<150EA3151FA24B7EA34B7EA3EDDFE0A202017F158FA2 9138030FF81507A202067F1503020E7FEC0C01A2021C7FEC1800A24A80167FA24A6D7EA2 02E0804A131FA2494880160FA249B67EA249810106C71203A249811601A2498182A2496F 7EA20170820160153F13E06D821203D80FFCED7FF8B56C010FB512E0A33B3C7CBB44>65 D<B812FEA3000190388000076C90C8FC173F838383A383A318801701A21660A294C7FCA4 16E0A21501150791B5FCA3EC000715011500A21660A693C8FCAD4813C0B612E0A331397C B83B>70 D<B612C0A3C6EBC0006D5AB3B3AD497EB612C0A31A397CB822>73 D<B691383FFFE0A30001018091380FFE006C90C8EA07F018C060050EC7FC5F5F5F5F4C5A 4C5A040FC8FC161C5E5E5E4B5A4B5A4BC9FC5D5DED7F804B7E4A7FEC03BF9138071FF002 0E7FEC1C0F4A6C7E4A6C7E14E091388001FF91C77F83167F707E707EA2707E707E831603 707E8482717E717E84A284486DEC7FFEB60103B512F0A33C397CB846>75 D<B5933801FFFE6E5DA2000119002600DFC0ED06FEA2D9CFE0150CA3D9C7F01518A2D9C3 F81530A3D9C1FC1560A2D9C0FE15C0A3027FEC0180A26E6CEB0300A36E6C1306A26E6C5B A26E6C5BA36E6C5BA26E6C5BA36E6C5BA292387F0180A3DB3F83C7FCA2ED1FC6A3ED0FEC A2ED07F8A3486C6D5A487ED80FFC6D48497EB500C092B512FEA26F5A47397BB852>77 D<B500C049B512E0A280C66C6C9039000FFC00EF03F0D96FF86E5AD967FC6E5AA2EB63FE EB61FF8113606E7E6E7EA26E7E6E7E8114076E7E81806E7F6F7E82153F6F7E82150F6F7E 6F7EA26F7E6F138017C0167FEE3FE0EE1FF0A2EE0FF8EE07FC17FE1603EE01FFA282177F 173FA2171F170F13F0486C1507D807FE1503B500F01401A217003B397CB844>I<913801 FFC0020F13F891387F80FF903A01FC001FC0D903F0EB07E0D90FC0EB01F849486D7E49C8 127E017E81496F7E00018348486F7EA248486F7E000F83491503001F83A248486F7EA300 7F834981A300FF1880AB007F18006D5DA3003F5FA26D1503001F5FA26C6C4B5AA200075F 6D150F6C6C4B5A00015F6C6C4B5A017F4BC7FC6D6C14FE6D6C495A6D6C495AD903F0EB07 E0D901FCEB1FC09027007F80FFC8FC91380FFFF8020113C0393D7ABA46>I<B7FC16F016 FE000190398001FF806C90C7EA3FE0EE0FF0707E707E707EA2838284A695C7FC5E5F5F16 03EE07F04C5AEE3F80DB01FEC8FC91B512F816E091380003FCED00FEEE7F80707E707E70 7EA2160783A583A61930A28316031970486D6D6C1360B66D14E094387F81C094383FC380 CA380FFF00EF01FC3C3B7CB842>82 D<003FB812FCA3D9C001EB800390C790C7FC007C17 3E0078171E0070170EA300601706A400E01707481703A4C81500B3B0020313C0010FB612 F0A338397CB841>84 D E /Fd 1 1 df<007FB81280B912C0A26C17803204799641>0 D E /Fe 2 4 df<B712C0A322037A8D30>0 D<136013701360A20040132000E0137038F8 61F0387E67E0381FFF803807FE00EA00F0EA07FE381FFF80387E67E038F861F038E06070 0040132000001300A21370136014157B9620>3 D E /Ff 1 1 df<007FB912E0BA12F0A2 6C18E03C04789A4D>0 D E /Fg 5 52 df<1438B2B712FEA3C70038C7FCB227277C9F2F> 43 D<13FF000313C0380781E0380F00F0001E137848133CA248131EA400F8131FAD0078 131EA2007C133E003C133CA26C13786C13F0380781E03803FFC0C6130018227DA01E>48 D<13E01201120712FF12F91201B3A7487EB512C0A212217AA01E>I<EA01FC3807FF8038 1C0FC0383003E0386001F0EB00F812F86C13FCA2147C1278003013FCC7FC14F8A2EB01F0 EB03E014C0EB0780EB0F00131E13385B5B3801C00CEA0380380600185A5A383FFFF85AB5 12F0A216217CA01E>I<13FF000313C0380F03E0381C00F014F8003E13FC147CA2001E13 FC120CC712F8A2EB01F0EB03E0EB0FC03801FF00A2380003E0EB00F01478147C143E143F 1230127812FCA2143E48137E0060137C003813F8381E03F0380FFFC00001130018227DA0 1E>I E /Fh 2 49 df<B712FEA327037A8F34>0 D<13E0EA01F0EA03F8A3EA07F0A313E0 A2120F13C0A3EA1F80A21300A25A123EA35AA3127812F8A25A12100D1E7D9F13>48 D E /Fi 1 99 df<1402EC0F80EC3FE0ECFFF8497F903807F8FF90391FE03FC090393F80 0FE09039FE0003F8D803F8EB00FED80FE0EC3F8048C8EA07C0007CED01F000F0ED007800 C016182D0F80BD2E>98 D E /Fj 1 111 df<000F13FC381FC3FF3931C707803861EC03 01F813C0EAC1F0A213E03903C00780A3EC0F00EA0780A2EC1E041506D80F00130C143C15 181538001EEB1C70EC1FE0000CEB07801F177D9526>110 D E /Fk 10 117 df<1760177017F01601A21603A21607160FA24C7EA216331673166316C3A2ED01 83A2ED0303150683150C160115181530A21560A215C014011580DA03007FA20206130014 0E140C5C021FB5FC5CA20260C7FC5C83495A8349C8FC1306A25BA25B13385B01F0168048 7E000716FFB56C013F13FF5EA2383C7DBB3E>65 D<0103B77E4916F018FC903B0007F800 03FE4BEB00FFF07F80020FED3FC0181F4B15E0A2141FA25DA2143F19C04B143F1980027F 157F190092C812FE4D5A4A4A5AEF0FF04AEC1FC005FFC7FC49B612FC5F02FCC7B4FCEF3F C00103ED0FE0717E5C717E1307844A1401A2130F17035CA2131F4D5A5C4D5A133F4D5A4A 4A5A4D5A017F4BC7FC4C5A91C7EA07FC49EC3FF0B812C094C8FC16F83B397DB83F>I<01 03B7FC4916E018F8903B0007F80007FE4BEB00FFF03F80020FED1FC0180F4B15E0F007F0 021F1503A24B15F81801143F19FC5DA2147FA292C8FCA25C18035CA2130119F84A1507A2 130319F04A150FA2010717E0181F4A16C0A2010FEE3F80A24AED7F00187E011F16FE4D5A 4A5D4D5A013F4B5A4D5A4A4A5A057FC7FC017F15FEEE03FC91C7EA0FF049EC7FC0B8C8FC 16FC16C03E397DB845>68 D<0103B7FC4916E018F8903B0007F80007FC4BEB00FE187F02 0FED3F80F01FC05DA2021F16E0A25DA2143FF03FC05DA2027FED7F80A292C8130018FE4A 4A5A604AEC07F04D5A0101ED3FC04CB4C7FC91B612FC17E0D903FCCAFCA25CA21307A25C A2130FA25CA2131FA25CA2133FA25CA2137FA291CBFC497EB6FCA33B397DB835>80 D<4BB4FC031F13F09238FE01FC913903F0007EDA07C0EB1F80DA1F80EB0FC0023EC7EA07 E002FCEC03F0495A4948EC01F8495A4948EC00FC495A013F16FE49C9FC13FE187F485A12 035B12075B120F4916FF121FA2485AA34848ED01FEA448C9EA03FCA3EF07F8A218F0170F 18E0171F18C0EF3F807EEF7F0017FEDA07C05B6C90391FF001F8903980383803001F496C 485A9139E00C0FE0260FC0C0EB1F80D807E1D90E3FC7FC0280137ED803F1EB07F8D801F9 5C3A007FC00FC0903A3FE07F0003903807FFFE0100018F5BDA000F1306170E171E705A17 7CEEC1F816FF5FA25F5F6F5B6F48C7FCED00F8384B7CBA42>I<0103B612F849EDFF8018 E0903B0007F8001FF84BEB03FCEF00FE020F157FA24BEC3F80A2021F16C0A25DA2143FF0 7F805DA2027FEDFF006092C7485A4D5A4A4A5A4D5A4AEC1F80057FC7FC0101EC07F891B6 12E094C8FC9139FC000FC00103EC03F0707E4A6D7E831307177E5C177F010F5D5F5CA201 1F1401A25CA2133F16034A4A1360A2017F17E019C091C71401496C01011480B615039339 00FE0700EF7E0ECAEA1FFCEF07F03B3B7DB83F>I<D803E0137F3A07F801FFE03A0E3C07 81F03A1C3E1E00F826383F387F00305B4A137C00705B00605BA200E090C712FC485A137E A20000140101FE5C5BA2150300015D5B15075E120349010F133016C0031F13700007ED80 605B17E0EE00C0000F15014915801603EE0700001FEC0F0E49EB07FC0007C7EA01F02C26 7EA432>110 D<3903E001F83907F807FE390E3C1E07391C3E381F3A183F703F800038EB E07F0030EBC0FF00705B00601500EC007E153CD8E07F90C7FCEAC07EA2120013FE5BA312 015BA312035BA312075BA3120F5BA3121F5B0007C9FC21267EA425>114 D<14FF010313C090380F80F090383E00380178131C153C4913FC0001130113E0A33903F0 00F06D13007F3801FFE014FC14FF6C14806D13C0011F13E013039038003FF01407140300 1E1301127FA24814E0A348EB03C012F800E0EB07800070EB0F006C133E001E13F83807FF E0000190C7FC1E267CA427>I<EB01C0497E1307A4130F5CA3131F5CA3133F91C7FC007F B51280A2B6FCD8007EC7FCA313FE5BA312015BA312035BA312075BA3120FEBC006A2140E 001F130CEB801C141814385C146014E0380F81C038078780D803FEC7FCEA00F819357EB3 1E>I E /Fl 6 115 df<1830187018F0A217011703A24D7EA2170F171FA21737A2176717 E717C793380187FCA2EE0307EE07031606160CA216181638163004607FA216C003011301 1680ED0300A21506150E150C5D845D03707F15605DA24A5A4AB7FCA25C0206C87F5C021C 157F14185CA25C14E05C495A8549C9FC49163F1306130E5B133C137C01FE4C7ED807FFED 01FF007F01F0027FEBFFC0B5FC5C42477DC649>65 D<91B87E19F019FC02009039C00003 FF6F480100138003FFED3FC01AE093C8121FF10FF0A24A17F84B1507A314035D190FA202 0717F04B151F1AE0193F020F17C04BED7F80F1FF004E5A021F4B5A4B4A5AF01FF0F03FC0 023F4AB4C7FC4BEB1FFC92B612F018FEDA7FC0C7EA7F804BEC1FC0F00FF0727E02FF6F7E 92C8FC727EA249835CA313035CA301075F4A1503A24E5A130F4A4B5A4E5AA2011F4C5A4A 4B5A4D485A013F4B48C7FCEF0FFC4AEC3FF801FF913801FFE0B9128005FCC8FC17C04544 7CC34A>I<91B87E19F019FC02009039C00007FF6F489038007FC003FFED1FE0737E93C8 6C7E737E19014A707E5D1A7FA20203EF3F805DA21BC014075DA3140F4B17E0A3141F4B17 C0A3143F4B167FA3027F18804B16FFA302FF180092C95A62A24917034A5F19076201034D 5A5C4F5A620107173F4A5F4FC7FC19FE010F4C5A4A15034E5AF00FE0011F4C5A4A4B5A06 FFC8FC013FED01FCEF0FF84AEC3FE001FF913803FF80B848C9FC17F094CAFC4B447CC351 >68 D<91B712FEF0FFE019F802009039C0000FFE6F48EB01FF03FF9138007F80F13FC093 C8EA1FE0A24AEE0FF0A25D1AF81403A25DA21407F11FF05DA2020FEE3FE0A24B16C0197F 021F1780F1FF004B4A5A4E5A023F4B5A4E5A4BEC3FC006FFC7FC027FEC07FC92B612F018 800380CAFC14FFA292CBFCA25BA25CA21303A25CA21307A25CA2130FA25CA2131FA25CA2 133FA25CEBFFE0B612E0A345447CC33F>80 D<91B712F018FF19E002009039C0003FF86F 48EB07FC03FFEC01FEF0007F93C8EA3F801AC0F11FE05C5D1AF0A214035DA30207EE3FE0 5DA2F17FC0020F17804B15FF1A004E5A021F4B5A4B4A5AF00FE04E5A023F037FC7FC4BEB 03FCEF1FF092B612804A4AC8FC923980007F80EF0FC0EF07F002FF6E7E92C77F1701845B 4A1400A2170113035CA2170313075CA24D5A130F5CA3011F18185CA2013F4C13381A304A 6F1370D9FFE0020314E0B600E0ED01C00501EB0380943900FE0F00CBEA3FFEF007F04546 7CC34A>82 D<01F8EB0FC0D803FEEB7FF0D8070FEBF038000E903883C07C3A0C07C701FC 001C13CE0018EBDC03003813D8003013F8D90FF013F800709038E000E0006015005C12E0 EAC01F5C1200A2133F91C8FCA35B137EA313FE5BA312015BA312035BA312075BA3120F5B EA0380262D7DAB2C>114 D E /Fm 1 2 df<123C127E12FFA4127E123C08087A9615>1 D E /Fn 8 120 df<EB01F8EB07FE90381F071C90387C03FEEBF801EA01F00003130048 485B5B120F381F80015DEA3F00A21403485C127EA2140700FE5C5A1640020F1360EDC0E0 16C0127CEC1FC1023F1380003CEB7F81003EEBEF833A1E01C7C300390F0787C73907FE03 FE3900F800F823227EA029>97 D<151C157E15FEA315FC15781500AA143FECFFC0903801 C3E0EB038390380701F0130EEB0C03131C1338133014071370012013E01300140FA215C0 A2141FA21580A2143FA21500A25CA2147EA214FEA25CA21301A25CA21303001C5B127F49 5AA238FE0FC0495AD8783FC7FCEA707CEA3FF0EA0FC01F4281B11F>106 D<D801E001FEEB07F03C07F803FF801FFC3C0E3E0F07E0783F001C903B3C03F1E01F803C 181F7001F3800F003801E0EBF70026303FC001FE14C01270006001805B02005B0303141F D8E07F4A1480EA407E12000307143F01FE1700495C60030F147E1201494A13FEF0FC0403 1F150E00030401130C49028013F8191C033F01031318000717F04902001438050113704B 15E0000F933800F1C049017EEC7F80D80380011CEC1E003F227EA044>109 D<D801E013FE3A07F803FF803A0E3E0F07E0001C90383C03F039181F7001003813E02630 3FC07F12700060138014001503D8E07F5CEA407E1200150701FE5C5B150F5E120149131F EE8080EE81C00003023F13804914011603037F13000007147E495CED3E0E5E000FEC1E38 49EB0FF0D80380EB03C02A227EA02E>I<3903E003E0390FF81FF8391C7C3C1C0018EB70 3E39383EE0FE38303FC0EB7F800070EB00FCEA607E157000E01400EAC0FEEA40FC1200A2 12015BA312035BA312075BA3120F5BA3121F5B0007C8FC1F227EA023>114 D<EB01FCEB0FFF90383E03C090387800E04913603901E001E014030003130713C013E0EC 03806DC7FC13FF14F014FC6C7F6C7F6D1380130F9038007FC0141F140F007E130700FE14 80A3EC0F005A00C0131E6C5B00705B383C01F0380FFFC0D803FEC7FC1B227CA024>I<EB 0380EB0FC0A3131FA21480A2133FA21400A25BA2137E387FFFFEA2B5FC3800FC00A21201 A25BA21203A25BA21207A25BA2120FA25B1408001F131C14181380143814701460EB00E0 EB01C0380F8380EB8700EA07FEEA01F817307FAE1C>I<01F01507D803FC903903800F80 D8071E903907C01FC0D80E1F130F121C00380180140F0030021F1307013FEC8003007013 000060160149133FD8E07E168000401500EA00FE494913030001170049137EA203FE5B00 031606495B170E170CA24B131C4915186D15384A6C5B17600001010314E03B00F8077E01 C0903A7C0E3F078090273FFC0FFEC7FC903907F001F832227EA037>119 D E /Fo 177[66 78[{}1 91.249977 /MSBM10 rf /Fp 17 118 df<49B4FC010F13E0017F13FC9038FF83FE4848C67E4848EB7F804848EB3FC04848EB1F E0A2001F15F0A24848EB0FF8A3007F15FCA500FF15FEB3007F15FCA4003F15F8A26D131F 001F15F0A2000F15E06D133F000715C06C6CEB7F806C6CEBFF003900FF83FE6DB45A011F 13F0010190C7FC27387CB630>48 D<141E143E14FE1307133FB5FCA313CFEA000FB3B3A6 007FB61280A4213779B630>I<EB0FFC90387FFFC048B512F0000714FC390FF03FFF261F 800F1380263F000313C05AD9C00113E0486C6C13F07FA2ED7FF8A46C5A6C5A000FC7FCC8 FCEDFFF0A216E05C16C04A138016004A5A5D4A5A4A5A4A5AEC7F8092C7FC14FEEB01F849 481378495A495A495A013EC712F84914F05B4848130148B6FCA25A5A5A5A4815E0B7FCA4 25377BB630>I<EB03FF011F13F0017F13FC3901FC07FF2603F003138048486C13C0496C 13E0EA0FF001FC14F0121F7FA56C4814E0A23803F001C714C04A138016004A5A4A5AEC3F F090380FFFC092C7FC15F090380007FE913801FF806E13C016E0ED7FF016F816FC153FA2 16FEEA1FC0487E487E487EA416FCA249EB7FF8127F01C0EBFFF06C4814E06C6C4813C026 0FFC0713806CB61200000114FC6C6C13F0010790C7FC27387CB630>I<ED07C0150FA215 1F153F157F15FFA25C5C5C5CA2141E5C147C5C5C495A495A1307495A5C131E5B137C5B5B 485A485A1207485A90C7FC121E5A127C5AB81280A4C70001EBC000AA0103B61280A42937 7DB630>I<001C15C0D81F80130701F8137F90B61280A216005D5D15F05D15804AC7FC14 F090C9FCA8EB07FE90383FFFE090B512F89038FC07FC9038E003FFD98001138090C713C0 120EC813E0157F16F0A216F8A21206EA3F80EA7FE012FF7FA44914F0A26C4813FF90C713 E0007C15C06C5B6C491380D9C0071300390FF01FFE6CB512F8000114E06C6C1380D90FF8 C7FC25387BB630>I<EC0FF8ECFFFE0103EBFF8090390FF80FC090393FE003E090397FC0 01F09038FF000F48EC1FF84848133F485A120F5B121FA2003FEC1FF0ED0FE04990C7FC12 7FA21408EC7FF039FFF1FFFC01F313FFD9F78013809039FF007FC049EB3FE04914F0ED1F F85B16FCA34914FEA5127FA5123F16FCA26C7E16F8000F143F6C6C14F0ED7FE06C6C14C0 3A01FF81FF806C90B51200013F13FC010F13F00101138027387CB630>I<123C123EEA3F E090B71280A41700485D5E5E5EA25E007CC7EA0FC000784A5A4BC7FC00F8147E48147C15 FC4A5A4A5AC7485A5D140F4A5A143F92C8FC5C147E14FE1301A2495AA31307A2130F5CA2 131FA5133FA96D5A6D5A6D5A293A7BB830>I<49B47E010F13F0013F13FC9038FE01FF3A 01F8007F804848EB3FC04848EB1FE0150F485AED07F0121FA27FA27F7F01FEEB0FE0EBFF 809138E01FC06CEBF03F02FC13809138FF7F006C14FC6C5C7E6C14FE6D7F6D14C04914E0 48B612F0EA07F848486C13F8261FE01F13FC383FC007EB8001007F6D13FE90C7123F4814 0F48140715031501A21500A216FC7E6C14016D14F86C6CEB03F06D13076C6CEB0FE0D80F FEEB7FC00003B61200C614FC013F13F00103138027387CB630>I<EB03FF011F13E0017F 13F83901FF03FE4848C67E4848EB7F80484814C0001FEC3FE0123F49EB1FF0127F16F8A2 12FF16FCA516FEA5007F143FA3123F157F6C7E000F14FF6C6C5A3903FE03DF6CB5129F6C 6C131FD91FFC13FCEB00201400A216F8D80FE0133F487E486C14F0A216E0157F16C0EDFF 80495A6C4848130090388007FE390FE01FF86CB55A6C14C0C691C7FCEB1FF027387CB630 >I<EA0F80EA3FE0EA7FF0A2EAFFF8A5EA7FF0A2EA3FE0EA0F80C7FCABEA0F80EA3FE0EA 7FF0A2EAFFF8A5EA7FF0A2EA3FE0EA0F800D2579A41B>I<B912C0A43A007FF800039338 007FE0171F170F1707A21703A21701A318F0EE7800A41800A216F8A21501150791B5FCA4 ECF80715011500A21678A693C8FCADB7FCA434397DB83C>70 D<903803FF80011F13F001 7F13FC3901FF83FE3A03FE007F804848133F484814C0001FEC1FE05B003FEC0FF0A2485A 16F8150712FFA290B6FCA301E0C8FCA4127FA36C7E1678121F6C6C14F86D14F000071403 D801FFEB0FE06C9038C07FC06DB51200010F13FC010113E025257DA42C>101 D<161FD907FEEBFFC090387FFFE348B6EAEFE02607FE07138F260FF801131F48486C138F 003F15CF4990387FC7C0EEC000007F81A6003F5DA26D13FF001F5D6C6C4890C7FC3907FE 07FE48B512F86D13E0261E07FEC8FC90CAFCA2123E123F7F6C7E90B512F8EDFF8016E06C 15F86C816C815A001F81393FC0000F48C8138048157F5A163FA36C157F6C16006D5C6C6C 495AD81FF0EB07FCD807FEEB3FF00001B612C06C6C91C7FC010713F02B377DA530>103 D<EA01F0EA07FC487EA2487EA56C5AA26C5AEA01F0C8FCA913FF127FA412077EB3A9B512 F8A4153B7DBA1B>105 D<9038FE03F000FFEB0FFEEC3FFF91387C7F809138F8FFC00007 5B6C6C5A5CA29138807F80ED3F00150C92C7FC91C8FCB3A2B512FEA422257EA427>114 D<01FFEC3FC0B5EB3FFFA4000714016C80B3A35DA25DA26C5C6E4813E06CD9C03E13FF90 387FFFFC011F13F00103138030257DA435>117 D E /Fq 20 122 df<13075B5B137FEA07FFB5FC13BFEAF83F1200B3B3A2497E007FB51280A319327AB126> 49 D<EB3FC0EBFFF0000313FC380F80FF391E007F80001CEB3FC048EB1FE048130F15F0 0060130712FC6C14F87E1403A3007E1307123CC7FC15F0A2140F15E0EC1FC0A2EC3F8015 00147E5C495A5C495A495A495A49C7FC133E133C4913185B485A48481330485A48C7FC00 1C1470001FB512F05A5AB612E0A31D327CB126>I<EB1FE0EBFFFC4813FF3907E03F8039 0F001FC0001EEB0FE0001CEB07F0123F018013F8140313C01380A2381F0007C7FC15F0A2 EC0FE015C0141FEC3F80EC7E00EB01F8EB7FE014FCEB003FEC1FC0EC0FE0EC07F015F814 0315FC140115FEA3127EB4FCA415FC48130312780070EB07F86C14F0003C130F001FEB1F E0390FE03F800003B51200C613FCEB1FE01F347DB126>I<EC01C0A214031407A2140F14 1FA2143F147F146F14CF1301EB038F140F1307130E130C131C13381330137013E013C0EA 0180120313001206120E120C5A123812305A12E0B71280A3C7380FC000A94A7E0107B512 80A321337EB226>I<007FB812C0B912E0A26C17C0CCFCAC007FB812C0B912E0A26C17C0 33147C9C3C>61 D<EB7F803803FFF0380F80FC381C003E003F133F6D6C7E6E7EA26E7EEA 1F00C7FCA4EB01FF131FEBFF873803FC07EA0FF0EA1FC0EA3F80127F13004815C05AA314 0FA26C131F6C133B3A3F8071F180391FC1E1FF2607FFC013003900FE003C22237DA126> 97 D<EA03F012FFA312071203AEEC3F80ECFFE09038F3C0F89038F7007E01FE7F49EB1F 8049EB0FC05BED07E016F0A2150316F8AA16F0150716E0A2ED0FC07F6DEB1F8001ECEB3F 0001CF137C90388381F8903801FFE0C76CC7FC25357EB32B>I<EB07F8EB3FFF9038FC07 C03901F000E03903E003F03807C007120FEA1F80123F90380003E04890C7FCA2127E12FE AA127FA26C14187F001F14386D1330000F14706C6C13E03903F001C03900FC0F8090383F FE00EB07F01D237EA122>I<153FEC0FFFA3EC007F81AEEB07F0EB3FFCEBFC0F3901F003 BF3907E001FF48487E48487F8148C7FCA25A127E12FEAA127E127FA27E6C6C5BA26C6C5B 6C6C4813803A03F007BFFC3900F81E3FEB3FFCD90FE0130026357DB32B>I<EB0FE0EB7F FCEBF83F3903F00F80D807E013C0390FC007E0381F800315F0EA3F0014014814F8127EA2 12FEA2B6FCA248C8FCA5127E127FA26C1418A26C6C1338000F14306D13706C6C13E03901 F003C03900FC0F00EB3FFEEB07F01D237EA122>I<151F90391FC07F809039FFF8E3C039 01F07FC73907E03F033A0FC01F83809039800F8000001F80EB00074880A66C5CEB800F00 0F5CEBC01F6C6C48C7FCEBF07C380EFFF8380C1FC0001CC9FCA3121EA2121F380FFFFEEC FFC06C14F06C14FC4880381F0001003EEB007F4880ED1F8048140FA56C141F007C15006C 143E6C5C390FC001F83903F007E0C6B51280D91FFCC7FC22337EA126>103 D<EA0780EA0FC0EA1FE0A4EA0FC0EA0780C7FCAAEA07E012FFA3120F1207B3A6EA0FF0B5 FCA310337EB215>105 D<EA07E012FFA3120F1207B3B3A7EA0FF0B5FCA310347EB315> 108 D<3903F01FC000FFEB7FF09038F1E0FC9038F3807C3907F7007EEA03FE497FA25BA2 5BB3486CEB7F80B538C7FFFCA326217EA02B>110 D<903807F00390383FFC07EBFC0F39 01F8038F3807E001000F14DF48486CB4FC497F123F90C77E5AA25A5AA9127FA36C6C5B12 1F6D5B000F5B3907E003BF3903F0073F3800F81EEB3FF8EB0FE090C7FCAAED7F8091380F FFFCA326307DA029>113 D<3803E07C38FFE1FF9038E38F809038E71FC0EA07EEEA03EC A29038FC0F8049C7FCA35BB2487EB512E0A31A217FA01E>I<EBFF06000713CE381F00FE 003C133E48131E140E5A1406A27EA200FE90C7FC6C7EEA7FFC383FFFC014F0000F7F6C7F C67FEB0FFF1300EC3F8000C0131F140F6C1307A37E15006C5B6C130E6C5B38F7807838E1 FFE038C07F8019237EA11E>I<1330A51370A313F0A21201A212031207381FFFFEB5FCA2 3803F000AF1403A814073801F806A23800FC0EEB7E1CEB1FF8EB07E0182F7FAD1E>I<D8 03F0133F00FFEB0FFFA30007EB007F000380B35DA35D12016D4813800000903803BFFC90 387E073FEB1FFED907F8130026227EA02B>I<3A7FFF807FF8A33A07F8001FC00003EC0F 800001EC070015066C6C5BA26D131C017E1318A26D5BA2EC8070011F1360ECC0E0010F5B A2903807E180A214F3010390C7FC14FBEB01FEA26D5AA31478A21430A25CA214E05CA249 5A1278D8FC03C8FCA21306130EEA701CEA7838EA1FF0EA0FC025307F9F29>121 D E /Fr 6 102 df[<173E177E17FCEE01F8160317F0EE07E0EE0FC0EE1F80163F170016 7E16FE4B5A5E15034B5A5E150F4B5AA24B5A4BC7FCA215FEA24A5AA24A5AA24A5A140F5D 141F5DA2143F5D147F92C8FC5CA2495AA25C1303A2495AA3495AA3495AA3133F5CA3495A A313FF91C9FCA35A5BA31203A25BA31207A25BA3120FA35BA3121FA55BA2123FA75B127F AD5B12FFB3B3A4127F7FAD123F7FA7121FA27FA5120FA37FA31207A37FA21203A37FA212 01A37F7EA380137FA36D7EA380131FA36D7EA36D7EA36D7EA2130180A26D7EA28081143F 81141FA281140F8114076E7EA26E7EA26E7EA2157FA26F7E6F7EA26F7E1507826F7E1501 826F7E167E821780161FEE0FC0EE07E0EE03F017F81601EE00FC177E173E>47 272 107 131 72 32 D[<12F87E127E7E7F121F6C7E6C7E6C7E7F12016C7E7F137F7F80 6D7E130F806D7EA26D7E6D7EA26D7EA2147FA26E7EA26E7E81140F811407A28114038114 0181A26E7EA28182A26F7EA36F7EA36F7EA3821507A36F7EA3821501A38281A31780A216 7FA317C0A2163FA317E0A3161FA317F0A5160FA217F8A7160717FCAD160317FEB3B3A417 FC1607AD17F8160FA717F0A2161FA517E0A3163FA317C0A3167FA21780A316FFA21700A3 5D5EA315035EA34B5AA3150F5EA34B5AA34B5AA34B5AA293C7FC5DA24A5AA25D14035D14 075DA2140F5D141F5D4A5AA24AC8FCA214FEA2495AA2495A495AA2495A5C131F495A91C9 FC5B13FE5B485A12035B485A485A485A123F90CAFC127E5A5A>47 272 125 131 72 I<BC12F887A3D87FE0C90001806DEE0007003FF0007F6C6CF00FFF6C 6C18036D18000007F27F806C6C193F6C6DF00FC01B076C6D18036D6C19E06E1801013F19 006D6C19F06D6C19708001071A386D6C19006D7FA26D7F6E7E81143F6E7E6E7E8114076E 7E6E7FA26E7F6F7E82153F6F7E6F7E8215076F7E81A26F5A167C16FC4B5A5E4B5A4B5A4B 5A151F93CCFC153E5D5D14015D4A5A4A5A4A5A141F4ACDFC143E4A19384A197013014948 19F04A19E04948180149481803011F1AC049CC1207013E190F49F11F8049197F00011AFF 48480603130049180F4848187F4848943803FFFE001F4DB5FC48BBFC635ABCFC63555B7B 7F60>80 D<C012F88BA38B6C0180CB12036EDE0001806CF3000F6C6D080114806C6DF200 3F6E1B076C0B0113C06C6D876C6DF43FE06E1C0F6CF607F06D6D1B036D6D1B01F700F86D 6D1C786D6D1C3C6F1C1C6D1E1E6D6D1C0E6D7F6F1C076D1E006E7F6E7F82806E7F6E7FA2 6E7F6E7F82806F7F6F7F83816F7F6F7F83816F7F6F7FA2707F707F8482707F707F848270 7F707F8583717F717FA283715B617190CDFC715A60A24D5A4D5A4D5A4D5A4D5A177F95CE FC17FE4C5A4C5A4C5A4C5AA24C5A4C5A4CCFFC16FE4B5A15035E4B5A4B5A4B5A4B5A4BD0 FCA215FE4A481C074A481C0E4A5A4A481C1E021F1D1C4B1C3C4A481C7C4AD012F802FE1C 014948F403F049481C071F0F4948F41FE049481C7F4948983801FFC049481B0749CF121F 4999B51280491B07484898B6FC48484FB7120048C0FC48665AA248665AC0FC67787F7B7F 83>88 D<1560EC01F84A7EEC0FFF023F13C091B512F049EB0FF8903907FC03FE903A1FF0 00FF80D97FC0EB3FE04848C7EA0FF8D803FCEC03FCD80FF0EC00FFD83F80ED1FC000FEC9 EA07F00078EE01E00060EE0060341181C333>98 D<D903F01580D91FFEEC01C0D97FFFEC 038090B500C0EB0F002703F03FF0133C2707C007F813F83B0F0003FF03F0003C0100EBFF C00070023F5B486E48C7FC0040EC03F0320B80C133>101 D E /Fs 45 122 df<EA07C0EA1FF0487E487E487E7FA31480A37E7EEA1FF7EA07C7EA0007130FA2 1400A25B131E133EA25B13FC5B485A485A1207485A485A90C7FC120C112278C41F>39 D<161E163FB3AF007FBB1280BC12C0A46C1A80C9003FCAFCB3AF161E4A4A7ABD57>43 D<B612F8A91D097F9A25>45 D<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA7FFCEA3FF8EA 1FF0EA07C00F0F788E1F>I<EE01C0EE03E01607A2160F17C0161F1780A2163F17005E16 7EA216FE5E15015EA215035EA215075E150F5EA2151F5E153F93C7FCA25D157E15FE5DA2 14015D14035DA214075D140F5DA2141F5D143F92C8FCA25C147EA214FE5C13015CA21303 5C13075CA2130F5C131F5CA2133F91C9FC5B137EA213FE5B12015BA212035BA212075B12 0F5BA2121F5B123F90CAFCA25A127E12FE5AA25A12782B647ACA38>I<EC03C01407141F 147FEB03FF133FB6FCA413C3EA0003B3B3ADB712FCA5264177C038>49 D<ECFFE0010F13FE013F6D7E90B612E0000315F82607FC0313FE3A0FE0007FFFD81F806D 138048C7000F13C0488001C015E001F07F00FF6E13F07F17F881A46C5A6C5A6C5AC9FC17 F05DA217E05D17C04B13804B1300A2ED1FFC4B5A5E4B5A4B5A4A90C7FC4A5A4A5AEC0FF0 4A5AEC3F804AC7127814FE495A494814F8D907E014F0495A495A49C8FC017C1401491403 48B7FC4816E05A5A5A5A5AB8FC17C0A42D417BC038>I<ECFFF0010713FF011F14C0017F 14F049C66C7ED803F8EB3FFED807E06D7E81D80FF86D138013FE001F16C07FA66C5A6C48 15806C485BC814005D5E4B5A4B5A4B5A4A5B020F1380902607FFFEC7FC15F815FF16C090 C713F0ED3FFCED0FFEEEFF80816F13C017E0A26F13F0A217F8A3EA0FC0EA3FF0487EA248 7EA217F0A25D17E06C5A494913C05BD83F80491380D81FF0491300D80FFEEBFFFE6CB612 F800015D6C6C14C0011F49C7FC010113E02D427BC038>I<163FA25E5E5D5DA25D5D5D5D A25D92B5FCEC01F7EC03E7140715C7EC0F87EC1F07143E147E147C14F8EB01F0EB03E013 0714C0EB0F80EB1F00133E5BA25B485A485A485A120F5B48C7FC123E5A12FCB91280A5C8 000F90C7FCAC027FB61280A531417DC038>I<0007150301E0143F01FFEB07FF91B6FC5E 5E5E5E5E16804BC7FC5D15E092C8FC01C0C9FCAAEC3FF001C1B5FC01C714C001DF14F090 39FFE03FFC9138000FFE01FC6D7E01F06D13804915C0497F6C4815E0C8FC6F13F0A317F8 A4EA0F80EA3FE0487E12FF7FA317F05B5D6C4815E05B007EC74813C0123E003F4A1380D8 1FC0491300D80FF0495AD807FEEBFFFC6CB612F0C65D013F1480010F01FCC7FC010113C0 2D427BC038>I<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA7FFCEA3FF8EA1FF0EA07C0C7 FCAEEA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA7FFCEA3FF8EA1FF0EA07C00F2C78AB1F> 58 D<B9FC18F018FE727E19E026003FFCC700077F05017F716C7E727E727EA2721380A3 7213C0A74E1380A24E1300A24E5A4E5A4E5A4D5B05075B94B5128091B700FCC7FC18F018 FF19E002FCC7000113F8716C7EF01FFE727E7213801AC07213E0A27213F0A31AF8A71AF0 A2601AE0604E13C0604E138095B5120005075BBA12F86119C04EC7FC18E045447CC350> 66 D<DCFFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE0791B539E001FF0F 4949C7EA3F9F010701F0EC0FFF4901C0804990C87E4948814948814948167F4849163F48 49161F5A4A160F485B19074890CAFC19035A5BA2007F1801A34994C7FC12FFAE127F7F1A F0A2123FA27F6C18011AE06C7F19036C6D17C06E16077E6C6DEE0F806C6DEE1F006D6C5E 6D6C167E6D6C6C5D6D6D4A5A6D01F0EC07F0010101FEEC1FE06D903AFFF001FF80023F90 B6C7FC020715FC020115F0DA001F1480030001F8C8FC44467AC451>I<B9FC18F018FE72 7E19E026003FFEC7001F13F805017F9438003FFF060F7F727F727F727F84737E737EA273 7EA2737EA21B80A2851BC0A51BE0AD1BC0A51B8061A21B006162193F624F5A19FF624E5B 06075B4E5B063F90C7FC4DB45A050F13F8BA5A19C04EC8FC18F095C9FC4B447CC356>I< BA1280A419C026003FFEC7121F1701EF007F183F181F180F180719E01803A31801A3EE01 E0F000F0A419001603A31607160F167F91B6FCA59138FE007F160F16071603A31601A693 C9FCAFB712F0A53C447CC346>70 D<DCFFF01470031F01FF14F04AB6EAE0010207EDF803 023FEDFE0791B539E001FF0F4949C7EA3F9F010701F0EC0FFF4901C0804990C87E494881 4948814948167F4849163F4849161F5A4A160F485B19074890CAFC19035A5BA2007F1801 A34994C8FC12FFAD057FB612F0127F7FA3003FDC0001EBF000A27F7EA26C7FA26C7F807E 6C7F6C7F6D7E6D6C5D6D6C7E6D6D5C6D01F05C010101FE143F6D903AFFF001FF9F023F90 B6120F0207EDFC030201EDF000DA001F02C01330030001FCC9FC4C467AC458>I<B7D880 03B612FEA526003FFEC9EBF800B3A791B9FCA54AC9FCB3AAB7D88003B612FEA54F447CC3 58>I<B712E0A5D8001F90C7FCB3B3B3A4B712E0A523447DC32A>I<B64BB512FE8181A281 D8003F6D91C7EA780081013D7F81133C6E7E6E7F6E7F6E7F6E7F82806E7F6E7F6F7E6F7F 83816F7F6F7F6F7F6F7F6F7F8382707F707F707F707F8482707F707F717E7113807113C0 19E0837113F07113F87113FC7113FE19FF847213F884848484A28484197F193F191FA219 0F1907B61603190119001A78A24F447CC358>78 D<B9FC18F018FE727E19E0D8001F90C7 000F7F05017F716C7E727E727E721380A21AC084A21AE0A91AC0A24E1380A21A00604E5A 4E5A4D485A050F5B92B712C096C7FC18FC18C092CBFCB3A7B712E0A543447DC34D>80 D<B812F8EFFFC018F818FE727ED8001F90C7003F13E005037F05007F727E727E727EA286 84A286A762A24E90C7FCA24E5A61187F943801FFF005075B053F138092B7C8FC18F818E0 18F892C77FEF3FFF050F7F717F717FA2717FA2717FA785A61B0F85A2187F73131F72141E B700E06DEB803E72EBE0FC72EBFFF8060114F0726C13E0CC0007138050457DC354>82 D<003FBA12E0A59026FE000FEB8003D87FE09338003FF049171F90C71607A2007E180300 7C1801A300781800A400F819F8481978A5C81700B3B3A20107B8FCA545437CC24E>84 D<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF84848EB1FFC6D6D7E486C6D7E A26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC1307013F13F19038FFFC0100 0313E0000F1380381FFE00485A5B127F5B12FF5BA35DA26D5B6C6C5B4B13F0D83FFE013E EBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90FFCC9FC322F7DAD36>97 D<EB7FC0B5FCA512037EB1ED0FF892B57E02C314E002CF14F89139DFC03FFC9139FF000F FE02FCEB03FF4A6D13804A15C04A6D13E05CEF7FF0A218F8173FA318FCAC18F8A2177F18 F0A3EFFFE06E15C06E5B6E491380027C491300496C495A903AFC1FC07FFC496CB512F0D9 F00314C049C691C7FCC8EA1FF036467DC43E>I<EC3FFC49B512C0010F14F0013F14FC90 397FF003FE9039FFC001FF0003495A48494813805B120F485AA2485A6F1300007F6E5AED 00784991C7FCA212FFAC6C7EA3123F6DEC03C0A26C6C1407000F16806D140F6C6DEB1F00 6C6D133E6C01F05B3A007FFC03F86DB55A010F14C0010391C7FC9038003FF82A2F7CAD32 >I<EE03FEED07FFA5ED001F160FB1EC3FE0903803FFFC010FEBFF8F013F14CF9039FFF8 07FF48EBC00148903880007F4890C7123F4848141F49140F121F485AA3127F5BA212FFAC 127FA37F123FA26C6C141FA26C6C143F0007157F6C6C91B5FC6CD9C00314FC6C9038F01F EF6DB5128F011FEBFE0F010713F89026007FC0EBF80036467CC43E>I<EC3FF80103B57E 010F14E0013F8090397FF83FF89039FFC007FC48496C7E48496C7E48486D1380485A001F ED7FC05B003FED3FE0A2127F5B17F0161F12FFA290B7FCA401F0C9FCA5127FA27FA2123F 17F06C7E16016C6C15E06C6C14036C6DEB07C06C6DEB0F806C01F0EB3F0090397FFE01FE 011FB55A010714F0010114C09026001FFEC7FC2C2F7DAD33>I<EDFF80020F13E0027F13 F049B512F849EB8FFC90390FFE0FFE90381FFC1F14F8133FEB7FF0A2ED0FFCEBFFE0ED03 F0ED00C01600ABB612F8A5C601E0C7FCB3B0007FEBFFE0A527467DC522>I<DAFFE0137E 010F9039FE03FF80013FEBFF8F90B812C048D9C07F133F489038001FF84848EB0FFC4848 903907FE1F80001F9238FF0F00496D90C7FCA2003F82A8001F93C7FCA26D5B000F5D6C6C 495A6C6C495A6C9038C07FF04890B55A1680D8078F49C8FC018013E0000F90CAFCA47F7F 7F90B612C016FC6CEDFF8017E06C826C16FC7E000382000F82D81FF0C77ED83FC0140748 48020113808248C9FC177FA46D15FF007F17006D5C6C6C4A5A6C6C4A5AD80FFEEC3FF83B 07FFC001FFF0000190B612C06C6C92C7FC010F14F8D9007F90C8FC32427DAC38>I<EB7F C0B5FCA512037EB1ED07FE92383FFF8092B512E002C114F89139C7F03FFC9138CF801F91 39DF000FFE14DE14FC4A6D7E5CA25CA35CB3A7B60083B512FEA537457CC43E>I<137C48 B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA007C90C7FCAAEB7FC0EA7FFF A512037EB3AFB6FCA518467CC520>I<EB7FC0B5FCA512037EB293387FFFE0A593380FE0 004C5A4CC7FC167E5EED03F8ED07E04B5A4B5A037FC8FC15FEECC1FCECC3FE14C7ECDFFF 91B57E82A202F97F02E17F02C07FEC807F6F7E826F7E816F7F836F7F816F7F83707E163F B60003B512F8A535457DC43B>107 D<EB7FC0B5FCA512037EB3B3B3A3B61280A519457C C420>I<90277F8007FEEC0FFCB590263FFFC090387FFF8092B5D8F001B512E002816E48 80913D87F01FFC0FE03FF8913D8FC00FFE1F801FFC0003D99F009026FF3E007F6C019E6D 013C130F02BC5D02F86D496D7EA24A5D4A5DA34A5DB3A7B60081B60003B512FEA5572D7C AC5E>I<90397F8007FEB590383FFF8092B512E0028114F8913987F03FFC91388F801F00 0390399F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7B60083B512FEA5372D7CAC3E> I<EC1FFC49B512C0010714F0011F14FC90397FF80FFF9026FFC0017F48496C7F4848C7EA 3FE000078248486E7E49140F001F82A2003F82491407007F82A400FF1780AA007F1700A4 6C6C4A5AA2001F5E6D141F000F5E6C6C4A5AA26C6C6CEBFFE06C6D485B27007FF80F90C7 FC6DB55A010F14F8010114C09026001FFCC8FC312F7DAD38>I<90397FC00FF8B590B57E 02C314E002CF14F89139DFC03FFC9139FF001FFE000301FCEB07FF6C496D13804A15C04A 6D13E05C7013F0A2EF7FF8A4EF3FFCACEF7FF8A318F017FFA24C13E06E15C06E5B6E4913 806E4913006E495A9139DFC07FFC02CFB512F002C314C002C091C7FCED1FF092C9FCADB6 7EA536407DAC3E>I<DA3FE0131E902603FFFC133E010F01FF137E013F1480903AFFF80F E0FE489038E003F148EBC0014890388000FB4890C7127F49143F001F151F485A160F5B12 7FA3485AAC6C7EA46C7EA26C6C141F163F6C6C147F6C15FF6C6D5A6C9038E003EF6C9038 F01FCF6DB5128F011FEBFE0F010313F89038007FC091C7FCAD0307B512FCA536407CAC3B >I<90387F807FB53881FFE0028313F0028F13F8ED8FFC91389F1FFE000313BE6C13BC14 F8A214F0ED0FFC9138E007F8ED01E092C7FCA35CB3A5B612E0A5272D7DAC2E>I<90391F FC038090B51287000314FF120F381FF003383FC00049133F48C7121F127E00FE140FA215 077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C14FC6C800003806C15806C7E01 0F14C0EB003F020313E0140000F0143FA26C141F150FA27EA26C15C06C141FA26DEB3F80 01E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E007FEC7FC232F7CAD2C>I<EB01 E0A51303A41307A2130FA2131FA2133F137F13FF1203000F90B51280B7FCA4C601E0C7FC B3A3ED01E0A9150302F013C0137F150790393FF80F8090391FFC1F006DB5FC6D13FC0101 5B9038003FE023407EBE2C>I<D97FC049B4FCB50103B5FCA50003EC000F6C81B3A85EA2 5EA25E7E6E491380017FD901F713FE9138F807E76DB512C7010F1407010313FE9026007F F0EBFC00372E7CAC3E>I<B6903803FFFCA5000101E09038003E006C163C80017F5D8017 F8013F5D6E1301011F5D6E1303010F5D6E13076D5DED800F6D92C7FC15C05E6DEBE01E16 3E6D143CEDF07C027F1378EDF8F8023F5B15FD021F5B15FF6E5BA36E5BA26E90C8FCA26E 5AA26E5AA21578362C7EAB3B>I<B5D8FE1FB539801FFFF0A500019027C0003FE0C7EA7C 007114786E17F86C6F6C5C6E1601017F6E6C5CA26E011F1403013F6F5C6E013F1407011F 6F5CA26E0179140F010F048090C7FC6E01F95C6D02F0EBC01E15806D902681E07F5B18E0 03C3157C6D9139C03FF07815E76DDA801F5B18F803FF14F96E9039000FFDE018FF6E486D 5BA36E486D5BA26E486D90C8FCA24B7F02075DA26E48147C4B143C4C2C7EAB51>I<B690 3803FFFCA5000101E09038003E006C163C80017F5D8017F8013F5D6E1301011F5D6E1303 010F5D6E13076D5DED800F6D92C7FC15C05E6DEBE01E163E6D143CEDF07C027F1378EDF8 F8023F5B15FD021F5B15FF6E5BA36E5BA26E90C8FCA26E5AA26E5AA21578A215F85D1401 5D001F1303D83F805B387FC007D8FFE05B140F92C9FC5C143E495A387FC1F8EB07F06CB4 5A6C5B000790CAFCEA01FC36407EAB3B>121 D E /Ft 6 66 df<B812C0A32A037A9137> 0 D<123C127E12FFA4127E123C08087A9414>I<170EA3170F8384170384170184717E18 78187C84180FF007C0BA12F819FC19F8CBEA07C0F00F00183E601878604D5A6017036017 0795C7FC5F170EA33E237CA147>33 D<137813FE1201A3120313FCA3EA07F8A313F0A2EA 0FE0A313C0121F1380A3EA3F00A3123E127E127CA35AA35A0F227EA413>48 D<D93F80EC07F0D9FFF0EC3FFC000301FC91B5FC4801FF903901F80780D80F80903A8007 C001C03D1E003FC00F8000E0486D6C48C71270003890260FF03E143048902607F83C1438 6E6C48141800606D6C5A00E06D6C48141C48027F150C5E153F6F7E6F7E82151F6C6F141C 0060DA3DFE1418DB78FF143800704A6C7E003001016D6C1370003849486C6C13F06C903B 07C00FF001E06C903B0F8007FC07C02807807E0003B512806CB44801001400C601F0EC3F FCD93F80EC07F03E1F7C9D47>I<173017F0160116031607A2160FA2161F161B163B1633 167316E3A2ED01C316831503EE03F81507150EA2ED1C011538A2157015E0A2EC01C0EC03 80A2DA07007F140E92B5FC141F5C5C0270C7FC4A801301382003C038700780D8780FC812 7FEAFE3FD8FFFE160449169C49ED3FF86C4816E06C4816C06C48ED1F000007CBFC36337E AF38>65 D E /Fu 21 121 df<157E913801FFC091380781E091381E00F014384A13F84A 1378495A494813F891C7FC5B1306010E1301010C14F0131C0118EB03E0ED07C001381480 9039301FEF00EC3FFE13709038601FEF9138000F80ED07C013E04914E0A312015BA30003 140F90C713C0A348EC1F80A2ED3F00A2486C137E000D147C6D5B390CE001F0391C7003E0 39183C0F80D91FFEC7FCEB03F80038C9FC1230A312701260A312E05AA3253C7EAE28>12 D<13FC13FFEB1FC0130F6D7EA36D7EA2130180A26D7EA3147EA280A36E7EA2140F81A24A 7E143F147FECF3F0EB01E3EB03C190380781F8130F49C67E133E5B49137E485A48487F12 07485A4848EB1F8048C7FC127E48EC0FC048EC07E000701403232F7DAD29>21 D<0103B512F0131F137F90B612E03A01FC1F80003903F00FC03807C00748486C7E121F13 00123EA25AA2140700FC5C5AA2140F5D141F92C7FC143E0078133C147C007C5B383C01E0 381F07C0D807FFC8FCEA01F8241E7D9C28>27 D<90B6128012035A481500261E00E0C7FC 5A00705B130112E012C0EA0003A25CA21307A349C8FCA35BA2131E133EA45BA21338211E 7E9C1F>I<123C127EB4FCA21380A2127F123D1201A312031300A25A1206120E5A5A5A12 6009157A8714>59 D<15C0140114031580A214071500A25C140EA2141E141CA2143C1438 14781470A214F05CA213015CA213035C130791C7FCA25B130EA2131E131CA2133C1338A2 1378137013F05BA212015BA212035BA2120790C8FC5A120EA2121E121CA2123C1238A212 781270A212F05AA21A437CB123>61 D<90263FFFFC90381FFF80A2D900FEC73803F80018 E04AEC07804DC7FC0101151C5F4A14E04C5A01034A5A040EC8FC4A5B5E010714E04B5A91 38E00780030EC9FC010F131F157F4A487E14C190391FC71FC014CEEC9C0F02F07F90383F E00702C07FEC0003825B6F7E137E6F7E13FE167F5B707E1201161F4981831203B539E001 FFFEA2392D7CAC3C>75 D<13F8121FA21201A25BA21203A25BA21207A25BA2120FEBC7E0 EB9FF8EBB83C381FF01EEBE01F13C09038800F80EA3F00A2123EA2007E131FA2127CA214 3F00FC14005AA2147EA2147C14FC5C387801F01303495A383C0F806C48C7FCEA0FFCEA03 F0192F7DAD1E>98 D<EB03F8EB0FFE90383E0780EBF803D801F013C03803E001EA07C000 0F1303D81F8013801407393F000F00141E387F01FCEBFFF091C7FC007EC8FC12FE5AA412 7C156015E0EC01C06CEB0380EC0F006C131C380F81F83803FFE0C648C7FC1B1F7D9D21> 101 D<131FEA03FFA2EA003FA2133EA2137EA2137CA213FCA25BA21201143F9038F1FFC0 9038F3C1F03803FF0001FC7F5BA2485A5BA25B000F13015D1380A2001F13035D13001407 48ECC04016C0003E130F1580007E148191381F0180007C1403ED070000FCEB0F06151E48 EB07F80070EB01E0222F7DAD29>104 D<1307EB0F80EB1FC0A2EB0F80EB070090C7FCA9 EA01E0EA07F8EA0E3CEA1C3E123812301270EA607EEAE07C12C013FC485A120012015B12 035BA21207EBC04014C0120F13801381381F01801303EB0700EA0F06131EEA07F8EA01F0 122E7EAC18>I<15E0EC01F01403A3EC01C091C7FCA9147CEB03FE9038078F80EB0E0713 1C013813C01330EB700F0160138013E013C0EB801F13001500A25CA2143EA2147EA2147C A214FCA25CA21301A25CA21303A25CA2130700385BEAFC0F5C49C7FCEAF83EEAF0F8EA7F F0EA1F801C3B81AC1D>I<131FEA03FFA2EA003FA2133EA2137EA2137CA213FCA25BA212 0115F89038F003FCEC0F0E0003EB1C1EEC387EEBE07014E03807E1C09038E3803849C7FC 13CEEA0FDC13F8A2EBFF80381F9FE0EB83F0EB01F81300481404150C123EA2007E141C15 18007CEBF038ECF83000FC1470EC78E048EB3FC00070EB0F801F2F7DAD25>I<137CEA0F FCA21200A213F8A21201A213F0A21203A213E0A21207A213C0A2120FA21380A2121FA213 00A25AA2123EA2127EA2127CA2EAFC08131812F8A21338133012F01370EAF860EA78E0EA 3FC0EA0F000E2F7DAD15>I<27078007F0137E3C1FE01FFC03FF803C18F0781F0783E03B 3878E00F1E01263079C001B87F26707F8013B00060010013F001FE14E000E015C0485A49 14800081021F130300015F491400A200034A13076049133E170F0007027EEC8080188149 017C131F1801000F02FCEB3F03053E130049495C180E001F0101EC1E0C183C010049EB0F F0000E6D48EB03E0391F7E9D3E>I<3907C007E0391FE03FF83918F8783E393879E01E39 307B801F38707F00126013FEEAE0FC12C05B00815C0001143E5BA20003147E157C5B15FC 0007ECF8081618EBC00115F0000F1538913803E0300180147016E0001F010113C015E390 C7EAFF00000E143E251F7E9D2B>I<903807E03090381FF87090387C1CF0EBF80D3801F0 0F3903E007E0EA07C0000F1303381F800715C0EA3F00A248130F007E1480A300FE131F48 1400A35C143E5A147E007C13FE5C1301EA3E07EA1F0E380FFCF8EA03F0C7FC13015CA313 035CA21307A2EBFFFEA21C2B7D9D20>113 D<3807C01F390FF07FC0391CF8E0E0383879 C138307B8738707F07EA607E13FC00E0EB03804848C7FCA2128112015BA21203A25BA212 07A25BA2120FA25BA2121FA290C8FC120E1B1F7E9D20>I<EB07E0EB3FF8EB781EEBF006 3801E0073803C00F141FA20007131E140CEBE00013F8EBFF806C13E06C13F06C13F8EB3F FC13011300147C0078133C12FCA2147C48137800E013F814F0386001E0387807C0381FFF 00EA07F8181F7C9D21>I<130E131FA25BA2133EA2137EA2137CA213FCA2B512F8A23801 F800A25BA21203A25BA21207A25BA2120FA25BA2001F1310143013001470146014E0381E 01C0EB0380381F0700EA0F0EEA07FCEA01F0152B7EA919>I<013F137C9038FFC1FF3A01 C1E383803A0380F703C0390700F60F000E13FE4813FC12180038EC0700003049C7FCA2EA 200100005BA313035CA301075B5D14C000385CD87C0F130600FC140E011F130C011B131C 39F03BE038D8707113F0393FE0FFC0260F803FC7FC221F7E9D28>120 D E /Fv 16 113 df<007FB812FEBAFCA26C17FE3804799847>0 D<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A799B19>I<180E183F18FFEF03FEEF0F F8EF3FE0EFFF80933803FE00EE0FF8EE3FE0EEFF80DB03FEC7FCED0FF8ED7FE0913801FF 80DA07FEC8FCEC1FF8EC7FC04948C9FCEB07FCEB1FF0EB7FC04848CAFCEA07FCEA1FF0EA 7FC048CBFCA2EA7FC0EA1FF0EA07FCEA01FF38007FC0EB1FF0EB07FCEB01FF9038007FC0 EC1FF0EC07FE913801FF809138007FE0ED1FF8ED03FE923800FF80EE3FE0EE0FF8EE03FE 933800FF80EF3FE0EF0FF8EF03FEEF00FF183F180E1800AE007FB812FEBAFCA26C17FE38 4879B947>20 D<127012FCB4FCEA7FC0EA1FF0EA07FCEA01FF38007FC0EB1FF0EB07FCEB 01FF9038007FC0EC1FF0EC07FE913801FF809138007FE0ED1FF8ED03FE923800FF80EE3F E0EE0FF8EE03FE933800FF80EF3FE0EF0FF8EF03FEEF00FFA2EF03FEEF0FF8EF3FE0EFFF 80933803FE00EE0FF8EE3FE0EEFF80DB03FEC7FCED0FF8ED7FE0913801FF80DA07FEC8FC EC1FF8EC7FC04948C9FCEB07FCEB1FF0EB7FC04848CAFCEA07FCEA1FF0EA7FC048CBFC12 FC1270CCFCAE007FB812FEBAFCA26C17FE384879B947>I<D91FE01620D9FFFC16704813 FF000714C04814F048809026E01FFE15F0273F0003FFEC01E0007E010013C00078DA3FF0 1307DB0FFCEB0FC048913A07FF807F8048020190B5FC6F1500043F5B040F13F804035B00 409238007F80CDFCA4D91FE01620D9FFFC16704813FF000714C04814F048809026E01FFE 15F0273F0003FFEC01E0007E010013C00078DA3FF01307DB0FFCEB0FC048913A07FF807F 8048020190B5FC6F1500043F5B040F13F804035B00409238007F803C287BAB47>25 D<140C141EA2143E143CA2147C1478A214F8495AA2495A495AA2495A49CDFC133E137EEA 01F8485AEA0FE0003FBB12FEBDFCA2003F1AFED80FE0CDFCEA03F06C7EEA007E133E7F6D 7E6D7EA26D7E6D7EA26D7E1478A2147C143CA2143E141EA2140C50307BAE5B>32 D<0203B512F8023F14FC91B6FC010315F8D90FFEC8FCEB1FE0EB7F8001FEC9FCEA01F848 5A485A485A5B48CAFCA2123EA25AA21278A212F8A25AA2B812F817FCA217F800F0CAFCA2 7EA21278A2127CA27EA27EA26C7E7F6C7E6C7E6C7EEA00FEEB7F80EB1FE0EB0FFE0103B6 12F8010015FC143F020314F82E3679B13D>50 D<1718173C177CA217F8A2EE01F0A2EE03 E0A2EE07C0160F1780EE1F00A2163EA25EA25EA24B5AA24B5AA24B5AA24B5AA24BC7FCA2 153E157E157C5DA24A5AA24A5AA24A5AA24A5AA24AC8FCA2143EA25CA25C13015C495AA2 495AA2495AA249C9FCA2133EA25BA25BA2485AA2485AA2485A120F5B48CAFCA2123EA25A A25AA25A12602E5474C000>54 D<126012F0B3B3B3B3ADB512FCA37E165A71C328>98 D<1418143CB3B3B3B3ADB512FCA314F8165A7EC328>I<387FFFFCB5FCA300F0C7FCB3B3 B3B3AD1260165A71C328>I<B512F814FCA3C7123CB3B3B3B3AD1418165A7EC328>I<153F EC03FFEC0FE0EC3F80EC7E00495A5C495AA2495AB3AA130F5C131F495A91C7FC13FEEA03 F8EA7FE048C8FCEA7FE0EA03F8EA00FE133F806D7E130F801307B3AA6D7EA26D7E80EB00 7EEC3F80EC0FE0EC03FFEC003F205B7AC32D>I<12FCEAFFC0EA07F0EA01FCEA007E6D7E 131F6D7EA26D7EB3AA801303806D7E1300147FEC1FC0EC07FEEC00FFEC07FEEC1FC0EC7F 0014FC1301495A5C13075CB3AA495AA2495A133F017EC7FC485AEA07F0EAFFC000FCC8FC 205B7AC32D>I<126012F0B3B3B3B3B11260045B76C319>106 D<1A061A0F1A1FA21A3EA2 1A7CA21AF8A2F101F0A2F103E0A2F107C0A2F10F80A2F11F00A2193EA261A261A24E5AA2 4E5AA24E5AA24E5AA24EC7FCA2183EA260A260A24D5AA24D5A133801F85E486C15071203 D80FFE4B5A121D00394CC8FCEAF1FF00C0163EC67F017F5D80013F5D80011F4A5A80010F 4A5A8001074A5AA26E495A13036E49C9FC13016E133E7F6F5A147F6F5A143FEDE1F0141F EDE3E015F391380FF7C015FF6E5BA26E90CAFCA26E5AA26E5AA215781570485B7A834C> 112 D E /Fw 61 123 df<933807FF80043F13E09338FE00F8DB01F0133EDB07E0130E4B 48131F4C137F031F14FF4BC7FCA218FE157E1878180015FE5DA31401A25DA414030103B7 12F0A218E0903A0003F000070207140F4B14C0A3171F020F15805DA2173F1800141F5D5F 177EA2143F92C712FE5FA34A1301027EECF81CA3160302FEECF03C4A1538A21878187013 014A010113F018E0933800F1C0EF7F804948EC1F0094C7FCA35C1307A2001E5B127F130F 00FF5BA249CAFC12FEEAF81EEA703CEA7878EA1FF0EA07C0385383BF33>12 D<EA01E0EA07F8120F13FC121FA4120FEA03D8EA0018A2133813301370136013E013C012 01EA038013005A120E5A5A5A5A5A0E1C6DBE1C>39 D<ED01801507ED0F00151C5D5D5D14 014A5A4A5A4AC7FC141E143E5C14785C1301495AA2495A5C130F49C8FCA2133EA25BA213 FC5B12015BA212035B1207A25B120FA25BA2121FA290C9FCA25AA2123EA2127EA2127CA6 5AAB1278A67EA47EA2120E120F7EA26C7EA26C7E6C7E1360215A73C325>I<14031580A2 EC01C0EC00E0A21570A215781538153CA3151EA4151FA2150FA7151FA9153FA2153EA315 7EA2157CA215FCA215F8A21401A215F0A2140315E0A2140715C0A2EC0F80A2141F15005C 143EA25CA25CA2495A5C1303495A5C130F49C7FC131E5B137C5B5B485A485A485A48C8FC 121E5A12705A5A205A7FC325>I<EA01E0EA07F8120FA2EA1FFCA4EA0FF8EA0798EA0018 13381330A21370136013E013C01201EA0380EA07001206120E5A5A5A5A5A0E1C7A891C> 44 D<387FFFFEA3B5FCA21705799521>I<120FEA3FC0127FA212FFA31380EA7F00123C0A 0A77891C>I<15031507150F151F151E153E157EEC01FEEC03FC1407141FEB01FF90380F FBF8EB1FC3EB0E07130015F0A2140FA215E0A2141FA215C0A2143FA21580A2147FA21500 A25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CA2131FA25CEB7FE0B612F0A2 15E0203D77BC2E>49 D<15FE913803FFC091380F01F091383C00F84A137C4A7F4948133F 49487F4A148049C7FC5BEB0E0C011E15C0EB1C0EEB3C06133813781370020E133FD9F00C 148013E0141C0218137F00011600EBC0384A13FEEC600102E05B3A00E3C003F89039FF00 07F0013C495A90C7485A5E037FC7FC15FC4A5A4A5AEC0FC04AC8FC147E14F8EB03E0495A 011FC9FC133E49141801F0143C48481438485A1678485A48C85A120E001E4A5AD83FE013 0301FF495A397C3FF01FD8780FB55AD8700391C7FCD8F0015B486C6C5A6E5AEC07C02A3F 79BC2E>I<ED7F80913803FFE091380F80F891383C007C02F87FD901E07F494814804948 130F49C7FC010E15C0131EEB1C18EB3C1CEB380C0178141F17801370A2021C133F6D4814 004A5BD91FE0137ED90F805B90C8FC4B5A4B5A4B5AED1F8003FFC7FCECFFFC15F0A2EC00 FC153E153F8182150F82A4151FA2121E127F153F485DA3484AC7FC12F800E014FE5D1401 6C495A0070495A0078EB0FC00038495A6C017EC8FC380F01F83803FFE0C690C9FC2A3F78 BC2E>I<1638167E16FE16FCA3150116F8A3150316F0A2150716E0A2ED0FC0A3ED1F80A2 16005DA2157EA2157C15FC5D14015D14035D4A5AA24A5AA24AC7FC143EED038091387C0F C014F8ECF01F01011480EB03E014C0903807803F010F1400EB1F00133E495B49137E485A 485A484813FE48B46C5A4813F04813FE267C00FF130800F090380FFFFC00601301C714E0 913803F8005DA314075DA3140F5DA3141F5DA3020EC7FC274F7DBC2E>I<02C0EB018002 F0130FD901FEEB7F0091B512FE5E5E4914E016804BC7FCECBFF8D90780C8FC91C9FCA35B 130EA3131E131CA3133C9038381FC0ECFFF090383BE07C90387F003E017E133F017C7F01 78805B498090C7FCA6153FA4001F147F486C5C487EA24913FF00FF92C7FC90C7FC48495A 12E04A5A5D6C495A140F00705C0078495A6C495A003E01FEC8FC381F03FC380FFFF00003 13C0C648C9FC293F77BC2E>I<ED0FE0ED7FF8913801F01C913807C00E91381F800F9138 3E00074A131F4A137F494813FF1303495A494813FE131F4948137891C8FC5B13FEA2485A A212035B0007EB1FC0EC7FF0390FF1E07C9038F3803EEBF700D81FFE7F4914805B49EB0F C0123F5B151F4914E0127FA25BED3FC0A248C7FCA2157F16805AA215FF1600A24A5AA248 5C007C495AA2007E495A4A5A003E495A003F495A261F807EC7FC380FC1FC6CB45A6C13E0 C66CC8FC283F76BC2E>I<D9703FEB01C09138FF800301F3158001EFEBC00790B5EB0F00 48151E14832603FE015B01F8147C2607F0005B49EBE3F04848137F496D5A48C71201001E 4A5A1507485D0038140F007892C7FC00705C00F0143E5A5DC8FC5DA24A5AA214035D1407 4A5AA2141F5DA24AC8FCA25C147E14FEA2495AA3495AA313075C130FA25C131FA35C133F A35C91C9FC131E2A3F73BC2E>I<157F913801FFE0913807C0F091381F007C023C133C4A 133E4A131F1301495A5C1307A2495AA2163F011F143EA2167E6E137C16F8ECE00102F013 F09138F803E09138FC07C090390FFE0F00ECFFBE6D13F86D5B7F6D7F8101037F90380F9F FFD91F0F1380D97C0713C0497E48486C13E03903E0007F4848133F4848131F001F140F90 C7FC003E1407A2127E127CA200FC15C05AA2ED0F80A2ED1F00153E007C143C157C007E5C 6CEB03F0391F8007C0390FE03F802607FFFEC7FC000113F838003FC0283F78BC2E>I<15 FF020713C091381F81E091383E00F002FC13F84948137C495A4948137E010F143E495A13 3F4A133F017F147F91C7FC5BA2485AA216FF12035B16FE150112075B1503A216FC491307 A20003140F16F8151F12016D133F0000EC7FF015EF90387C01CF90393E079FE090380FFE 1FD903F813C090C7123FA21680157F160015FEA24A5A001C5C007F1303485C4A5A4A5A4A 5A4849C7FC00F8137E00E05B6C485A387C07E0383FFFC06C90C8FCEA03F8283F77BC2E> I<131EEB3F80137FEBFFC05AA214806C13005B133C90C7FCB3120FEA3FC0127FA212FFA3 5B6CC7FC123C122777A61C>I<171C173C177CA217FCA216011603A21607A24C7EA2161D A216391679167116E1A2ED01C1A2ED038115071601150EA2031C7FA24B7EA25D15F05D4A 5AA24A5AA24AC7FC5C140E5C021FB6FC4A81A20270C7127FA25C13015C495AA249C8FCA2 130E131E131C133C5B01F882487ED807FEEC01FFB500E0017FEBFF80A25C39417BC044> 65 D<49B712C018F818FE903B0003FC0001FF9438007F804BEC3FC0A2F01FE014074B15 F0180FA2140F5D181FA2021F16E05D183F19C0023FED7F804B14FF19004D5A027F4A5A92 C7EA07F0EF1FE0EF7F804AD903FEC7FC92B512F017FE4AC7EA3F800101ED1FE04A6E7E17 078401036F7E5CA30107825CA3010F5E4A1407A260011F150F5C4D5A60013F153F4A4A5A 4D5A017F4A90C7FC4C5A91C7EA0FF849EC3FF0B812C094C8FC16F83C3E7BBD40>I<9339 FF8001C0030F13E0033F9038F803809239FF807E07913A03FC001F0FDA0FF0EB071FDA1F C0ECBF00DA7F806DB4FC4AC77E495AD903F86E5A495A130F4948157E4948157C495A13FF 91C9FC4848167812035B1207491670120FA2485A95C7FC485AA3127F5BA312FF5BA490CC FCA2170FA2170EA2171E171C173C173817786C16706D15F04C5A003F5E6D1403001F4B5A 6D4AC8FC000F151E6C6C5C6C6C14F86C6C495A6C6CEB07C090397FC03F8090261FFFFEC9 FC010713F0010013803A4272BF41>I<49B712C018F818FE903B0003FE0003FF9438007F 804BEC1FC0F00FE0F007F014074BEC03F8F001FCA2140F4BEC00FEA3141F4B15FFA3143F 5DA3027F5D5DA219FE14FF92C81203A34917FC4A1507A219F813034A150F19F0A20107EE 1FE05CF03FC0A2010FEE7F804A16006060011F4B5A4A4A5A4D5AA2013F4B5A4AEC3FC04D C7FC017F15FEEE03FC4AEB0FF001FFEC7FE0B8128004FCC8FC16E0403E7BBD45>I<49B8 12F8A390260003FEC7121F18074B14031801F000F014075DA3140F5D19E0A2141F4B1338 A2EF7801023F027013C04B91C7FCA217F0027F5CED80011603160F91B65AA3ED001F49EC 07805CA3010392C8FC5CF003804C13070107020E14005C93C75A180E010F161E4A151C18 3CA2011F5E5C60A2013F15014A4A5A1707017F150F4D5A4A147F01FF913807FF80B9FCA2 95C7FC3D3E7BBD3E>I<49B812F0A390260003FEC7123F180F4B1403A2F001E014075DA3 140F5D19C0A2141F5D1770EFF003023F02E013804B91C7FCA21601027F5CED8003A21607 02FFEB1F8092B5FCA349D9003FC8FC4A7F82A20103140E5CA2161E0107141C5CA293C9FC 130F5CA3131F5CA3133F5CA2137FA25C497EB612E0A33C3E7BBD3B>I<49B648B6FC495D A2D9000390C7000313004B5D4B5DA2180714074B5DA2180F140F4B5DA2181F141F4B5DA2 183F143F4B5DA2187F147F4B5DA218FF91B8FC96C7FCA292C712015B4A5DA2170313034A 5DA2170713074A5DA2170F130F4A5DA2171F131F4A5DA2173F133F4A5DA2017F157FA24A 5D496C4A7EB66CB67EA3483E7BBD44>72 D<49B6FC5BA2D9000313005D5DA314075DA314 0F5DA3141F5DA3143F5DA3147F5DA314FF92C7FCA35B5CA313035CA313075CA3130F5CA3 131F5CA3133F5CA2137FA25C497EB67EA3283E7BBD23>I<49B6903807FFFE605ED90003 90C7000113E04B6E13004B15FC4E5A19E002074B5A4BEC0F804EC7FC183C020F5D4B5C4D 5AEF07C0021F4AC8FC4B131E5F5F023F5C9238C003E0EE07804CC9FC027F5B4B5AEEFF80 1581ECFF834B7FED0F7FED1E3F49017C7FECFEF89138FFE01F03C07F491380ED000F4A80 5C010714074A80A21603010F815C160183131F4A6D7FA2177F013F825C173F017F82A24A 81496C4A7EB6D8800FB512C0A261473E7BBD46>75 D<49B612C0A25FD9000390C8FC5D5D A314075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92C9FCA35B5CA313035C18C0EF 01E0010716C05C17031880130F4A140718005F131F4A141EA2173E013F5D4A14FC160101 7F4A5A16074A131F01FFECFFF0B8FCA25F333E7BBD39>I<49B5933807FFFC496062D900 03F0FC00505ADBBF805E1A771AEF1407033F923801CFE0A2F1039F020FEE071F020E606F 6C140E1A3F021E161C021C04385BA2F1707F143C023804E090C7FCF001C0629126780FE0 495A02705FF00700F00E0114F002E0031C5BA2F03803010116704A6C6C5D18E019070103 ED01C00280DA03805BA2943807000F13070200020E5C5FDB03F8141F495D010E4B5CA24D 133F131E011CDAF9C05CEEFB80197F013C6DB4C7FC013895C8FC5E01784A5C13F8486C4A 5CD807FE4C7EB500F04948B512FE16E01500563E7BBD52>I<902601FFFE020FB5FC496D 5CA2D900016D010013C04AEE3F00193E70141C193CEC07BFDB3FE01438151F1978020F7F DA0E0F15708219F0EC1E07021C6D5CA203031401023C7FDA38015DA2701303EC78000270 02805BA2047F130702F014C04A013F91C7FCA2715A0101141F4AECF00EA2040F131E0103 15F84A151C1607EFFC3C0107140391C7143817FE040113784915FF010E16708218F0131E 011C6F5AA2173F133C01385E171F137813F8486C6F5AEA07FEB500F01407A295C8FC483E 7BBD44>I<EEFFC0030713F892383F80FE9238FC003FDA03F0EB0F804A486D7EDA1F8080 4AC76C7E027E6E7E4A81494814004948811307495A4948157F133F5C49C9FC4917805B12 01485AA212075B000F17FFA25B121F190048485DA448484B5AA34D5AA25B4D5A12FF6017 1F60007F163F604D5AA24DC7FC5F003F15014C5A6D5D001F4B5A4C5A6C6C4A5A4C5A6C6C 4AC8FC000315FC6C6C495A6C6CEB07E0017FEB1F8090261FC07EC9FC903807FFF8010013 80394273BF46>I<49B77E18F018FC903B0003FE0003FEEF00FF4BEC7F80F03FC0020715 1F19E05DA2020F16F0A25DA2141FF03FE05DA2023F16C0187F4B1580A2027FEDFF00604B 495A4D5A02FF4A5A4D5A92C7EA3FC04CB4C7FC4990B512FC17E04ACAFCA21303A25CA213 07A25CA2130FA25CA2131FA25CA2133FA25CA2137FA25C497EB67EA33C3E7BBD3E>I<49 B612FCEFFF8018F0903B0003FE000FF8EF03FE4BEB00FF8419800207ED3FC05DA219E014 0F5DA3021FED7FC05DA2F0FF80143F4B15004D5A60027F4A5A4B495A4D5AEF3F8002FF02 FEC7FC92380007F892B512E01780499038000FE04A6D7E707E707E0103814A130083A213 075CA25E130F5C5F1603131F5CA3013F020714404A16E05F017F160119C04A0103130349 6C1680B6D8800113079438FE0F009338007E1ECAEA3FFCEF07F03B407BBD42>82 D<92390FF001C0ED7FFE4AB5EA0380913907F80FC791390FC003EF91391F8001FF4AC713 00027E805C495A4948143EA2495AA2010F153C5CA3011F1538A38094C7FC80A214FC6DB4 FC15F015FE6DEBFFC06D14F06D14FC6D80143F020F7F020180EC001F150303007F167F16 3FA2161FA212075A5F120EA2001E153F94C7FCA2163E003E157E167C003F15FC4B5A486C 5C4B5A6D495AD87DE0EB1F80D8F8F849C8FC017F13FE39F03FFFF8D8E00F13E048C690C9 FC32427ABF33>I<48B9FCA25A903AFE001FF00101F89138E0007FD807E0163E49013F14 1E5B48C75BA2001E147FA2001C4B131C123C003814FFA2007892C7FC12704A153C00F017 38485CC716001403A25DA21407A25DA2140FA25DA2141FA25DA2143FA25DA2147FA25DA2 14FFA292C9FCA25BA25CA21303A25CEB0FFE003FB67E5AA2383D71BC41>I<001FB500F0 90B512F0485DA226003FF0C7380FFC004AEC03F04A5D715A017F1503A24A5DA201FF1507 95C7FC91C8FCA2485E170E5BA20003161E171C5BA20007163C17385BA2000F167817705B A2001F16F05F5BA2003F1501A2495DA2007F1503A2495DA2160794C8FC48C8FC5E160E16 1E6C151C163C5E5E5E6C6C13014B5A001F4A5A6C6C011FC9FC6D133E6C6C13F83903FC07 F0C6B512C0013F90CAFCEB07F83C406FBD44>I<277FFFFE01B500FC90B512E0B5FCA200 03902680000790C7380FFC006C90C701FCEC07F049725A04035EA26350C7FCA20407150E A2040F5D1A3C041F153862163B6216734F5A6D14E303014B5A6C15C303034BC8FC1683DB 0703140E191E030E151C61031C7F61ED380161157003F04A5A15E002014B5A15C0DA0380 4AC9FC60DA0700140E60140E605C029C5D14B8D97FF85D5C715A5C4A5DA24A92CAFC5F91 C7FC705A137E5F137C5F137801705D53406EBD5B>87 D<147E49B47E903907C1C3809039 1F80EFC090383F00FF017E137F4914804848133F485AA248481400120F5B001F5C157E48 5AA215FE007F5C90C7FCA21401485C5AA21403EDF0385AA21407EDE078020F1370127C02 1F13F0007E013F13E0003E137FECF3E1261F01E313C03A0F8781E3803A03FF00FF00D800 FC133E252977A72E>97 D<EB1FC0EA0FFF5CA2EA003FA291C7FCA25BA2137EA213FEA25B A21201A25BA21203A25B147E3907F1FF809038F783E09038EF01F013FE390FF800F8A249 13FC49137C485A157E5B15FE123FA290C7FCA248130115FC127EA2140300FE14F85AA2EC 07F0A215E048130F15C0141F15800078EB3F00127C147E003C5B383E01F8381E03E06C48 5A6CB4C7FCEA01F81F4076BE2A>I<EC1FE0ECFFF8903803F03E903807C00F90381F8007 D93F001380017E131F49137F485A485A000715005B000F147E484890C7FCA2485AA3127F 90C9FCA35A5AA6481403007E5C5D151E003E5C5D6C5CEC03E0390F800F802603E07EC7FC 3801FFF838003FC0212977A72A>I<EE3F80ED1FFF1700A2ED007FA2167EA216FEA25EA2 1501A25EA21503A25EA21507A25E147E903801FF8F903807C1CF90391F80EFC090383F00 FF017E137F5B48486D5A485AA2485A000F92C7FC5B001F5CA24848137EA215FE127F90C7 5AA214015A485CA2140316384814F0A21407167891380FE070127C021F13F0007E013F5B 003E137FECF3E1261F01E35B3A0F8781E3802703FF00FFC7FCD800FC133E294077BE2E> I<EC3F80903801FFE0903807E0F890381F803CEB3E0001FC131E485A485A12074848133E 49133C121F4848137C15F8EC03F0397F000FE0ECFF80B5EAFC0014C048C8FCA45AA61506 150E151E007C143C15786C14F0EC01E06CEB07C0390F801F003807C0FC3801FFF038007F 801F2976A72A>I<167C4BB4FC923807C78092380F83C0ED1F87161FED3F3FA2157EA217 80EE0E004BC7FCA414015DA414035DA30103B512F8A390260007E0C7FCA3140F5DA5141F 5DA4143F92C8FCA45C147EA414FE5CA413015CA4495AA4495AA4495A121E127F5C12FF49 C9FCA2EAFE1EEAF83C1270EA7878EA3FE0EA0F802A5383BF1C>I<EC03F0EC0FFC91383E 0E1C9138FC077E903901F003FE1303903807E001D90FC013FCEB1F80A2EB3F004914F813 7E01FE1303A2484814F0A2150712034914E0A2150F12074914C0A2151FA216805B153F12 03ED7F006D5BA200015B0000495A9038F80F7E90387C1EFEEB1FF8903807E0FC90C7FC14 01A25DA21403A25D001C1307007F5C48130F5D4A5A4AC7FC48137E00F85B387C03F0381F FFC0D803FEC8FC273B7CA72A>I<EB01FC13FF5CA21303A25CA21307A25CA2130FA25CA2 131FA25CA2133FA291C8FCEC03F890387F0FFE91383E0F80D97E7813C0ECE007D9FFC013 E014801400A2485A5BA25B0003140F16C05BA20007141F16805BA2000F143F16005B5D00 1F147EEDFE074913FCA2003F0101130FEDF80E1300161E48ECF01CA2007E1538A200FE15 70020013E048EC7FC00038EC1F0028407ABE2E>I<1478EB01FCA21303A314F8EB00E014 00AD137C48B4FC38038F80EA0707000E13C0121E121CEA3C0F1238A2EA781F00701380A2 EAF03F140012005B137E13FE5BA212015BA212035B1438120713E0000F1378EBC070A214 F0EB80E0A2EB81C01383148038078700EA03FEEA00F8163E79BC1C>I<EB01FC13FF5CA2 1303A25CA21307A25CA2130FA25CA2131FA25CA2133FA291C8FCED03E049EB0FF8ED3C3C 017EEB707CEDE1FC9038FE01C1EC03839038FC0703140E0001011C13F891383800E04948 13001460000313E0EBF9C0EBF78001FEC8FC1207EBFFE0EBE7F8EBE0FE000F137F6E7EEB C01F6E7E121F16701380A2003F15F0021F13E001001380A248148116C0007EEB0F831680 00FE14879138078F0048EB03FE0038EB00F826407ABE2A>107 D<EB07F0EA03FF14E0A2 EA000FA214C0A2131FA21480A2133FA21400A25BA2137EA213FEA25BA21201A25BA21203 A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA25A1307127EA2EAFE0F130E 12FCA2131E131CA2EA7C381378EA3C70EA1FE0EA0780144079BE17>I<D801F0D93F8013 7F3D07FC01FFE003FFC03D0F3E07C1F80F83F03D0E1F0F00FC1E01F8001E011C90387C38 00001C49D97E707F003C01F05C0038157F4A5C26783FC05C12704A91C7FC91C7127E00F0 03FE1301494A5CEA007EA20301140301FE5F495CA203031407000160495C180F03075D00 03051F13E0494A1480A2030FEC3F810007F001C0495CA2031F91383E0380120F494AEC07 00A2033F150E001FEF1E1C4991C7EA0FF80007C7000EEC03E0432979A74A>I<D801F0EB 3F803A07FC01FFE03A0F3E07C1F83A0E1F0F00FC001E011C137C001C49137E003C13F012 385C38783FC012705C91C7FC00F015FE495CEA007EA2150101FE5C5BA2150300015D5B15 075E0003020F13704914C0A2031F13F00007ED80E05B1681EE01C0120F49EC0380A2EE07 00001FEC0F0E49EB07FC0007C7EA01F02C2979A733>I<EC1FC0ECFFF8903803F07C9038 0FC01FEB1F8090393F000F80017E14C0491307484814E0485A12075B000F15F0485AA248 5AA2ED0FE0127F90C7FCA2151F4815C05AA2ED3F80A2ED7F00A248147E007C5C007E1301 5D4A5A003E495A6C495A4A5A260F803EC7FC3807C0FC3801FFF038003F80242977A72E> I<903903E001F890390FF807FE903A1E7C1E0F80903A1C3E3C07C0013C137801389038E0 03E0EB783F017001C013F0ED80019038F07F0001E015F8147E1603000113FEA2C75AA201 01140717F05CA20103140F17E05CA20107EC1FC0A24A1480163F010F15005E167E5E131F 4B5A6E485A4B5A90393FB80F80DA9C1FC7FCEC0FFCEC03E049C9FCA2137EA213FEA25BA2 1201A25BA21203A2387FFFE0B5FCA22D3A80A72E>I<027E1360903901FF81E0903807C1 C390391F80E7C090383F00F7017E137F5B4848EB3F80485AA2485A000F15005B121F5D48 48137EA3007F14FE90C75AA3481301485CA31403485CA314074A5A127C141F007E133F00 3E495A14FF381F01EF380F879F3903FF1F80EA00FC1300143F92C7FCA35C147EA314FE5C A21301130390B512F05AA2233A77A72A>I<D801F013FC3A07FC07FF803A0F3E0F03C026 0E1F1C13E0001EEB380F001C1370003CEBE01F123814C0D8783F14C00070903880070092 C7FC91C8FC12F05BEA007EA313FE5BA312015BA312035BA312075BA3120F5BA3121F5B00 07C9FC232979A726>I<EC7F80903801FFE0903807C0F890381F003C013E131C013C131E 017C133E49137E15FEA2000114FCA215706D13007FEBFFC014FC6C13FF15806D13C06D13 E0010F13F01300140F14071403120C123F387F80011403D8FF0013E0A300FCEB07C000F0 EB0F8012700078EB1F006C133C381F01F83807FFE0C690C7FC1F297AA725>I<EB01C0EB 03F01307A25CA2130FA25CA2131FA25CA2133FA291C7FCA2007FB51280B6FC1500D8007E C7FC13FEA25BA21201A25BA21203A25BA21207A25BA2120FA25BA2121F141C1380A2003F 133C1438EB0078147014F05C495AEA1F03495A6C48C7FCEA07FCEA01F0193A78B81E>I< 137C48B4141C26038F80137EEA0707000E7F001E15FE121CD83C0F5C12381501EA781F00 7001805BA2D8F03F1303140000005D5B017E1307A201FE5C5B150F1201495CA2151F0003 EDC1C0491481A2153F1683EE0380A2ED7F07000102FF13005C01F8EBDF0F00009038079F 0E90397C0F0F1C90391FFC07F8903907F001F02A2979A731>I<017CEB01C048B4EB07F0 38038F80EA0707000E01C013F8121E001C1403EA3C0F0038EC01F0A2D8781F130000705B A2EAF03F91C712E012005B017E130116C013FE5B1503000115805BA2ED07001203495B15 0EA25DA25D1578000114706D5B0000495A6D485AD97E0FC7FCEB1FFEEB03F0252979A72A >I<017C167048B491387001FC3A038F8001F8EA0707000E01C015FE001E1403001CEDF0 00EA3C0F0038177C1507D8781F4A133C00701380A2D8F03F130F020049133812005B017E 011F14784C137013FE5B033F14F0000192C712E05BA2170100034A14C049137E17031880 A2EF070015FE170E00010101141E01F86D131C0000D9039F5BD9FC076D5A903A3E0F07C1 E0903A1FFC03FFC0902703F0007FC7FC372979A73C>I<903903F001F890390FFC07FE90 393C1E0E0F9026780F1C138001F0EBB83FD801E013F89039C007F07FEA0380000714E0D9 000F140048151C000E4AC7FCA2001E131FA2C75BA2143F92C8FCA35C147EA314FE4A131C A30101143C001E1538003F491378D87F811470018314F000FF5D9039077801C039FE0F7C 033A7C0E3C078027783C1E1EC7FC391FF80FFC3907E003F029297CA72A>I<137C48B414 3826038F8013FCEA0707000E7F001E1401001C15F8EA3C0F12381503D8781F14F0007013 80A2D8F03F1307020013E012005B017E130F16C013FE5B151F1201491480A2153F000315 005BA25D157EA315FE5D00011301EBF8030000130790387C1FF8EB3FF9EB07E1EB00035D A21407000E5CEA3F80007F495AA24A5AD8FF0090C7FC143E007C137E00705B387801F038 3803E0381E0FC06CB4C8FCEA03F8263B79A72C>I<D901F01370D907FC13F0010F14E090 381FFE0190393FFF03C049EB838090387C0FCF9039F803FF009038F0007E49133C000114 386C48137890C75A4A5A4A5A4A5A4AC7FC141E5C5C5C495A495A495A49C8FC131E491307 5B5B48485B4848131E485A01F05BD80FFE137C391F1F81F8383E0FFFD83C075B486C5B00 705CD8F00190C7FC38E0007C24297BA725>I E /Fx 68 127 df<EA07C0EA0FF0EA1FF8 A213FCA213FE120F1207EA007EA513FE13FCA2120113F81203EA07F0120FEA1FE0127FEA FFC013801300127C12380F1D70B730>39 D<141E147F14FF5BEB03FEEB07FCEB0FF0EB1F E0EB3FC0EB7F80EBFF00485A5B12035B485A120F5BA2485AA2123F5BA2127F90C7FCA412 FEAD127FA47F123FA27F121FA26C7EA27F12076C7E7F12017F6C7EEB7F80EB3FC0EB1FE0 EB0FF0EB07FCEB03FEEB01FF7F147F141E184771BE30>I<127812FE7E7F6C7E6C7EEA0F F06C7E6C7E6C7E6C7EEB7F80133F14C0131FEB0FE014F01307A2EB03F8A214FC1301A214 FE1300A4147FAD14FEA4130114FCA2130314F8A2EB07F0A2130F14E0EB1FC0133F148013 7FEBFF00485A485A485A485AEA3FE0485A485A90C7FC5A1278184778BE30>I<14E0497E 497EA60038EC0380007EEC0FC0D8FF83EB3FE001C3137F9038F3F9FF267FFBFB13C06CB6 1280000FECFE00000314F86C5C6C6C13C0011F90C7FC017F13C048B512F04880000F14FE 003FECFF80267FFBFB13C026FFF3F913E09038C3F87F0183133FD87E03EB0FC00038EC03 80000091C7FCA66D5A6D5A23277AAE30>I<143EA2147FAF007FB7FCA2B81280A36C1600 A2C76CC8FCAF143EA229297DAF30>I<EA03E0EA0FF0EA1FF813FCEA3FFEA213FFA27EA2 7E1203EA007FA2137E13FEEA01FC1203EA07F8EA3FF0127FEAFFE0EA7F801300123C1019 708B30>I<007FB612F0A2B712F8A36C15F0A225077B9E30>I<120FEA3FC0EA7FE0A2EAFF F0A4EA7FE0A2EA3FC0EA0F000C0C6E8B30>I<16F01501ED03F8A21507A2ED0FF0A2ED1F E0A2ED3FC0A2ED7F80A2EDFF00A24A5AA25D1403A24A5AA24A5AA24A5AA24A5AA24A5AA2 4AC7FCA2495AA25C1303A2495AA2495AA2495AA2495AA2495AA249C8FCA2485AA25B1203 A2485AA2485AA2485AA2485AA2485AA248C9FCA25AA2127CA225477BBE30>I<14FE9038 07FFC0497F013F13F8497F90B57E48EB83FF4848C6138049137F4848EB3FC04848EB1FE0 49130F001F15F0491307A24848EB03F8A290C712014815FCA400FEEC00FEAD6C14016C15 FCA36D1303003F15F8A26D1307001F15F0A26D130F6C6CEB1FE0A26C6CEB3FC06C6CEB7F 806D13FF2601FF8313006CEBFFFE6D5B6D5B010F13E06D5BD900FEC7FC273A7CB830>I< EB03C0497EA2130FA2131FA2133F137F13FF1203123FB5FCA213EF138FEA7E0F1200B3B0 003FB512F84814FCB612FEA26C14FC6C14F81F3977B830>I<EB07FC90383FFFC090B512 F00003804814FE4880261FF80F1380263FE00113C09038C0007F4848EB3FE090C7121FED 0FF04814075A6C15F81503A3127E1218C8FCA2150716F0150F16E0151F16C0153FED7F80 15FF4A13005DEC07FC4A5A4A5A4A5A4A5A4A5A4990C7FC495A495AEB0FF0EB3FE0495A49 5A4890C8FC4848EB01F04848EB03F8485AEA1FE048B6FCB7FCA37E6C15F025397BB830> I<EB03FF013F13E090B512F84814FE4880481580260FFE0113C09038F0007F4848EB1FE0 150F16F01507A26C5A6C5AC8FC150F16E0A2151FED3FC0157FEDFF8002071300903807FF FE495B5D8115FF6D1480D9000113C09138003FE0ED1FF0ED07F8150316FC150116FE1500 A21218127EB4FCA2150116FC4814036C15F86C6C13076DEB1FF0D83FF0133F3A1FFE01FF E06CB612C06C15806CECFE00C65C013F13F001031380273A7CB830>I<EC03FC4A7E140F 141FA2143F147F157E14FEA2EB01FCEB03F8A2EB07F0A2EB0FE0EB1FC0A2EB3F80A2EB7F 0013FEA2485A485AA2485AA2485A485AA2485AA248C7FC12FEB8FC1780A46C1600C8007E C7FCAA91387FFFFE91B6FCA46E5B29397DB830>I<000FB612804815C05AA316800180C8 FCAEEB83FF019F13C090B512F015FC8181D9FE0313809039F0007FC049133F0180EB1FE0 6CC7120F000E15F0C81207A216F81503A31218127EA2B4FC150716F048140F6C15E06C14 1F6DEB3FC06D137F3A3FE001FF80261FFC0F13006CB55A6C5C6C5C6C14E06C6C1380D90F FCC7FC25397BB730>I<EC0FF8EC7FFF49B51280010714E0131F4914F090387FF80F9039 FFC007F84813803803FE005B485A4848EB03F0ED01E0484890C7FC5B123F5BA2127FEB00 0C903803FFE0010F13F8D8FF3F13FE48B6FCB7128016C09039FE007FE001F8EB1FF001E0 130F49EB07F8ED03FC5B90C7120116FE1500A37EA46C7E15016D14FC121F6D1303000FEC 07F86D130F6C6CEB1FF06DEB3FE03A03FF81FFC06C90B512806C15006D5B011F13F80107 13E001011380273A7CB830>I<127CB712FC16FEA416FC48C7EA0FF816F0ED1FE0007CEC 3FC0C8EA7F80EDFF00A24A5A4A5A5D14075D140F5D4A5AA24A5AA24AC7FCA25C5C13015C A213035CA213075CA4495AA6131F5CA96D5A6DC8FC273A7CB830>I<49B4FC011F13F001 7F13FC90B57E0003ECFF804815C048010113E03A1FF8003FF049131FD83FC0EB07F8A248 48EB03FC90C71201A56D1303003F15F86D13076C6CEB0FF06C6CEB1FE0D807FCEB7FC03A 03FF83FF806C90B512006C6C13FC011F13F0497F90B512FE48802607FE0013C0D80FF8EB 3FE0D81FE0EB0FF04848EB07F8491303007F15FC90C712014815FE481400A66C14016C15 FC6D1303003F15F86D1307D81FF0EB1FF06D133F3A0FFF01FFE06C90B512C06C1580C6EC FE006D5B011F13F0010190C7FC273A7CB830>I<49B4FC010F13E0013F13F890B57E4880 488048010113803A0FFC007FC0D81FF0EB3FE04848131F49EB0FF048481307A290C7EA03 F85A4815FC1501A416FEA37E7E6D130315076C7E6C6C130F6D133FD80FFC13FF6CB6FC7E 6C14FE6C14F9013FEBE1FC010F138190380060011400ED03F8A2150716F0150F000F15E0 486C131F486CEB3FC0157FEDFF804A1300EC07FE391FF01FFC90B55A6C5C6C5C6C1480C6 49C7FCEB3FF0273A7CB830>I<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F00 C7FCAF120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C276EA630>I<EA03C0 EA0FF0EA1FF8A2EA3FFCA4EA1FF8A2EA0FF0EA03C0C7FCAFEA03C0EA0FF0121F13F8123F 13FCA3121FA2120F12031200120113F8120313F01207EA1FE0123FEA7FC0EAFF80EA7F00 127E12380E3470A630>I<16F01503ED07F8151F157FEDFFF014034A13C0021F13809138 3FFE00ECFFF8495B010713C0495BD93FFEC7FC495A3801FFF0485B000F13804890C8FCEA 7FFC5BEAFFE05B7FEA7FF87FEA1FFF6C7F000313E06C7F38007FFC6D7E90380FFF806D7F 010113F06D7FEC3FFE91381FFF80020713C06E13F01400ED7FF8151F1507ED03F0150025 2F7BB230>I<007FB7FCA2B81280A36C16006C5DCBFCA7003FB612FE4881B81280A36C16 00A229157DA530>I<147F4A7EA2497FA4497F14F7A401077F14E3A3010F7FA314C1A201 1F7FA490383F80FEA590387F007FA4498049133F90B6FCA34881A39038FC001F00038149 130FA4000781491307A2D87FFFEB7FFFB56CB51280A46C496C130029397DB830>65 D<007FB512F0B612FE6F7E82826C813A03F8001FF815076F7E1501A26F7EA615015EA24B 5A1507ED1FF0ED7FE090B65A5E4BC7FC6F7E16E0829039F8000FF8ED03FC6F7E1500167F A3EE3F80A6167F1700A25E4B5A1503ED1FFC007FB6FCB75A5E16C05E6C02FCC7FC29387E B730>I<91387F803C903903FFF03E49EBFC7E011F13FE49EBFFFE5B9038FFE07F48EB80 1F3903FE000F484813075B48481303A2484813015B123F491300A2127F90C8FC167C1600 5A5AAC7E7EA2167C6D14FE123FA27F121F6D13016C6C14FCA26C6CEB03F86D13076C6CEB 0FF03901FF801F6C9038E07FE06DB512C06D14806D1400010713FC6D13F09038007FC027 3A7CB830>I<003FB512E04814FCB67E6F7E6C816C813A03F8007FF0ED1FF8150F6F7E6F 7E15016F7EA2EE7F80A2163F17C0161FA4EE0FE0AC161F17C0A3163F1780A2167F17005E 4B5A15034B5A150F4B5AED7FF0003FB65A485DB75A93C7FC6C14FC6C14E02B387FB730> I<003FB712804816C0B8FCA27E7ED801FCC7121FA8EE0F8093C7FCA5153E157FA490B6FC A69038FC007FA4153E92C8FCAE383FFFF8487FB5FCA27E6C5B2A387EB730>70 D<3B3FFF800FFFE0486D4813F0B56C4813F8A26C496C13F06C496C13E0D803F8C7EAFE00 B290B6FCA601F8C7FCB3A23B3FFF800FFFE0486D4813F0B56C4813F8A26C496C13F06C49 6C13E02D387FB730>72 D<007FB6FCB71280A46C1500260007F0C7FCB3B3A8007FB6FCB7 1280A46C1500213879B730>I<383FFFF8487FB57EA26C5B6C5BD801FCC9FCB3B0EE0F80 EE1FC0A9003FB7FC5AB8FCA27E6C16802A387EB730>76 D<D83FF8ECFFE0486C4913F048 6C4913F8A2007F16F06C6C4913E00007160001EF14BFEC800FA39039E7C01F3FA4ECE03F 01E3133EA2ECF07EA201E1137CA2ECF8FCA201E013F8A214FDEC7DF0A3147FEC3FE0A3EC 1FC0A2EC070091C7FCADD83FFC903801FFE0486C4913F0B54913F8A26C486D13F06C486D 13E02D387FB730>I<90383FFFE048B512FC000714FF4815804815C04815E0EBF80001E0 133FD87F80EB0FF0A290C71207A44815F8481403B3A96C1407A26C15F0A36D130FA26D13 1F6C6CEB3FE001F813FF90B6FC6C15C06C15806C1500000114FCD8003F13E0253A7BB830 >79 D<90383FFFE048B512FC000714FF4815804815C04815E0EBF80001E0133F4848EB1F F049130F90C71207A44815F8481403B3A8147E14FE6CEBFF076C15F0EC7F87A2EC3FC701 8013CF9038C01FFFD83FE014E0EBF80F90B6FC6C15C06C15806C1500000114FCD8003F7F EB00016E7EA21680157F16C0153F16E0151F16F0150FED07E025467BB830>81 D<003FB57E4814F0B612FC15FF6C816C812603F8017F9138003FF0151F6F7E1507150382 1501A515035E1507150F4B5A153F4AB45A90B65A5E93C7FC5D8182D9F8007FED3FE0151F 150F821507A817F8EEF1FCA53A3FFF8003FB4801C0EBFFF8B56C7E17F06C496C13E06C49 EB7FC0C9EA1F002E397FB730>I<90390FF803C0D97FFF13E048B512C74814F74814FF5A 381FF80F383FE001497E4848137F90C7123F5A48141FA2150FA37EED07C06C91C7FC7F7F EA3FF0EA1FFEEBFFF06C13FF6C14E0000114F86C80011F13FF01031480D9003F13C01401 9138007FE0151FED0FF0A2ED07F8A2007C140312FEA56C140716F07F6DEB0FE06D131F01 F8EB3FC001FF13FF91B51280160000FD5CD8FC7F13F8D8F81F5BD878011380253A7BB830 >I<003FB712C04816E0B8FCA43AFE003F800FA8007CED07C0C791C7FCB3B1011FB5FC49 80A46D91C7FC2B387EB730>I<3B7FFFC007FFFCB56C4813FEA46C496C13FCD803F8C7EA 3F80B3B16D147F00011600A36C6C14FE6D13016D5CEC800390393FE00FF890391FF83FF0 6DB55A6D5C6D5C6D91C7FC9038007FFCEC1FF02F3980B730>I<D87FFE90380FFFC0B549 13E06E5AA24A7E6C486D13C0D807F0903801FC00A26D130300035DA46C6C495AA46C6C49 5AA46D131F6D5CA3EC803F013F5CA46D6C48C7FCA490380FE0FEA401075B14F1A301035B A314FB01015BA314FFA26D5BA46E5A6E5A2B397EB730>I<007FB5FCB61280A4150048C8 FCB3B3B3A5B6FC1580A46C140019476DBE30>91 D<007FB5FCB61280A47EC7123FB3B3B3 A5007FB5FCB6FCA46C140019477DBE30>93 D<007FB612F0A2B712F8A36C15F0A225077B 7D30>95 D<EB3FFC48B57E4814E04880488048809038F00FFE9038E001FF806F7E6C4813 3F6C4880C8121FA491B5FC130F137F48B6FC12075A48EBC01F383FFC00EA7FE0138048C7 FC5AA46C143FA26C6C137F9038C001FF263FF80FEBFFC06CB712E0A2000714F76C14C3C6 020013C0D93FF090C7FC2B2A7CA830>97 D<EA3FFC487E12FFA2127F123F1200AAEC03FE 91381FFF80027F13E091B57E90B612FC82ECFE079138F001FF4A6C13804A137F4AEB3FC0 91C7121F4915E0160FA217F01607A8160FA217E07F161F6EEB3FC0A26EEB7F806E13FFDA F00313009138FC0FFE91B55A5E495CD97E7F13C0D93C1F90C7FC90380003FC2C3980B730 >I<ECFFE0010713FC011F7F017F7F90B612804815C048EB807F3907FC003F485A485A49 EB1F804848EB0F004990C7FC127F90C9FCA25A5AA87E7EA27F003FEC07C06DEB0FE06C7E 6D131F6C6C14C0D807FE133F9039FFC0FF806C90B5FCC615006D5B011F13F801075B0101 1380232A7AA830>I<913801FFE04A7F5CA28080EC0007AAEB03FE90381FFF874913E790 B6FC5A5A481303380FFC00D81FF0133F49131F485A150F4848130790C7FCA25AA25AA87E 6C140FA27F003F141F6D133F6C7E6D137F390FF801FF2607FE07EBFFC06CB712E06C16F0 6C14F76D01C713E0011F010313C0D907FCC8FC2C397DB730>I<49B4FC010713E0011F13 F8017F7F90B57E488048018113803A07FC007FC04848133FD81FE0EB1FE0150F484814F0 491307127F90C7FCED03F85A5AB7FCA516F048C9FC7E7EA27F003FEC01F06DEB03F86C7E 6C7E6D1307D807FEEB1FF03A03FFC07FE06C90B5FC6C15C0013F14806DEBFE00010713F8 010013C0252A7CA830>I<EDFF80020713E0021F13F05C4A13F891B5FC491387903803FE 079138FC03F0903907F800C04A1300A8003FB612C04815E0B7FCA36C15C0260007F0C7FC B3A9003FB512FE4880B71280A26C15006C5C25397DB830>I<D903FC13FF90261FFF8713 C04913DF90B712E05A5A2607FE07138F903AF801FE07C048486C6CC7FCA2497F001F8149 133FA56D137F000F92C7FC6D5BA26C6C485AEBFE0790B55A5D485C15C001DF5BD9C3FCC8 FC01C0C9FCA37F7F6CB512F015FF6C15C04815F0488148813A3FE0001FFE0180130148C8 127F007E8100FE168048151FA56C153F007FED7F006D5C6C6C495A01F013076CB4EB7FFC 6C90B55A6C5D000115C06C6C91C7FC011F13FC010113C02B3E7DA730>I<EA3FFC487E12 FFA2127F123F1200AAEC01FE91380FFF80023F13E091B57E90B67EA29138FE07FCECF803 9138E001FE14C0EC8000A291C7FCA25BB3A23B3FFFF81FFFF8486D4813FCB500FE14FEA2 6C01FC14FC6C496C13F82F3880B730>I<14E0EB03F8A2497EA36D5AA2EB00E091C8FCA9 381FFFF8487F5AA27E7EEA0001B3A9003FB612C04815E0B7FCA27E6C15C023397AB830> I<387FFFF8B57EA47EEA0001B3B3A8007FB612F0B712F8A46C15F025387BB730>108 D<02FC137E3B7FC3FF01FF80D8FFEF01877F90B500CF7F15DF92B57E6C010F13872607FE 07EB03F801FC13FE9039F803FC01A201F013F8A301E013F0B3A23C7FFE0FFF07FF80B548 018F13C0A46C486C01071380322881A730>I<EC01FE3A3FFC0FFF80267FFE3F13E000FF 90B57E90B67E7E6C9038FE07FCC6EBF8039138E001FE14C0EC8000A291C7FCA25BB3A23B 3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC6C496C13F82F2880A730>I<49B4 FC010F13E0013F13F8497F90B57E0003ECFF8014013A07FC007FC04848EB3FE0D81FE0EB 0FF0A24848EB07F8491303007F15FC90C71201A300FEEC00FEA86C14016C15FCA26D1303 003F15F86D13076D130F6C6CEB1FF06C6CEB3FE06D137F3A07FF01FFC06C90B512806C15 006C6C13FC6D5B010F13E0010190C7FC272A7CA830>I<EC03FE3A3FFC1FFF80267FFE7F 13E000FF90B57E90B612FC6C816CEBFE07C69038F001FF4A6C13804A137F4AEB3FC091C7 121F4915E0160FA217F01607A8160FA217E07F161F6EEB3FC0A26EEB7F806E13FFDAF003 13009138FC0FFE91B55A5E495C6E13C0021F90C7FCEC03FC91C9FCAD383FFFF8487FB57E A26C5B6C5B2C3C80A730>I<49B413F8010FEBC1FC013F13F14913FD48B6FC5A48138139 0FFC007F49131F4848130F491307485A491303127F90C7FC15015A5AA77E7E15037FA26C 6C1307150F6C6C131F6C6C133F01FC137F3907FF01FF6C90B5FC6C14FD6C14F9013F13F1 010F13C1903803FE0190C7FCAD92B512F84A14FCA46E14F82E3C7DA730>I<ED07F83A3F FF803FFF486DB51280B512C302CF14C06C13DF6C9038FFFC3FD8001F13E09238801F8092 38000F004A90C7FC5C5C5CA25CA45CAF003FB512FC4880B7FCA26C5C6C5C2A287EA730> I<90381FFC1E48B5129F000714FF5A5A5A387FF007EB800100FEC7FC4880A46C143E007F 91C7FC13E06CB4FC6C13FC6CEBFF806C14E0000114F86C6C7F01037F9038000FFF020013 80007C147F00FEEC1FC0A2150F7EA27F151F6DEB3F806D137F9039FC03FF0090B6FC5D5D 00FC14F0D8F83F13C026780FFEC7FC222A79A830>I<EB0780497E131FA9003FB612E048 15F0B7FCA36C15E026001FC0C7FCB216F8ED01FCA5ECE003010FEB07F814F09138FC1FF0 6DB512E06D14C016806D14009038007FFCEC1FF026337EB130>I<D83FFCEB3FFC486C49 7E00FF14FFA2007F147F003F143F00001400B3A41501A2150315076D130F903A7FC07FFF F891B612FC6D15FE7F6D4913FC6D9038F87FF8010001C0C7FC2F2880A630>I<3B3FFFC0 7FFF80486DB512C0B515E0A26C16C06C496C13803B01F80003F000A26D130700005DA26D 130F017E5CA2017F131F6D5CA2EC803F011F91C7FCA26E5A010F137EA2ECE0FE01075BA2 14F101035BA3903801FBF0A314FF6D5BA36E5A6E5A2B277EA630>I<3B3FFFC01FFFE048 6D4813F0B515F8A26C16F06C496C13E0D807E0C7EA3F00A26D5C0003157EA56D14FE0001 5DEC0F80EC1FC0EC3FE0A33A00FC7FF1F8A2147DA2ECFDF9017C5C14F8A3017E13FBA290 393FF07FE0A3ECE03FA2011F5C90390F800F802D277FA630>I<3B3FFFC07FFF80486DB5 12C0B515E0A26C16C06C496C13803B01FC0003F000A2000014076D5C137E150F017F5C7F 151FD91F805BA214C0010F49C7FCA214E00107137EA2EB03F0157C15FCEB01F85DA2EB00 F9ECFDF0147D147FA26E5AA36E5AA35DA2143F92C8FCA25C147EA2000F13FE486C5AEA3F C1EBC3F81387EB8FF0EBFFE06C5B5C6C90C9FC6C5AEA01F02B3C7EA630>121 D<001FB612FC4815FE5AA316FC90C7EA0FF8ED1FF0ED3FE0ED7FC0EDFF80003E491300C7 485A4A5A4A5A4A5A4A5A4A5A4A5A4990C7FC495A495A495A495A495A495A4948133E4890 C7127F485A485A485A485A485A48B7FCB8FCA46C15FE28277DA630>I<ED3FF0913803FF F8140F5C147F16F09138FFF00092C7FC495A5CB3A21303495A133F383FFFF0B55A5C91C8 FC14C080003F7F38003FF813076D7E1301B3A2806D7E15F091387FFFF016F8141F801403 9138003FF025477BBE30>I<EA7FE0EAFFFE6D7E8014F07EC66C7E13076D7E1301B3A280 6D7E15E091387FFFE06E13F8801407141F5C4A13E09138FFE00092C7FC495A5CB3A21303 495A137F387FFFF0B5FC14C05C49C8FCEA7FE025477BBE30>125 D<017C133848B4137C48EB80FE4813C14813C348EBEFFC397FEFFFF0D8FF8713E0010713 C0486C1380D87C0113003838007C1F0C78B730>I E /Fy 75 128 df<14FF010713E090381F80F090383E003849137C4913FC485A1203491378153092C7FC A7157CB612FCA23803E000157CB3A5486C13FE3A7FFF0FFFE0A2232F7FAE27>12 D<ECFFC0010713FC90381F807C90383E00FC5B5B485A0003147C5BAAB612FCA23903E000 7CB3A6486C13FE3A7FFF0FFFE0A2232F7FAE27>I<127012F87EA2127E7EEA0F801207EA 03C0EA01E0EA007013200C0C78AD23>18 D<13E0EA01F01203A2EA07E0EA0FC0EA1F0012 1E5A5A12E012400C0C72AD23>I<123C127EB4FCA21380A2127F123D1201A312031300A2 5A1206120E5A5A5A126009157AAD14>39 D<13031307130E131C1338137013F0EA01E013 C01203EA0780A2EA0F00A2121EA35AA45AA512F8A25AAB7EA21278A57EA47EA37EA2EA07 80A2EA03C0120113E0EA00F013701338131C130E1307130310437AB11B>I<12C07E1270 7E7E7E120FEA0780120313C0EA01E0A2EA00F0A21378A3133CA4131EA5131FA2130FAB13 1FA2131EA5133CA41378A313F0A2EA01E0A2EA03C013801207EA0F00120E5A5A5A5A5A10 437CB11B>I<130C131EA50060EB01800078130739FC0C0FC0007FEB3F80393F8C7F0038 07CCF83801FFE038007F80011EC7FCEB7F803801FFE03807CCF8383F8C7F397F0C3F8000 FCEB0FC039781E078000601301000090C7FCA5130C1A1D7CB123>I<EC0380B3A4B812FC A3C7D80380C7FCB3A42E2F7CA737>I<123C127EB4FCA21380A2127F123D1201A3120313 00A25A1206120E5A5A5A126009157A8714>I<B512C0A412047F9018>I<123C127E12FFA4 127E123C08087A8714>I<15C0140114031580A214071500A25C140EA2141E141CA2143C 143814781470A214F05CA213015CA213035C130791C7FCA25B130EA2131E131CA2133C13 38A21378137013F05BA212015BA212035BA2120790C8FC5A120EA2121E121CA2123C1238 A212781270A212F05AA21A437CB123>I<EB3FC0EBFFF03803E07C48487E48487E497E00 1EEB0780A2003E14C0A248EB03E0A500FC14F0B0007C14E0A3007E1307003E14C0A36CEB 0F806C14006D5A3807C03E3803F0FC3800FFF0EB3FC01C2D7DAB23>I<130C133C137CEA 03FC12FFEAFC7C1200B3B113FE387FFFFEA2172C7AAB23>I<EB7F803801FFF0380780FC 380E003F48EB1F8048EB0FC05A0060EB07E012F000FC14F07E1403A3007C1307C7FCA215 E0140F15C0141F1580EC3F00147E147C5C495A495A495A495A011EC7FC5B5B4913305B48 5A4848136048C7FC000E14E0001FB5FC5A4814C0B6FCA21C2C7DAB23>I<EB3FC03801FF F03807C0FC380E007E487FEC1F80003F14C0A2EB800F1300A2000C131FC7FC1580A2EC3F 00143E5C5CEB03F0EBFFC014F0EB00FC143FEC1F8015C0140F15E0A2EC07F0A21238127C 12FEA3EC0FE012F8006014C00070131F6C1480001EEB3F00380780FC3801FFF038007FC0 1C2D7DAB23>I<140EA2141E143EA2147E14FEA2EB01BE1303143E1306130E130C131813 381330136013E013C0EA0180120313001206120E120C5A123812305A12E0B612FCA2C7EA 3E00A9147F90381FFFFCA21E2D7EAC23>I<000CEB0180380FC01F90B512005C5C14F014 C0D80C7EC7FC90C8FCA8EB1FC0EB7FF8380DE07C380F801F01001380000E130F000CEB07 C0C713E0A2140315F0A4127812FCA448EB07E012E0006014C00070130F6C14806CEB1F00 6C133E380780F83801FFE038007F801C2D7DAB23>I<EB03F8EB0FFE90383E0780EBF801 3901F007C03803E00FEA07C0EA0F80A2391F00078091C7FC123EA2127EA2127CEB0FC038 FC3FF0EBF07C38FDC01EB4487E01001380EC07C04814E0A214034814F0A4127CA3127EA2 003E14E01407121E001F14C06CEB0F803907801F003803C03E6C6C5A38007FF0EB1FC01C 2D7DAB23>I<1230123C003FB512F8A215F05A15E039700001C000601480140348EB0700 140E140CC7121C5C143014705C495AA2495AA249C7FCA25B130E131EA2133EA3133C137C A413FCA913781D2E7CAC23>I<EB1FC0EBFFF03803E07C3807801E48487E001EEB0780A2 48EB03C0A4123E1407003F1480381FC00F01E01300EBF81E6C6C5A3807FFF86C13E0C6FC EB3FF8EBFFFC3803C7FFD807831380D81F0013C0001E133F48EB1FE0007C13070078EB03 F012F84813011400A46C14E000781301007C14C0003C13036CEB0780390F800F003807E0 3C3801FFF038003FC01C2D7DAB23>I<EB3F80EBFFF03803E0783807C03E48487E48487E 003E14801407007E14C0127C00FC14E01403A315F0A5007C1307127EA2003E130F7E6C13 1F3807803B3803E0F33800FFC390383F03E013001407A215C0A2140F001E1480003F1400 5C143E143C003E5B001C5B380E03E03807FF80D801FEC7FC1C2D7DAB23>I<123C127E12 FFA4127E123C1200AD123C127E12FFA4127E123C081D7A9C14>I<B812FCA3CBFCADB812 FCA32E137C9937>61 D<4A7E4A7EA34A7EA24A7EA3EC1BF81419A2EC30FCA2EC70FEEC60 7EA24A7EA349486C7EA2010380EC000FA201066D7EA3496D7EA2011FB57EA29038180001 496D7EA349147EA201E0147F4980A20001ED1F801203000716C0D80FF0EC3FE0D8FFFC01 03B5FCA2302F7EAE35>65 D<B612FCEDFF803A03F8000FC00001EC03F06F7E6F7E82167E 167FA6167E16FE5E4B5A4B5AED0FE0ED7F8090B6C7FC16E09039F80003F0ED01FC6F7E16 7F821780161F17C0A61780163F17005E16FEED03FC0003EC0FF0B712C04BC7FC2A2D7DAC 32>I<DA1FF013C09138FFFE01903903F00F8390390F8001E3013FC71277017C143F4848 141F4848140F48481407A248481403121F491401123F90C8FC481500A300FE1600AB127F 17C0A27E7F001F15016D1580120F6C6C1403EE07006C6C14066C6C140ED8007C5C013F14 7890390F8001E0903903F00FC0902600FFFEC7FCEC1FF02A2F7CAD33>I<B612F815FF3A 03F8001FE00001EC03F0ED00F8167E82EE1F80160F17C0EE07E0A2EE03F0A217F81601A3 17FCAA17F8A3EE03F0A217E0160717C0160FEE1F80EE3F00167E5EED03F00003EC1FE0B7 128003F8C7FC2E2D7DAC36>I<B712FEA23903F800010001EC003E828282A282A3178016 011518A293C7FCA31538157815F890B5FCA2EBF800157815381518A21760A392C712C0A4 160117801603A21607160F163F0003913801FF00B8FCA22B2D7EAC30>I<B712FCA23903 F800030001EC007C163E161E160EA21606A3160716031518A21600A31538157815F890B5 FCA2EBF800157815381518A592C7FCAB487EB512F8A2282D7EAC2E>I<DA1FF013C09138 FFFE01903903F00F8390390F8001E3013FC71277017C143F4848141F4848140F48481407 A248481403121F491401123F90C8FC481500A300FE1600A992381FFFFEA2007F9138001F E0EE0FC0A27E7F121F7F120F6C7EA26C7E6C6C141FEA007C013F143FD90F8013F3903903 F007C10100B51200DA1FF813002F2F7CAD37>I<B539F03FFFFCA2D803FCC713006C4814 7EB290B612FEA201F8C7127EB3486C14FFB5D8F03F13FCA22E2D7DAC35>I<B512F0A238 03FC006C5AB3B3A3487EB512F0A2142D7EAC19>I<90387FFFF0A201001300147EB3AD12 3812FEA314FE5C1278387001F86C485A381E07E03807FF80D801FCC7FC1C2E7DAC24>I< B500F0EB7FFEA2D803FCC7EA1FF06C48EC0FC01700161E16385E5E4B5A4B5A4BC7FC150E 5D5D15F0EC01C04A5A4A7E4A7E141F4A7EEC73F8ECE1FCEBF9C09038FF80FE9038FE007F 497F49806F7E6F7E1507826F7E6F7EA26F7E167F821780EE1FC017E0486CEC3FF0B5D8F0 01B5FCA2302D7DAC37>I<B512F8A2D803FCC8FC6C5AB3A7160CA41618A41638A2167816 F81501ED07F00003141FB7FCA2262D7EAC2C>I<D8FFF8923807FFC06D5D0003EFF00000 015F01BE151BA2019F1533A3D98F801463A2D987C014C3A2D983E0EB0183A3D981F0EB03 03A2D980F81306A3027C130CA26E1318A36E1330A291380F8060A2913807C0C0A3913803 E180A2913801F300A3EC00FEA2157C487ED80FF04B7EB5D93801B512C0A23A2D7DAC41> I<D8FFF8903803FFFC7F00019138003FC06DEC0F006D1406EBBF80A2EB9FC0EB8FE01387 80EB83F8138180EB80FE147E147FEC3F80EC1FC0140F15E0EC07F0140315F8EC01FC1400 15FE157FED3F86151F16C6ED0FE6150716F6ED03FE1501A21500167E163EA2486C141ED8 0FF0140EB5FC16062E2D7DAC35>I<EC3FF0903801FFFE903907E01F8090391F8007E090 393E0001F001FCEB00FC4848147E4848804848EC1F8049140F000F16C04848EC07E0A248 C8EA03F0A24816F8A2007E1501A200FE16FCAA007FED03F8A36C16F06D1407001F16E0A2 6C6CEC0FC06D141F000716806C6CEC3F006C6C147E6C6C5C017E495A90391F8007E09039 07E01F80902601FFFEC7FC9038003FF02E2F7CAD37>I<B612FCEDFF803A03F8000FE000 01EC03F0ED00F882167E167F821780A617005E167E5E5EED03F0ED0FE090B6128003FCC7 FC01F8C9FCB2487EB512F0A2292D7EAC30>I<EC3FF0903801FFFE903907E01F8090391F 8007E090393E0001F001FCEB00FC4848147E4848804848EC1F8049140F000F16C04848EC 07E0A2003F16F090C812034816F8A3007E150100FE16FCAA007E16F8007F1503A26C16F0 A26C6CEC07E0A23B0FC007800FC0EC1FE03B07E038701F803B03F070183F003A01F8601C 7ED800FCEB0CFC017EEB0FF8D91FF013E0903907F81F800101B5EA000C9038003FF79138 000780171CED03C0EEE03CEEF078EEFFF88117F0A26F13E0EE7FC0EE1F002E3B7CAD37> I<B612C015FC3903F8007F0001EC0FC06F7E6F7E6F7E82150082A55E15015E4B5A4B5A4B 5A037FC7FC90B512FC15F09038F800FC153E6F7E150F826F7EA582A5170316F815031707 486C903801FC0EB539F000FE1CEE3FF8C9EA07E0302E7DAC34>I<90383F80303901FFF0 703807C07C390F000EF0001E13074813034813011400127000F01470A315307EA26C1400 127E127FEA3FE013FE381FFFE06C13FC6C13FF00011480D8003F13E013039038003FF0EC 07F81401140015FC157C12C0153CA37EA215787E6C14706C14F06CEB01E039F78003C039 E3F00F0038E07FFE38C00FF01E2F7CAD27>I<007FB712F8A29039000FC003007C150000 701638A200601618A200E0161CA248160CA5C71500B3A94A7E011FB512E0A22E2D7EAC33 >I<B539F003FFFCA2D803FCC7EA3FC06C48EC0F001606B3AB160E0000150C7F161C017C 1418017E14386D5C6D146090390F8001E0903907E00380902601F80FC7FC9038007FFCEC 0FF02E2E7DAC35>I<B500C090380FFFC0A2D807FCC73803FE006C48EC00F800015E5F6C 7E5F6D1401017E5DA26D4AC7FCA26E5B011F140680010F5CA26D6C5BA26E133801031430 A26D6C5BA26E13E001005C8091387E0180A26E48C8FCA21583EC1F86A2EC0FCCA215FC6E 5AA26E5AA36E5AA26E5A322E7FAC35>I<B53C801FFFF001FFF8A22707FC000190C7EA3F C0D803F06D48EC1F00047E140EA26C6C027F140CA26D171C0000DBDF801318A26D173801 7E9026018FC01330A2017F17706D90260307E01360A2028016E0011F90260603F05BA202 C01501010F90260C01F85BA202E01503010790261800FC90C7FCA202F05D010349EB7E06 A202F8150E010149EB3F0CA202FC151C010049EB1F98A202FE15B8DA7F80EB0FF0A2023F 5D92C71207A26E5D021E1403A2020E5D020C1401452E7FAC48>I<13FF000713C0380F01 F0381C00F8003F137C80A2143F001E7FC7FCA4EB07FF137F3801FE1FEA07F0EA1FC0EA3F 80EA7F00127E00FE14065AA3143F7E007E137F007FEBEF8C391F83C7FC390FFF03F83901 FC01E01F207D9E23>97 D<EA07C012FFA2120F1207AC14FE9038C7FF809038CF03E09038 DC01F09038F8007C49137E49133E497F1680A2150F16C0A9ED1F80A216005D6D133E6D5B 01B05B9038BC01F090380E07E0390607FF80260001FCC7FC222F7EAD27>I<EB1FE0EB7F FC3801F01E3803E0073907C01F80EA0F80EA1F005A003EEB0F00007E90C7FCA2127C12FC A9127EA215C07E6C130101801380380FC0033907E007003801F03E38007FF8EB1FC01A20 7E9E1F>I<15F8141FA214011400ACEB0FE0EB7FF83801F81E3803E0073807C003380F80 01EA1F00481300123E127EA25AA9127C127EA2003E13017EEB8003000F13073903E00EFC 3A01F03CFFC038007FF090391FC0F800222F7EAD27>I<EB1F80EBFFF03803E0783807C0 3E380F801E381F001FEC0F80123E007E130715C0127C12FCA3B6FCA200FCC8FCA5127EA2 003E14C0123F6C1301390F80038001C013003803E00F3801F03C38007FF8EB1FC01A207E 9E1F>I<EB03F0EB0FFCEB3E1EEB7C3F13F8EA01F0A23803E00C1400AAB512E0A23803E0 00B3A6487E387FFF80A2182F7FAE16>I<013F13F89038FFC3FE3903E1FF1E3807807C00 0F140C391F003E00A2003E7FA76C133EA26C6C5A00071378380FE1F0380CFFC0D81C3FC7 FC90C8FCA3121E121F380FFFF814FF6C14C04814F0391E0007F848130048147C12F84814 3CA46C147C007C14F86CEB01F06CEB03E03907E01F803901FFFE0038003FF01F2D7E9D23 >I<EA07C012FFA2120F1207AC14FE9038C3FF809038C703E09038DE01F013F8496C7EA2 5BA25BB2486C487E3AFFFE1FFFC0A2222E7EAD27>I<EA0780EA0FC0EA1FE0A4EA0FC0EA 0780C7FCA8EA07C012FFA2120F1207B3A5EA0FE0EAFFFCA20E2E7EAD14>I<130FEB1F80 EB3FC0A4EB1F80EB0F0090C7FCA8EB07C013FFA2130F1307B3AD1230127838FC0F80A214 00485AEA783EEA3FF8EA07E0123C83AD16>I<EA07C012FFA2120F1207ADEC1FFEA2EC0F F0EC07C05D020EC7FC5C5C5C5CEBC3C013C7EBCFE0EBDFF013F9EBF0F8497EEBC07E143E 80816E7E14076E7E816E7E486C487E3AFFFE07FF80A2212E7EAD25>I<EA07C012FFA212 0F1207B3B3A3EA0FE0EAFFFEA20F2E7EAD14>I<2607C07FEB07F03BFFC3FFC03FFC903A C783F0783F3C0FCE01F8E01F803B07DC00F9C00F01F8D9FF8013C04990387F000749137E A249137CB2486C01FEEB0FE03CFFFE0FFFE0FFFEA2371E7E9D3C>I<3807C0FE39FFC3FF 809038C703E0390FDE01F0EA07F8496C7EA25BA25BB2486C487E3AFFFE1FFFC0A2221E7E 9D27>I<EB1FE0EB7FF83801F03E3803C00F3907800780390F0003C04814E0003EEB01F0 A248EB00F8A300FC14FCA9007C14F8A26CEB01F0A26CEB03E0A2390F8007C03907C00F80 3901F03E0038007FF8EB1FE01E207E9E23>I<3807C0FE39FFC7FF809038CF03E0390FDC 01F03907F800FC49137E49133E49133FED1F80A3ED0FC0A8151F1680A2ED3F00A26D137E 6D137C5D9038FC01F09038CE07E09038C7FF80D9C1FCC7FC01C0C8FCA9487EEAFFFEA222 2B7E9D27>I<90380FE01890387FF8383801F81C3903E00E783807C007390F8003F8001F 1301EA3F00A2007E1300A212FE5AA8127EA36C13017EEB8003380FC0073803E00E3801F0 3C38007FF0EB1FC090C7FCA94A7E91381FFFC0A2222B7E9D25>I<380781F838FF87FEEB 8E3FEA0F9CEA07B813B0EBF01EEBE000A45BB0487EB5FCA2181E7E9D1C>I<3801FE1838 07FFB8381E01F8EA3C00481378481338A21418A27E7EB41300EA7FF06CB4FC6C13C06C13 F0000113F838001FFC130138C0007E143EA26C131EA27EA26C133CA26C137838FF01F038 E3FFC000C0130017207E9E1C>I<1360A413E0A312011203A21207121FB512F0A23803E0 00AF1418A714383801F03014703800F860EB3FE0EB0F80152A7FA81B>I<D807C013F800 FF131FA2000F130100071300B21401A314033803E007EC0EFC3A01F81CFFC038007FF890 391FE0F800221F7E9D27>I<3AFFFC01FFC0A23A0FE0007E000007147C15380003143015 706C6C1360A26C6C5BA390387C0180A26D48C7FCA2EB3F07EB1F06A2EB0F8CA214DCEB07 D8A2EB03F0A36D5AA26D5A221E7F9C25>I<3BFFFC3FFE07FFA23B0FE003F001F801C090 38E000F00007010114E0812603E00314C0A2913807F8012701F006781380A29039F80E7C 030000D90C3C1300A290397C181E06A2151F6D486C5AA2168C90391F600798A216D89039 0FC003F0A36D486C5AA36DC75A301E7F9C33>I<3AFFFC07FF80A23A0FF003FC000003EB 01F0000114C06D485A000091C7FCEB7C06EB3E0E6D5A14B8EB0FB0EB07E013036D7E497E 1307EB067C497EEB1C1F01387FEB700F496C7E6E7ED803C07F00076D7E391FE003FC3AFF F007FFC0A2221D7F9C25>I<3AFFFC01FFC0A23A0FE0007E000007147C1538000314306D 137000011460A26C6C5BA2EBFC01017C5BEB7E03013E90C7FCA2EB1F06A2148EEB0F8CA2 EB07D8A2EB03F0A36D5AA26D5AA2495AA2130391C8FC1278EAFC06A25B131CEA7838EA70 70EA3FE0EA0F80222B7F9C25>I<003FB51280A2EB003F003C14000038137E00305BEA70 0100605B495A495A130F00005B495A49C7FC5B137E9038FC0180EA01F8120313F03807E0 03EA0FC0001F1400138048485A007E5B00FE133FB6FCA2191D7E9C1F>I<001C13E0387F 03F8A200FF13FCA2007F13F8A2381C00E016087AAD23>127 D E /Fz 29 120 df<157815FC14031407141F14FF130F0007B5FCB6FCA2147F13F0EAF800C7 FCB3B3B3A6007FB712FEA52F4E76CD43>49 D<EC3FFE0103B512E0010F14FC013F14FF90 B712C048D9C07F7F2703FE000F13F8D807F801037FD80FE06D7F48486D7F48488001F016 80486C6E13C07F486C6E13E07FA27013F0A56C5AA26C5AEA0FF0EA03C0C914E05EA218C0 5E1880A24C13005F4C5A4B5B5F4B5B5F4B5B4B90C7FC4B5A5E4B5AED7FE04B5A4A5B4A48 C8FC4A5A5D4A48EB01F04A5AEC3F804AC7FC02FEEC03E0495A495A495A495AD91F801407 49C8FC013E150F017FB7FC90B812C05A5A5A5A5A5A5AB9FC1880A4344E79CD43>I<9138 0FFFC091B512FC0107ECFF80011F15E090263FF8077F9026FF800113FC4848C76C7ED803 F86E7E491680D807FC8048B416C080486D15E0A4805CA36C17C06C5B6C90C75AD801FC16 80C9FC4C13005FA24C5A4B5B4B5B4B13C04B5BDBFFFEC7FC91B512F816E016FCEEFF80DA 000713E0030113F89238007FFE707E7013807013C018E07013F0A218F8A27013FCA218FE A2EA03E0EA0FF8487E487E487EB57EA318FCA25E18F891C7FC6C17F0495C6C4816E001F0 4A13C06C484A1380D80FF84A13006CB44A5A6CD9F0075BC690B612F06D5D011F15800103 02FCC7FCD9001F1380374F7ACD43>I<177C17FEA2160116031607160FA2161F163F167F A216FF5D5DA25D5DED1FBFED3F3F153E157C15FCEC01F815F0EC03E01407EC0FC01580EC 1F005C147E147C5C1301495A495A5C495A131F49C7FC133E5B13FC485A5B485A1207485A 485A90C8FC123E127E5ABA12C0A5C96C48C7FCAF020FB712C0A53A4F7CCE43>I<D80380 150ED807E0157E01FEEC03FED9FFF0137F91B65A5F5F5F5F5F94C7FC5E5E16F016C093C8 FC15F801E190C9FC01E0CAFCABEC0FFF027F13F001E3B512FE01E76E7E9026FFF8077FDA C0017F49C713F8496E7E49143F4981496E7E6C481680C9FC18C08218E0A418F0A3EA0FE0 487E487E487E487EA418E0A35B6C484A13C05B491680003EC85A003F17006C6C4A5A6D5D 6C6C4A5AD807F8495BD803FE01075B2701FFC03F5B6C90B65A013F4AC7FC6D14F8010314 C09026007FF8C8FC344F79CD43>I<ED0FFF92B512E0020780021F14FC91397FFE03FE90 3A01FFF0007F4901C0EB3F804990C7121F4948EC7FC0494814FF49484913E049485B01FF 5C485BA2485B5AA2486F13C04A6D1380486F1300177E94C7FC5AA291CAFC5AA215089138 01FFF8020713FFB54814C04A14F04AC66C7E023C6D7E4A6D7E4A6D7E7013804A15C0A24A 15E07013F05C18F8A491C714FCA37EA67EA46C17F880A27E18F06C5D18E06C6D15C07E6E 4913806C6D15006D6C495A6D6CEB7FFC6DB448485A6D90B55A010315C0010092C7FC023F 13FC020713C0364F7ACD43>I<932601FFFCEC01C0047FD9FFC013030307B600F8130703 3F03FE131F92B8EA803F0203DAE003EBC07F020F01FCC7383FF0FF023F01E0EC0FF94A01 800203B5FC494848C9FC4901F8824949824949824949824949824990CA7E494883A24849 83485B1B7F485B481A3FA24849181FA3485B1B0FA25AA298C7FC5CA2B5FCAE7EA280A2F3 07C07EA36C7FA21B0F6C6D1980A26C1A1F6C7F1C006C6D606C6D187EA26D6C606D6D4C5A 6D6D16036D6D4C5A6D6D4C5A6D01FC4C5A6D6DEE7F806D6C6C6C4BC7FC6E01E0EC07FE02 0F01FEEC1FF80203903AFFE001FFF0020091B612C0033F93C8FC030715FCDB007F14E004 0101FCC9FC525479D261>67 D<BA7E19FCF1FF801AF01AFCD8000701F0C7000F13FF0600 14C0071F7F070713F807017F737F747E747F747F86747F747F8886888688A2757EA31D80 87A21DC0A51DE0A387A963A31DC0A51D80A2631D00A3515AA2646264505B6264505B505B 5090C7FCF2FFFE4F5B07075B071F5B96B512C0060F91C8FCBB5A1AF01AC007FCC9FC1980 5B527CD167>I<B812C0A5D8000701F8C7FCB3B3B3B2B812C0A52A527CD132>73 D<93380FFFC00303B6FC031F15E092B712FC0203D9FC0013FF020F01C0010F13C0023F90 C7000313F0DA7FFC02007F494848ED7FFE4901E0ED1FFF49496F7F49496F7F4990C96C7F 49854948707F4948707FA24849717E48864A83481B804A83481BC0A2481BE04A83A2481B F0A348497113F8A5B51AFCAF6C1BF86E5FA46C1BF0A26E5F6C1BE0A36C6D4D13C0A26C6D 4D1380A26C1B006C6D4D5A6E5E6C626D6C4C5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D 6D4B90C7FC6D6D4B5A6D01FF02035B023F01E0011F13F0020F01FC90B512C0020390B7C8 FC020016FC031F15E0030392C9FCDB001F13E0565479D265>79 D<B912F0F0FF8019F819 FF1AC0D8000701F0C714F0060F7F060113FE727F737F737F85737F87A2737FA387A863A2 616363A24F5B4F5B4F90C8FC4F5A06035B060F13F095B512C092B8C9FC19F819E019F892 26F0000313FE9439007FFF80727F727F727F727F727F8684A28684A787A71D1C75133EA3 8575137E73157C7513FC731401B86C6D9038F803F807039038FE07F07390B512E0736C14 C0080F1400CEEA7FFC5F537CD164>82 D<EC7FFF0107B512F0013F14FE90B77E48D9E00F 7F2703FE000113F0486C6D7F6EEB3FFC48826E131F83707FA36C496D7FA26C90C7FC6C5A C9FCA6037FB5FC020FB6FC91B7FC01071487013FEBF0074913803901FFFC004813F0485B 485B485B4890C7FC5A5BA2485AA45EA26D5C007F151D163D6C6C02797F6C6D01F113F86C 9026C003E1EBFFE06C9026F81FC014F06C90B5487EC6ED001F011F01FC010713E0010101 E090C8FC3C387CB641>97 D<913801FFF8021FEBFF8091B612F0010315FC010F9038C00F FE903A1FFE0001FFD97FFC491380D9FFF05B4817C048495B5C5A485BA2486F138091C7FC 486F1300705A4892C8FC5BA312FFAD127F7FA27EA2EF03E06C7F17076C6D15C07E6E140F 6CEE1F806C6DEC3F006C6D147ED97FFE5C6D6CEB03F8010F9038E01FF0010390B55A0100 1580023F49C7FC020113E033387CB63C>99 D<4DB47E0407B5FCA5EE001F1707B3A49138 01FFE0021F13FC91B6FC010315C7010F9038E03FE74990380007F7D97FFC0101B5FC4948 7F4849143F484980485B83485B5A91C8FC5AA3485AA412FFAC127FA36C7EA37EA26C7F5F 6C6D5C7E6C6D5C6C6D49B5FC6D6C4914E0D93FFED90FEFEBFF80903A0FFFC07FCF6D90B5 128F0101ECFE0FD9003F13F8020301C049C7FC41547CD24B>I<913803FFC0023F13FC49 B6FC010715C04901817F903A3FFC007FF849486D7E49486D7E4849130F48496D7E481780 48497F18C0488191C7FC4817E0A248815B18F0A212FFA490B8FCA318E049CAFCA6127FA2 7F7EA218E06CEE01F06E14037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6DEC3F806D6CEC FF00D91FFEEB03FE903A0FFFC03FF8010390B55A010015C0021F49C7FC020113F034387C B63D>I<ED3FFC0203B5FC020F14C0023F14E09139FFF81FF0499038C03FF849EB807F49 903800FFFC495A495AA2495AA2EE7FF8495AEE3FF0EE0FC093C7FCAEB712E0A526007FF8 C8FCB3B3A7007FB512FEA52E547CD329>I<DA3FFF14FF0103B5D8F00713C0010FDAFC1F 13E0013FECFF7F90267FFC0F9038FF9FF09026FFE001EBF83F48496C13E0484990387FF0 1F4890C7D83FF813E0489338FC0FC0F0078048486E6CC7FCA2003F82A9001F5EA26C6C4A 5AA26C5E6C6D495A6C6D495A6C6D485BDAFC0F5B4890B6C8FCD803EF14FC01C314F02607 C03F90C9FC91CBFCA2120FA37FA213F813FE90B7FC6C16F817FF18C06C836C836C836D82 8448B9FC12074848C700031480D81FF8EC003F4848150748486F13C083485A83A56D5D00 7F18806D5D003F18006C6C4B5AD80FFEED1FFC6C6C6CEC7FF86C01E049485A6C01FE011F 5B6C6CB71280010F03FCC7FC010115E0D9000F01FCC8FC3C4F7CB543>I<EB3FF0B5FCA5 1203C6FCB3A4EE1FFC93B512C0030314F0030F8092391FE07FFC92393F001FFE037C8003 F07FDAF1E081ECF3C0DAF7807F8502FFC7FC5CA25CA45CB3ACB6D8F807B612C0A542537B D24B>I<137F497E000313E0487FA2487FA76C5BA26C5BC613806DC7FC90C8FCADEB3FF0 B5FCA512017EB3B3A6B612E0A51B547BD325>I<EB3FF0B5FCA512017EB3B3B3B1B612F0 A51C537BD225>108 D<D93FF0D91FFCEDFFE0B591B500C0010713FE030302F0011F6D7E 030F6E017F8092271FE07FFCD9FF037F922A3F001FFE01F8007F0003027C9126FF03E080 C602F06DD90780137FDAF1E0038FC77FDAF3C0159EDAF7806D01BC143F07FC8102FFC75C 4A5EA24A5EA44A5EB3ACB6D8F807B6D8C03FB512FEA567367BB570>I<D93FF0EB1FFCB5 91B512C0030314F0030F8092391FE07FFC92393F001FFE0003027C80C602F07FDAF1E081 ECF3C0DAF7807F8502FFC7FC5CA25CA45CB3ACB6D8F807B612C0A542367BB54B>I<9138 01FFE0021F13FE91B612C0010315F0010F9038807FFC903A1FFC000FFED97FF86D6C7E49 486D7F48496D7F48496D7F4A147F48834890C86C7EA24883A248486F7EA3007F1880A400 FF18C0AC007F1880A3003F18006D5DA26C5FA26C5F6E147F6C5F6C6D4A5A6C6D495B6C6D 495B6D6C495BD93FFE011F90C7FC903A0FFF807FFC6D90B55A010015C0023F91C8FC0201 13E03A387CB643>I<90397FE003FEB590380FFF80033F13E04B13F09238FE1FF89139E1 F83FFC0003D9E3E013FEC6ECC07FECE78014EF150014EE02FEEB3FFC5CEE1FF8EE0FF04A 90C7FCA55CB3AAB612FCA52F367CB537>114 D<903903FFF00F013FEBFE1F90B7FC1203 48EB003FD80FF81307D81FE0130148487F4980127F90C87EA24881A27FA27F01F091C7FC 13FCEBFFC06C13FF15F86C14FF16C06C15F06C816C816C81C681013F1580010F15C01300 020714E0EC003F030713F015010078EC007F00F8153F161F7E160FA27E17E07E6D141F17 C07F6DEC3F8001F8EC7F0001FEEB01FE9039FFC00FFC6DB55AD8FC1F14E0D8F807148048 C601F8C7FC2C387CB635>I<143EA6147EA414FEA21301A313031307A2130F131F133F13 FF5A000F90B6FCB8FCA426003FFEC8FCB3A9EE07C0AB011FEC0F8080A26DEC1F0015806D EBC03E6DEBF0FC6DEBFFF86D6C5B021F5B020313802A4D7ECB34>I<D93FF8913801FFC0 B50207B5FCA50003ED001FC61607B3AE5FA35FA2017F5D173B177B6D6C14F3DC01E313F0 6D6CD907C3EBFFC0903A0FFFC03F836D90B51203010114FE6D6C13F8020701E091C7FC42 377BB54B>I<B600F00107B5FCA5000101F8C8EA7FE06C6DED3F00A2017F163E6E157E01 3F167C6E15FC6D5E6F13016D5E8117036D5E6F13076D5E6F130F6D5E6F131F6D93C7FC81 5F6E6C133E177E023F147C6F13FC6E5C16816E5C16C3A26EEBE3E016E76E5C16FF6E5CA2 6E91C8FCA26F5AA36F5AA26F5AA26F5AA26F5A6F5A40367DB447>I<B6D8E07FB5D8C003 B512C0A5000101F0C701F0C7381FF8006E027FED07E06C715DA26E023F150F017F705DA2 6E181F013F4B6C92C7FC6E606D70143E94B5FC6F177E6D4A6E137C03C001F315FC6D715B 160303E001E114016D020702E05B03F013C06D71485A160F03F8D9807F13076D05F85B93 381F003F03FC160F027F4902FC5BDBFE3E011F131F023F04FE90C8FC167EDBFF7C010F5B 6E01FCECFF3E4C6D137E6E5FA24C7F6E5F4C7F6E5FA24C7F6E5F4C147FA26E5F93C8123F 6F5EA2033E6FC9FC5A367DB461>I E /FA 45 123 df<EE1FE0EEFFFC923803F03E9239 0F800F8092381E0007033814C003F0EB03E04A5A4A5A4A4814F092C7FC140E141E021C14 074A15E01478147002F0140F4A15C013014AEC1F80EF3F0013034A147E5F010790381FF9 F09139007FFFE09238700FC092387FFFE04990381FF1F0010E90380001F8707E83011E15 7E011C157FA3133C1338A301785D1370A301F05C5F5BA200014B5AA25F1607486C5D4C5A 161F6D5DD807B84A5A011C4AC7FC011E14FC6D495A3A0F078007E03A0E01F01F80902600 7FFEC8FCEC0FF0001E90CAFC121CA3123C1238A312781270A312F05AA434527EBF33>12 D<EB03F8D90FFE140F90383FFF8090B56C131E4880486E131C2607FC1F143C270FE003F8 1338261F8000147890C7007C1370003E023C13F0003C023E13E048EC1E010070020E13C0 00F0EC0F034816801507C81307EE8700168FED038E169E169CA216BC16B8A216F85EA25E A35EA35EA31507A293C7FC5DA4151EA3153E153CA45DA31570A21560303C7FA72F>I<EC 01C0EC0FFF023F13E0027913F0ECE03F903801C00FEC8007ED01E0010390C7FCA2801301 80A280A26D7E80A2147E147F6E7EA26E7E81140FEC7FF0903801F7F8EB07C790381F83FC EB3E03EB7C0101F87F12013803F000485AA24848137E485AA2123F90C7FCA25A127EA300 FE147C5A15FCA25D1401A25D007C13035DA26C495A4A5A6C91C7FC6C131E6C6C5A3803E0 783800FFE0EB3F8024427CC028>I<EB01C0496C14E00107EC03F0A3010F1407A24A14E0 A2011F140FA24A14C0A2013F141FA291C71380A249143FA2017E1500A201FE5CA249147E A2000115FE17074914FCA215010003160F923803F80EA200070207131E030F131C6D131F 033C1338486C1370903AFF81E07C70903AC7FF803FE0903AC1FE000F80D81FC0C9FCA25B A2123FA290CAFCA25AA2127EA212FEA25AA35A1270303C7EA737>22 D<020FB512FE027F14FF49B7FC1307011F15FE903A3FE03FE00090387F000F01FE6D7E48 48130348488048481301485A5B121F5B123F90C7FC5A127EA2150300FE5D5AA24B5AA215 0F5E4B5AA2007C4AC7FC157E157C6C5C001E495A001FEB07E0390F800F802603E07EC8FC 3800FFF8EB3FC030287DA634>27 D<011FB612C090B7FC5A5A481680260FC007C8FC48C6 5A123E003C130E48131E5A5AA2C75AA3147CA2147814F8A4495AA31303A25CA21307A349 5AA3131FA25C6DC9FC2A287DA628>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A79 8919>58 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A31201138012 0313005A120E5A1218123812300B1C798919>I<180E183F18FFEF03FEEF0FF8EF3FE0EF FF80933803FE00EE0FF8EE3FE0EEFF80DB03FEC7FCED1FF8ED7FE0913801FF80DA07FEC8 FCEC1FF0EC7FC04948C9FCEB07FCEB1FF0EB7FC04848CAFCEA07FCEA1FF0EA7FC048CBFC A2EA7FC0EA1FF0EA07FCEA01FF38007FC0EB1FF0EB07FCEB01FF9038007FC0EC1FF0EC07 FE913801FF809138007FE0ED1FF8ED03FE923800FF80EE3FE0EE0FF8EE03FE933800FF80 EF3FE0EF0FF8EF03FEEF00FF183F180E383679B147>I<ED0180ED03C01507A21680150F A216005DA2151E153EA2153C157CA2157815F8A25D1401A25D1403A25D1407A25D140FA2 4AC7FCA2141E143EA2143C147CA2147814F8A25C1301A25C1303A25C1307A25C130FA291 C8FC5BA2131E133EA25BA2137813F8A25B1201A25B1203A25B1207A25B120FA290C9FC5A A2121E123EA2123C127CA2127812F8A25A1260225B7BC32D>I<127012FCB4FCEA7FC0EA 1FF0EA07FCEA01FF38007FC0EB1FF0EB07FCEB01FF9038007FC0EC1FF8EC07FE913801FF 809138007FE0ED0FF8ED03FE923800FF80EE3FE0EE0FF8EE03FE933800FF80EF3FE0EF0F F8EF03FEEF00FFA2EF03FEEF0FF8EF3FE0EFFF80933803FE00EE0FF8EE3FE0EEFF80DB03 FEC7FCED0FF8ED7FE0913801FF80DA07FEC8FCEC1FF8EC7FC04948C9FCEB07FCEB1FF0EB 7FC04848CAFCEA07FCEA1FF0EA7FC048CBFC12FC1270383679B147>I<17075F84171FA2 173F177FA217FFA25E5EA24C6C7EA2EE0E3F161E161C1638A21670A216E0ED01C084ED03 80171FED07005D150E5DA25D157815705D844A5A170F4A5A4AC7FC92B6FC5CA2021CC712 0F143C14384A81A24A140713015C495AA249C8FC5B130E131E4982137C13FED807FFED1F FEB500F00107B512FCA219F83E417DC044>65 D<49B712F818FF19E090260001FEC7EA3F F0F007F84B6E7E727E850203815D1A80A20207167F4B15FFA3020F17004B5C611803021F 5E4B4A5A180FF01FE0023F4B5A4B4A5ADD01FEC7FCEF07F8027FEC7FE092B6C8FC18E092 C7EA07F84AEC01FE4A6E7E727E727E13014A82181FA213034A82A301075F4A153FA26101 0F167F4A5E18FF4D90C7FC011F5E4A14034D5A013FED1FF04D5A4AECFFC0017F020790C8 FCB812FC17F094C9FC413E7DBD45>I<49B712F818FF19C0D9000190C7EA3FF0F00FF84B EC03FCF000FE197F0203EE3F805DF11FC0A20207EE0FE05D1AF0A2020F16075DA21AF814 1F5DA2190F143F5DA21AF0147F4B151FA302FF17E092C9123FA21AC049177F5C1A8019FF 010318005C4E5A61010716034A5E4E5A180F010F4C5A4A5E4E5A4EC7FC011F16FE4A4A5A EF07F8013FED0FE0EF3FC04A49B4C8FC017FEC0FFCB812F017C004FCC9FC453E7DBD4B> 68 D<49B600C090387FFFF896B5FC5FD900010180C7000F130093C813F84B16E01A804F C7FC0203163C4B15F84E5AF003C002074B5A4B021FC8FC183E1878020F5D4BEB03E0EF07 804DC9FC021F143E4B5B17F04C5A023F1307EDC00F4C7E163F027FEBFFF8ED81EFED83CF 92388F87FC9138FF9F0792383C03FE15784B6C7E4913E0158092C77F5C01036F7E5C717E A213074A6E7EA2717E130F4A6E7EA284011F15035C717E133F855C496C4A13E0B600E001 7F13FFA34D3E7DBD4D>75 D<49B56C93383FFFF05113E098B5FCD90001F1E000704B5B03 DF933803BF80A2F2077F1403039F040E90C7FC1A1CDB8FE05E02075F030F4C5AA21AE102 0FEE01C1020E606F6CEC03811A83021EEE0703021C040E5BA2F11C07023C16380238606F 6C1470F1E00F14780270DB01C05BA2953803801F02F0ED07004A6C6C5E180E4E133F1301 02C04B5C601A7F01036D6C5B4A95C8FC4D5A4D485B130791C749C75A170E047F1401495D 010E4B5CA24D1303131E011C4B5C5F013C023F1407017C5D01FE92C75BD803FF4D7EB500 FC013E011FB512F8163C041C5E5C3E7DBD58>77 D<EE3FF00303B5FC92391FC03FC09239 7E0007E0DA01F8EB01F8DA07E06D7E4A48147E023FC87E027EED1F804A16C0D903F8150F 494816E0495A4948ED07F0A2494816F849C9FC5B48481603A2484817FCA2485A000F1707 5B121FA25B123F19F84848160FA44848EE1FF0A3F03FE0A390CAEA7FC0A2F0FF80A21900 4D5A1703604D5A6C7E4D5A4D5A003F5F4D5A6C6C4BC7FC17FE6C6C4A5A4C5A6C6CEC07E0 6C6CEC1FC06C6C4A5A6C6C02FEC8FC90393F8003F890390FE01FE00103B5C9FC9038007F F03E427BBF45>79 D<49B712F018FF19C0D9000190C76C7EF00FF84BEC03FC1801020382 727E5DA214071A805DA2140F4E13005DA2021F5E18034B5D1807023F5E4E5A4B4A5A4E5A 027F4B5A06FEC7FC4BEB03FCEF3FF091B712C005FCC8FC92CBFCA25BA25CA21303A25CA2 1307A25CA2130FA25CA2131FA25CA2133FA25C497EB612E0A3413E7DBD3A>I<EE3FF003 03B5FC92391FC03FC092397E0007E0DA01F8EB01F8DA07E06D7E4A48147EDA3F8080027E C813804AED1FC0EB03F84948ED0FE0130F494816F04A1507494816F8137F49C9FC485AA2 484817FCA2485A120FA2485AA25B123F19F84848160FA44848EE1FF0A3F03FE0A290CAFC F07FC0A2198018FF19004D5AA24D5A606C16074D5A6D01F85C003FD903FE495ADA0F0749 5A271FC01C0349C7FC9139380180FE260FE030EB81FCEEC3F82607F070EBC7E03B03F860 00CFC0D801FCECFF80D800FE4AC8FC90393FF003F890270FF81FE0130C0103B5FC902600 7FF1141CDA00011418183882607013F017039338FC0FE093B5FC6060A26F91C7FC5F705A EE3FF0EE0FC03E527BBF48>I<49B77E18F818FFD90001D900017F9438003FE04BEC0FF0 727E727E14034B6E7EA30207825DA3020F4B5A5DA24E5A141F4B4A5A614E5A023F4B5A4B 4A5A06FEC7FCEF03FC027FEC0FF04BEBFF8092B500FCC8FC5F9139FF8001FE92C7EA7F80 EF1FC084496F7E4A1407A28413035CA2170F13075C60171F130F5CA3011F033F5B4AEE03 8018E0013F17071A004A021F5B496C160EB600E090380FF01E05075B716C5ACBEAFFE0F0 3F8041407DBD45>I<DB07FC131C92383FFF8092B5EAE038913A03F803F078913A0FE000 F8F8DA1F80133D4AC7EA1FF0027E140F5C494814074A15E0130349481403A2010F16C05C A3011F1680A38094C7FC808014FE90380FFFC015FC6DEBFFC016F86D14FE6D806D81023F 800207801400030F7F1500163F707E160F1607A2160312075A5F120EA2001E15075FA24C 5A123E003F4B5AA26D4AC7FC007F157E6D5C6D495AD87DF0495AD8F8FCEB0FE090393F80 3F8027F01FFFFEC8FCD8E00713F839C0007FC036427BBF38>I<027FB5D88007B512C091 B6FCA2020101F8C7EBF8009126007FE0EC7F804C92C7FC033F157C701478616F6C495A4E 5A6F6C495A4EC8FC180E6F6C5B606F6C5B6017016F6C485A4D5A6F018FC9FC179E17BCEE 7FF85F705AA3707EA283163F167FEEF7FCED01E7EEC3FEED0383ED070392380E01FF151E 4B6C7F5D5D4A486D7E4A5A4A486D7E92C7FC140E4A6E7E5C4A6E7E14F0495A49486E7E13 07D91F806E7ED97FC014072603FFE0EC1FFF007F01FC49B512FEB55CA24A3E7EBD4B>88 D<B66C0103B51280A3000101E0C8387FF0006C49ED3F80017F94C7FC183C606D6C157060 6D6C4A5A17034D5A6D6C4AC8FC170E5F6D6C5C17785F6D6C495A5F6E495A6D4AC9FC160E 6DEB801E5E5E91387FC0705EEDC1C0EC3FE3EDE78003FFCAFC6E5A5D6E5AA25DA25D141F A35D143FA35D147FA392CBFC5CA3495AA3497E0007B512FEA3413E7DBD35>I<027FB712 F0A3DAFFFCC7EA3FE003E0EC7FC092C8EAFF8049484A13004A4A5A5C4A4A5A49484A5A4A 4A5A4D5A49484A5A4D5A91C74890C7FC5B010E4A5A4C5A4C5A011E4A5A90C8485A4C5A4C 5A4B90C8FCA24B5A4B5A4B5A4B5A4B5A4B5A4B5AA24A90C9FC4A5A4A5A4A5A4A4814704A 4814F04A485C14FF5D4990C7120149485D49481403495A49485D49481407495A4DC7FC49 485C4890C8FC48485D4848157E484815FE484814034848EC0FFC16FF48B7FCB8FC5F3C3E 7BBD3E>I<EC1F80ECFFE0903903F0707090390FC039F890381F801D90383F000F017E5C 5B00011407485A48485CA2485A001F140F5E485AA2151F007F5D5BA2153F00FF92C7FC90 C7FCA25D92387E03805AA215FEEDFC07007E0101140014035E6C0107130E140E3A1F801C 7C1C000F13783A07C1F03E383A01FFC01FF03A007F0007C029297DA730>97 D<EB1FC0EA0FFF5CA2EA003FA291C8FCA25BA2137EA213FEA25BA21201A25BA21203A25B EC3F800007EBFFE09038F3C1F849C67E01FE137E4848133E49133F5B491480001F141F5B 5BED3FC0123FA290C7FCA248147F1680127EA215FF00FE15005AA24A5AA25D1403485C14 07007C5C4A5A5D003C495A003E49C7FC001E137E6C13F8380783F03803FFC0C648C8FC22 407CBE27>I<EC07F0EC7FFE903801FC0F903907E0038090390FC001C0D93F8013E09038 7F000701FE131F485A485A16C0485A000F15804990C7FC121F485AA3127F5BA312FF90C9 FCA6007E1560007F15E01501ED03C06CEC07806DEB0F00001F141E6C6C137C3907E001F0 3901F01FC06CB5C7FCEB1FF023297DA727>I<EC1FE0ECFFFC903803F01E90380FC00F90 393F800780D97E0013C0491303EA03F8120749130748481480121F49130F003FEC1F0015 3E397F8001FCEC1FF0B6128002F8C7FC90C9FCA45AA616C01501007E1403ED07806CEC0F 00151E6C5C6C6C13F83907C003E03903E03F802600FFFEC7FCEB3FE022297CA72A>101 D<143C14FEA21301A314FCEB00701400AD137E3801FF803803C7C0EA0703000F13E0120E 121C13071238A2EA780F007013C0A2EAF01F14801200133F14005B137EA213FE5BA21201 5B0003130E13F0A20007131EEBE01CA2143CEBC0381478147014E013C13803E3C03801FF 00EA007C173E7EBC1F>105 D<ED01C0ED07F0A2150FA316E0ED038092C7FCADEC03E0EC 0FF8EC3C3EEC701EECE01FEB01C001031480EB0780140049133F010E1400131E131C013C 5BA290C7127EA215FEA25DA21401A25DA21403A25DA21407A25DA2140FA25DA2141FA25D A2143FA292C7FCA25C147EA2001C13FE007F5BEAFF015C495A495A48485A38F81F80D878 3EC8FCEA3FF8EA0FE0245081BC25>I<EB01FC13FF5CA21303A25CA21307A25CA2130FA2 5CA2131FA25CA2133FA291C9FC16FC49EB03FE92380F0780017EEB3C0FED703F01FE13E0 913801C07F9038FC0380EC07000001010E14004A131C494890C7FC5C00035BEBF9C0495A 01FFC9FC5A14F0EBE3FE9038E07F80000FEB1FC06E7EEBC00781001F1303160E1380A200 3F151E0207131C010013E0A2485DA2007E01031378167000FE01015B15F1489038007F80 0038023EC7FC29407CBE2F>I<EB07F0EA03FF14E0A2EA000FA214C0A2131FA21480A213 3FA21400A25BA2137EA213FEA25BA21201A25BA21203A25BA21207A25BA2120FA25BA212 1FA25BA2123FA290C7FCA25AEB0380127EA212FE130700FC1300A25B130EA2EA7C1C133C EA3E38EA1FF0EA07C014407DBE1B>I<D801F0D90FF0EB03F8D807FCD93FFEEB1FFFD80F 1FD9F01F90387C0F80000E903C03C00F80E007C0271E0F87009039C3C003E0001C018E90 3807C780003C01DCDAEF007F003801F814EE4A14FCD8781F5D00705B4A5CA200F0494948 1307013F60000090C75BA2041F140F4960017E5D191F043F5D13FE4992C7123F97C7FC5E 000195387F01C049027E147EA204FEECFE03000306FC1380495C1A07030103F813000007 61494A150E620303163C000FF07C78494AEC3FE0D80380D900E0EC0F804A297EA750>I< D801F0EB0FF0D807FCEB3FFED80F1FEBF01F000E903903C00F80271E0F87007F001C018E 1307003C01DC80003813F85CEA781F00705B5CA200F049130F013F5D000090C7FCA2161F 495D137E163F94C7FC13FE495C167EA200019238FE03804914FCA203011307000303F813 005B5FEEF00E0007161E49151C5F1778000F6E6C5A49EC7FC0D80380021FC7FC31297EA7 37>I<D907C013FE903A0FF003FF80903A1C7C0F07E0903A383C1C03F0903A783E7801F8 0170EBF0009026F03FE013FC01E05B4B13FE0001017F147E01C090C7FC147E17FF000313 FEA2C75AA201015C17FE5CA20103140317FC5CA20107EC07F8A24A14F0160F010F15E016 1F17C0EE3F80011F15006E137E5E9138B801F890393FBC03E091389E0FC0DA07FFC7FCEC 01F849C9FCA2137EA213FEA25BA21201A25BA21203A2B512E0A3303A84A72E>112 D<91381F800C9138FFE01C903903F0707C90390FC0387890391F801CF890383F000F137E 4914F000011407485A485A16E0485A121F150F484814C0A3007F141F491480A300FF143F 90C71300A35D48147EA315FE007E495A1403A26C13074A5A381F801D000F13793807C1F3 3901FFC3F038007F03130014075DA3140F5DA3141F5DA2143F147F90381FFFFE5BA2263A 7DA729>I<D801F0EB3F80D807FCEBFFE03A0F1F03C0F0000E90380F00F8391E0F9E0300 1C13BC003CEBF807003813F0A226781FE013F000709038C001C092C7FC5C12F0133F0000 90C8FCA35B137EA313FE5BA312015BA312035BA312075BA3120F5BEA038025297EA729> I<EC1FC0ECFFF8903803E03C903807800E90381E0007168049130F49131F153FA201F814 00A2151C6D90C7FC7FEBFFE014FE90387FFFC06D7F6D13F86D7F13039038001FFE140314 00157E000C143E123F487EA248C7123CA25D12FC00F05C0070495A0078495A6C495A260F 803EC7FC3803FFF838007FC021297CA72B>I<147014FC1301A25CA21303A25CA21307A2 5CA2130FA25CA2007FB512F0B6FC15E039001F8000133FA291C7FCA25BA2137EA213FEA2 5BA21201A25BA21203A25BA21207EC01C013E01403000F1480A2EBC0071500140E141E5C 000713385C3803E1E03801FF80D8003EC7FC1C3A7EB821>I<137C48B4EC03802603C7C0 EB0FC0EA0703000F7F000E151F121C010715801238163FEA780F0070491400A2D8F01F5C 5C0000157E133F91C712FEA2495C137E150113FE495CA215030001161C4914F0A2150717 3CEEE038150F031F1378000016706D133F017C017313F0017E01E313E0903A3F03C1F1C0 903A0FFF007F80D901FCEB1F002E297EA734>I<017E147848B4EB01FC2603C7C013FED8 07031303000F13E0120E121C0107130100381400167ED8780F143E00705B161EEAF01F4A 131C1200133F91C7123C16385B137E167801FE14705B16F016E0120149EB01C0A2ED0380 A2ED0700A20000140E5D6D133C017C5B6D5B90381F03C0903807FF80D901FCC7FC27297E A72C>I<017CEE038048B40207EB0FE02603C7C090391F801FF0EA0703000F7F000E153F 001C16000107160F003817074C1303D8780F027E130100705B1800D8F01F14FE4A4914E0 1200133FDA000114014C14C05B137E0303140301FE4A14805BA2F0070000011407494A5B 180EA260A2030F5C12006D011F5C017C496C5B017E0139495A6D903870F80390281F81E0 7C0FC7FC903A07FFC01FFE010090380007F03C297EA741>I<D901F8133FD907FEEBFFE0 903A1E0F83C0F0903A3807C780F890397003CF0301E013FED801C0EBFC071203018013F8 D8070015F0EE01C0000E4AC7FCA2001E1307A2C75BA2140F5DA3141F5DA3143F92380001 C0A34A1303001E1680003F017E1307267F80FE14005ED8FF81141ED901DF131CD8FE035C 3A7C078F80F03A3C0F07C1E03A1FFC03FF802707F0007EC7FC2D297EA734>I<137C48B4 EC03802603C7C0EB0FC0EA0703000F7F000E151F001C168013071238163FD8780F150000 705BA2D8F01F5C4A137E1200133F91C712FE5E5B137E150113FE495CA2150300015D5BA2 15075EA2150F151F00005D6D133F017C137F017E13FF90393F03DF8090380FFF1FEB01FC 90C7123F93C7FCA25DD80380137ED80FE013FE001F5C4A5AA24848485A4A5A6CC6485A00 1C495A001E49C8FC000E137C380781F03803FFC0C648C9FC2A3B7EA72D>I<02F8130ED9 03FE131ED90FFF131C49EB803C49EBC0784914F090397E07F1E09038F800FF49EB1FC049 EB07800001EC0F006C48131E90C75A5D5D4A5A4A5A4A5A4AC7FC143E14785C495A495A49 5A49C8FC011E14E05B5B4913014848EB03C0485AD807F8EB078048B4131F3A1F87E07F00 391E03FFFE486C5B00785CD870005B00F0EB7FC048011FC7FC27297DA72A>I E /FB 85 128 df<ED7FE0913807FFFE91391FC03F8091397E0007E0D901F8EB01F8D907 F0EB00FE4948147F49486E7E49486E7E49C86C7E01FE6F7E48486F7EA248486F7E000783 491500000F834982001F1880A24848EE3FC0A3007F18E0A249161FD981C0143800FF18F0 A291B612F8A702C0C71238A3D87F80C913E0A26D163FA3003F18C0A26C6CEE7F80A36C6C EEFF00A26C6C4B5A00035F6D150300015F6C6C4B5A017F4B5A6D5E6D6C4A5AD90FE0027F C7FC6D6C14FED901F8EB01F8D9007EEB07E091391FC03F80912607FFFEC8FC9138007FE0 3C427BBF47>2 D<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901FC90383FF03FD9 07F090397FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00EF003E01FE6D91 C7FC82ADB97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339407FBF35>11 D<4AB4FC021F13C091387F01F0903901FC0078D907F0131C4948133E494813FF49485A13 7F1400A213FE6F5A163893C7FCAA167FB8FCA33900FE00018182B3AC486CECFF80007FD9 FC3F13FEA32F407FBF33>I<4AB47E021F13F791387F00FFEB01F8903807F001EB0FE0EB 1FC0EB3F80137F14008101FE80AEB8FCA3C648C77EB3AE486CECFF80007FD9FC3F13FEA3 2F407FBF33>I<4AB4ECFF80021FD9C00F13E0913B7F01F03F80F8903C01F80078FE003C D907F0D93FF8130E49484948131F49484948EB7F804948484913FF137F02005CA201FE92 C7FC6FED7F0070141C96C7FCAAF13F80BBFCA3C648C76CC7FC197F193FB3AC486C4A6CEB 7FC0007FD9FC3FD9FE1FB5FCA348407FBF4C>I<001E130F397F803FC000FF137F01C013 E0A201E013F0A3007F133F391E600F3000001300A401E01370491360A3000114E04913C0 0003130101001380481303000EEB070048130E0018130C0038131C003013181C1C7DBE2D >34 D<013F4C7ED9FFC04B7E2601E0E015072607C070150F48486C4B5A023E4BC7FC4848 6C5D48D90FC0EB01FE003ED90EF0EB07FCDA0F3F133E007E903A070FFFF8F8007C0200EB C1F0EE000300FC6D6C495A604D5A171F95C8FC173E177E177C5F16015F007C4948485A16 07007E5E003E49495A020E131F003F93C9FC6C49133E260F803C137E0238137C6C6C485B 3901E0E0016CB448485AD93F0049133F90C74848EBFFC0030F903801E0E093398007C070 4B4848487E4B153C033E90381F001C4B497F03FC133E4B150F4A48017E7F0203147C5D4A 4801FCEB0380140F5D4AC7FC5C143E5C14FC5C495A13034948027CEB07005C4948147E01 1F033E5B91C8140E013E153F017E6F5B017C92380F803C4917380001706C5A49923801E0 E0496FB45A6C48043FC7FC41497BC34C>37 D<121EEA7F8012FF13C0A213E0A3127FEA1E 601200A413E013C0A312011380120313005A120E5A1218123812300B1C79BE19>39 D<1430147014E0EB01C0EB03801307EB0F00131E133E133C5B13F85B12015B1203A2485A A2120F5BA2121F90C7FCA25AA3123E127EA6127C12FCB2127C127EA6123E123FA37EA27F 120FA27F1207A26C7EA212017F12007F13787F133E131E7FEB07801303EB01C0EB00E014 701430145A77C323>I<12C07E12707E7E121E7E6C7E7F12036C7E7F12007F1378137CA2 7FA2133F7FA21480130FA214C0A3130714E0A6130314F0B214E01307A614C0130FA31480 A2131F1400A25B133EA25BA2137813F85B12015B485A12075B48C7FC121E121C5A5A5A5A 145A7BC323>I<1506150FB3A9007FB912E0BA12F0A26C18E0C8000FC9FCB3A915063C3C 7BB447>43 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380 120313005A120E5A1218123812300B1C798919>I<B512FEA617067F961E>I<121EEA7F80 A2EAFFC0A4EA7F80A2EA1E000A0A798919>I<ED0180ED03C01507A21680150FA216005D A2151E153EA2153C157CA2157815F8A25D1401A25D1403A25D1407A25D140FA24AC7FCA2 141E143EA2143C147CA2147814F8A25C1301A25C1303A25C1307A25C130FA291C8FC5BA2 131E133EA25BA2137813F8A25B1201A25B1203A25B1207A25B120FA290C9FC5AA2121E12 3EA2123C127CA2127812F8A25A1260225B7BC32D>I<EB01FE90380FFFC090383F03F090 387C00F849137C48487F48487F4848EB0F80A2000F15C04848EB07E0A3003F15F0A290C7 12034815F8A64815FCB3A26C15F8A56C6CEB07F0A3001F15E0A36C6CEB0FC0A26C6CEB1F 80000315006C6C133E6C6C5B017C5B90383F03F090380FFFC0D901FEC7FC263F7DBC2D> I<EB01C013031307131F137FEA07FFB5FC139FEAF81F1200B3B3ACEB7FF0B612F8A31D3D 78BC2D>I<EB07FC90383FFF8090B512E03903F01FF83907C007FC390F0001FE001E6D7E 001C1580003CEC7FC05AED3FE01270B4FC6DEB1FF07FA56C5A6CC7FC120CC813E0153FA2 16C0157F168015FF16004A5A5D4A5A4A5A5D4A5A4A5A4AC7FC147E147C5C495A495A495A 495A49C71270133E133C5B4914E0485A485A485A48C7120148B6FCA25A4815C0B7FCA324 3D7CBC2D>I<EB07FC90383FFF809038F80FE03901E003F839078001FCD80F007F000E6D 7E001E1580D81F80137F486C14C07FA27F5BA2121F6C5AC8138015FF1600A24A5AA24A5A 5DEC07E04A5A023FC7FCEB1FFCECFF809038000FE0EC07F86E7E6E7E6E7E1680ED7FC0A2 16E0153FA216F0A2120C123F487E487EA316E0A249137F6CC713C01278EDFF807E6C4913 006C495A3907C007FC3903F80FF0C6B55A013F1380D907F8C7FC243F7CBC2D>I<150E15 1E153EA2157EA215FE1401A21403EC077E1406140E141CA214381470A214E0EB01C0A2EB 0380EB0700A2130E5BA25B5BA25B5B1201485A90C7FC5A120E120C121C5AA25A5AB8FCA3 C8EAFE00AC4A7E49B6FCA3283E7EBD2D>I<00061403D80780131F01F813FE90B5FC5D5D 5D15C092C7FC14FCEB3FE090C9FCACEB01FE90380FFF8090383E03E090387001F8496C7E 49137E497F90C713800006141FC813C0A216E0150FA316F0A3120C127F7F12FFA416E090 C7121F12FC007015C012780038EC3F80123C6CEC7F00001F14FE6C6C485A6C6C485A3903 F80FE0C6B55A013F90C7FCEB07F8243F7CBC2D>I<EC1FE0ECFFF8903803F03E90380FC0 0F90391F000780133E017EEB1FC049133F4848137F12035B12074848EB3F80ED1F00001F 91C7FC5BA2123FA3485AA214FE903887FF8039FF8F07E090389C01F09038B800FC01B013 7E13F0497F16804914C0A2ED1FE0A34914F0A5127FA6123F6D14E0A2121FED3FC0A26C6C 1480A20007EC7F006C6C137E6C6C5B6C6C485A90387E07F06DB45A010F1380D903FCC7FC 243F7CBC2D>I<1238123C123F90B612FCA316F85A16F016E00078C712010070EC03C0ED 078016005D48141E151C153C5DC8127015F04A5A5D14034A5A92C7FC5C141EA25CA2147C 147814F8A213015C1303A31307A3130F5CA2131FA6133FAA6D5A0107C8FC26407BBD2D> I<EB03FC90381FFF8090387C07E09038F001F83901E0007C48487F48487F48C7FCED0F80 121E16C0003E1407A4123FA26DEB0F807F6C6C131F6D140001FC133E6C6C5B9038FF8078 6C6D5A6CEBF3E06CEBFF806C91C7FC133F6D13C06D7F013F13F801787F48486C7E3903E0 1FFF48486C1380260F800313C048487E489038007FE0003E143F007E141F007CEC0FF015 07481403A31501A46C15E0007C1403A2007E15C06C14076CEC0F806DEB1F006C6C133ED8 07F05B3901FC03F86CB512E0011F1380D903FCC7FC243F7CBC2D>I<EB03FCEB1FFF9038 7E07C09038FC03F048486C7E48486C7E4848137C000F147E4848137F81003F15805B007F 15C0A2151F12FF16E0A516F0A5127F153FA36C7EA2001F147F120F6C6C13FF6D13DF0003 13013900F8039F90387E0F1FD91FFE13E0EB07F090C7FCA2ED3FC0A41680157FD80F8014 00487E486C13FEA24A5A5D49485AEB8007391E000FE0001F495A260FC07FC7FC3803FFFE 6C13F838003FC0243F7CBC2D>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3121E EA7F80A2EAFFC0A4EA7F80A2EA1E000A2779A619>I<121EEA7F80A2EAFFC0A4EA7F80A2 EA1E00C7FCB3121E127FEAFF80A213C0A4127F121E1200A412011380A3120313005A1206 120E120C121C5A1230A20A3979A619>I<007FB912E0BA12F0A26C18E0CDFCAE007FB912 E0BA12F0A26C18E03C167BA147>61 D<EB1FF890B5FC3903E01FC0390F0007F0001EEB03 F848EB01FC4814FE140000FE14FF7E7FA46CC7FC123EC7EA01FEA2EC03FCEC07F815F0EC 0FC0EC1F80EC3F00143E5C147814F85C13015CA2495AA25CAB91C7FC90C8FCA8EB0780EB 1FE0A2497EA46D5AA2EB078020407BBF2B>63 D<ED7FE0913807FFFE91391F801F809139 780001E0D901E0EB0078D90780141E49C87E011E6F7E0138ED01C0496F7E491670000117 7848488249D93F80131C28070001FFF07F48902607E07C130F000E90260FC01E7F001E90 263F00071480001C499038038003003C01FED901C013C0003849ECFE010101EC00FF2678 03F8027F13E000701700495AA200F018F000E01870495AA96D7E12F01270A26D7E007818 E0263801FC5C01005C003C7F001C017F49EB01C0001E6DEB077F000E903B0FC01E3F8380 000F903B07E07C1F87006C903A01FFF007FE3C0380003F8001F86D90CAFC6C7E12001370 7F011EEE03F06D160F6D6CED3FC0D901E0913801FE00D90078EC1FF0913A1F8003FF8002 07B500F8C7FC9126007FFEC8FC3C417BBF47>I<15074B7EA34B7EA34B7EA34B7EA34B7E 15E7A2913801C7FC15C3A291380381FEA34AC67EA3020E6D7EA34A6D7EA34A6D7EA34A6D 7EA34A6D7EA349486D7E91B6FCA249819138800001A249C87EA24982010E157FA2011E82 011C153FA2013C820138151FA2017882170F13FC00034C7ED80FFF4B7EB500F0010FB512 F8A33D417DC044>I<B712FCEEFF8017F00001903980000FF86C6CC7EA03FE707E701380 EF7FC0EF3FE0A2EF1FF0A218F8A3170F171FA318F0A2EF3FE0177F18C0EFFF804C1300EE 03FCEE0FF8EE7FE091B6C7FC17E091C7EA07FCEE01FE933800FF80EF7FC0EF3FE0EF1FF0 18F8170F18FC1707A218FEA718FC170FA2EF1FF818F0173FEF7FE0EFFFC0040313804848 6C90380FFE00B85A17E094C7FC373E7DBD40>I<DB3FF01306912603FFFE130E020F9038 FF801E913A3FF007E03E9139FF8000F8D903FEC7EA7C7ED907F8EC1EFE4948140FD93FE0 140749481403495A91C812014848150012034848167E5B000F173EA24848161EA2123F5B 180E127FA349160012FFAC127F7F180EA2123FA27F001F171E181C6C7EA20007173C6D16 386C6C1678000117706C6C16F06EEC01E06D6C15C06D6C1403D90FF0EC07806D6CEC1F00 D903FE143E902600FF8013F891393FF007F0020FB512C0020391C7FC9138003FF037427B BF42>I<B712FCEEFF8017E000019039C0001FF86C6C48EB03FEEE00FF717E717EEF0FE0 84717E717E170184717EA21980187F19C0A3F03FE0A519F0AB19E0A5F07FC0A21980A218 FF19004D5AA24D5A6017074D5A4D5AEF7FC04DC7FCEE03FE48486CEB1FF8B85A178004FC C8FC3C3E7DBD45>I<B912E0A300019038C000016C6C48EB001FEF0FF01703A217011700 A31870A41838161CA41800A2163CA2167C16FC150391B5FCA3EC80031500167C163CA216 1CA21807A3180E93C7FCA4181E181CA2183CA2187CA218F8170117031707171F48486CEB 01FFB912F0A3383E7DBD3E>I<B91280A300019038C000036C6C48EB007FEF1FC0170F17 07A21703A31701A4EF00E0A21638A31800A31678A216F81501150791B5FCA3EC80071501 15001678A21638A693C8FCAF3801FFE0B612F0A3333E7DBD3B>I<DB3FE0130C912603FF FE131C021F9038FF803C913A7FF00FC07C9139FF0001F0D903FC90380078FC4948143DD9 1FE0141F4948140F4948140701FF15034890C8FC491501485A000716005B000F177C5B00 1F173CA2485AA2181C127FA25B95C7FC12FFAB041FB512F0127FA26D9139000FFE00EF03 FC123FA27F121FA26C7EA212077F12036C7E7F6C7F6D6C14076D7E6D6C140FD907F8141E D903FEEC3C7C902600FF80EBF83C913A7FF007F01C021FB5EAC00C020391C8FC9138003F F03C427BBF47>I<B6D8C01FB512F8A3000101E0C7383FFC0026007F80EC0FF0B3A691B7 FCA30280C7120FB3A92601FFE0EC3FFCB6D8C01FB512F8A33D3E7DBD44>I<B612F0A3C6 EBF000EB3FC0B3B3B2EBFFF0B612F0A31C3E7EBD21>I<011FB512FCA3D9000713006E5A 1401B3B3A6123FEA7F80EAFFC0A44A5A1380D87F005B007C130700385C003C495A6C495A 6C495A2603E07EC7FC3800FFF8EB3FC026407CBD2F>I<B600C090387FFFFCA3000101E0 C7000F138026007F80913807FE0018F818E0604D5A4DC7FC173E5F5F4C5A4C5A4C5A4C5A 4CC8FC163E5E5E4B5A4B5AED07804B7E151F4B7E4B7E15FF913881EFF8913883C7FCEC87 8791388F03FE91389E01FF14BCDAF8007F4A6D7E5C4A6D7E4A6D7EA2707E707EA2707E70 7EA2707F717E84173F717E717EA2717E848419802601FFE04A13C0B600C090B6FCA3403E 7DBD47>I<B612F8A3000101E0C9FC38007F80B3B0EF0380A517071800A45FA35FA25F5F 5F4C5A160748486C133FB8FCA3313E7DBD39>I<B500C093383FFFF0A300016D93387FF8 00D8007F18E0D977F016EFA3D973F8ED01CFA2D971FCED038FA3D970FEED070FA26E150E 80A26E6C141CA36E6C1438A26E6C1470A36E6C14E0A26E6CEB01C0A36E6CEB0380A36E6C EB0700A2037F130EA36F6C5AA26F6C5AA36F6C5AA25FED07F0A2923803F9C0A36FB45AA2 6F90C7FCA213F8486C147ED807FFEF3FF8B500F8013C011FB512F0A34C3E7DBD53>I<B5 6C91B512F88080D8007F030713006EEC01FC6E6E5A1870EB77FCEB73FEA2EB71FF01707F A26E7E6E7EA26E7E6E7EA26E7E6E7EA26E7E6E7FA26F7E6F7EA26F7E6F7EA26F7E6F7EA2 6F7E6F1380A2EE7FC0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE01FF7013F0A2177F 173FA2171F170FA2170701F81503487ED807FF1501B500F81400A218703D3E7DBD44>I< ED7FE0913807FFFE91391FC03F8091397E0007E04948EB03F8D907F0EB00FE4948147F49 486E7E49486E7E49C86C7E01FE6F7E00018349150300038348486F7EA248486F7EA2001F 188049167F003F18C0A3007F18E049163FA300FF18F0AC007F18E06D167FA4003F18C0A2 6C6CEEFF80A36C6C4B1300A26C6C4B5A00035F6D150700015F6C6C4B5A6D5E6D6C4A5A6D 6C4A5A6D6C4AC7FC6D6C14FED901FCEB03F8D9007FEB0FE091391FC03F80912607FFFEC8 FC9138007FE03C427BBF47>I<B712F8EEFF8017E000019039C0003FF86C6C48EB07FCEE 01FE707EEF7F80EF3FC018E0A2EF1FF0A218F8A818F0A2EF3FE0A218C0EF7F80EFFF004C 5AEE07FCEE3FF091B612C04CC7FC0280C9FCB3A73801FFE0B612C0A3353E7DBD3E>I<B7 12C016FCEEFF800001D9C00013E06C6C48EB1FF0EE07FCEE01FE707E84717EA2717EA284 A760177F606017FF95C7FCEE01FCEE07F8EE1FE0EEFF8091B500FCC8FC16F091388001FC ED003FEE1FC0707E707E83160383160183A383A484A4F0C004190EA28218E0057F131E26 01FFE0161CB600C0EB3FF094381FF83805071370CA3801FFE09438003F803F407DBD43> 82 D<D907FC130C90391FFF801C017FEBF03C3901FC03F83A03F0007E7CD807C0EB1FFC 4848130F001F140748C71203003E1401007E1400A2007C157C12FCA2163CA36C151CA27E A26C6C14007F7FEA3FF8EBFF806C13F86CEBFF806C14F06C14FC6C14FF6C15C0013F14E0 010714F0EB007F020713F89138007FFC150FED07FE15031501ED00FFA200E0157FA3163F A27EA3163E7E167E6C157C6C15FC6C15F86D13016DEB03F06DEB07E0D8F9FCEB0FC03AF0 7F803F8090391FFFFE00D8E00713F839C0007FC028427BBF33>I<003FB91280A3903AF0 007FE001018090393FC0003F48C7ED1FC0007E1707127C00781703A300701701A548EF00 E0A5C81600B3B14B7E4B7E0107B612FEA33B3D7DBC42>I<B600C090B512F8A3000101E0 C70007130026007F80EC01FC715A1870B3B3A4013F16F06E5DA21701011F5E80010F1503 6E4A5A010793C7FC6D6C5C6D6C141E6D6C5C027F14F86E6C485A91390FF00FE00203B512 80020049C8FCED1FF03D407DBD44>I<B691380FFFFEA3000301E0020113E06C01809138 007F806CEF3F00017F163E181C6E153C013F1638A26E1578011F1670A26D6C5DA26E1401 01075EA26E140301035EA26D6C4AC7FCA2806D150EA26F131E027F141CA26F133C023F14 38A26E6C5BA26F13F0020F5CA2EDF80102075CA26E6C485AA2EDFE07020191C8FCA26F5A 6E130EA2ED7F9CA216DCED3FF8A36F5AA36F5AA26F5AA36F5A3F407EBD44>I<B500FE01 7FB5D88007B5FCA3000301C0010101E0C713F86C90C849EC3FE07148EC0F807E7215006E 143F017F190E84A26D6C60A24D7E6D6C60A2EFE7F86D6C60A2933801C3FC6E18F0010761 04037F6E0281140101036104077F17006D6C4D5AA2040EEB7F806D6C4DC7FCA24CEB3FC0 DA7F80160EA24CEB1FE003C0161E023F171C047814F0DBE070010F133C021F173804F014 F84C1307DA0FF05EA2DBF1C0EB03FCDA07F95EA2DBFB80EB01FEDA03FF6F5AA293C8FCA2 6E5FA24B157F020094C8FCA24B81037C153EA20378151E0338151C58407EBD5D>I<B66C 0103B51280A3000101F0C8EBF8006C6C48ED3FC0725A013F041EC7FC6D7E606D6C15386D 6C1578606D6C5D6E14016D5E6D6D1303606E6C49C8FC6E6C5B170E6E6C131E171C6E6C5B 6E6C137817706E6C13F06F5B6E13016EEB83C05FED7FC7DB3FE7C9FC16EFED1FFE5E150F 6F5AB3A4ED1FFC020FB512FCA3413E7FBD44>89 D<003FB712F8A391C7EA1FF013F801E0 EC3FE00180EC7FC090C8FC003EEDFF80A2003C4A1300007C4A5A12784B5A4B5AA200704A 5AA24B5A4B5AA2C8485A4A90C7FCA24A5A4A5AA24A5AA24A5A4A5AA24A5A4A5AA24990C8 FCA2495A4948141CA2495A495AA2495A495A173C495AA24890C8FC485A1778485A484815 F8A24848140116034848140F4848143FED01FFB8FCA32E3E7BBD38>I<EAFFFCA4EAF000 B3B3B3B3ABEAFFFCA40E5B77C319>I<486C13C00003130101001380481303000EEB0700 48130E0018130C0038131C003013180070133800601330A300E01370481360A400CFEB67 8039FFC07FE001E013F0A3007F133FA2003F131F01C013E0390F0007801C1C73BE2D>I< EAFFFCA4EA003CB3B3B3B3ABEAFFFCA40E5B7FC319>I<EB0FF8EBFFFE3903F01F803907 8007E0000F6D7E9038E001F8D81FF07F6E7EA3157F6C5AEA0380C8FCA4EC1FFF0103B5FC 90381FF87FEB7F803801FC00EA07F8EA0FE0485A485AA248C7FCEE038012FEA315FFA300 7F5BEC03BF3B3F80071F8700261FC00E13CF3A07F03C0FFE3A01FFF807FC3A003FC001F0 292A7DA82D>97 D<EA01FC12FFA3120712031201B1EC03FC91381FFF8091387C07E09039 FDE001F09039FFC000FC4A137E91C77E49158049141F17C0EE0FE0A217F0A2160717F8AA 17F0A2160FA217E0161F17C06D1580EE3F006D5C6E13FE9039F3C001F89039F1E003F090 39E0780FC09026C03FFFC7FCC7EA07F82D407EBE33>I<49B4FC010F13E090383F00F801 7C131E4848131F4848137F0007ECFF80485A5B121FA24848EB7F00151C007F91C7FCA290 C9FC5AAB6C7EA3003FEC01C07F001F140316806C6C13076C6C14000003140E6C6C131E6C 6C137890383F01F090380FFFC0D901FEC7FC222A7DA828>I<ED01FC15FFA31507150315 01B114FF010713E190381F80F990387E003D49131FD803F81307485A4913034848130112 1F123F5B127FA290C7FCA25AAA7E7FA2123FA26C7E000F14037F000714076C6C497E6C6C 497ED8007C017913F890383F01F190380FFFC1903A01FE01FC002D407DBE33>I<EB01FE 90380FFFC090383F03F09038FC01F848486C7E4848137E48487F000F158049131F001F15 C04848130FA2127F16E090C7FCA25AA290B6FCA290C9FCA67EA27F123F16E06C7E150100 0F15C06C6C13036DEB07806C6C1400C66C131E017E5B90381F80F8903807FFE0010090C7 FC232A7EA828>I<EC1FC0EC7FF8903801F83C903807E07E90380FC0FFEB1FC1EB3F8114 01137FEC00FE01FE137C1500AEB6FCA3C648C7FCB3AE487E007F13FFA320407EBF1C>I< 167C903903F801FF903A1FFF078F8090397E0FDE1F9038F803F83803F001A23B07E000FC 0600000F6EC7FC49137E001F147FA8000F147E6D13FE00075C6C6C485AA23901F803E039 03FE0FC026071FFFC8FCEB03F80006CAFC120EA3120FA27F7F6CB512E015FE6C6E7E6C15 E06C810003813A0FC0001FFC48C7EA01FE003E140048157E825A82A46C5D007C153E007E 157E6C5D6C6C495A6C6C495AD803F0EB0FC0D800FE017FC7FC90383FFFFC010313C0293D 7EA82D>I<EA01FC12FFA3120712031201B1EC01FE913807FFC091381E07E091387803F0 9138E001F8D9FDC07F148001FF6D7E91C7FCA25BA25BB3A6486C497EB5D8F87F13FCA32E 3F7DBE33>I<EA01E0EA07F8A2487EA46C5AA2EA01E0C8FCACEA01FC127FA31207120312 01B3AC487EB512F0A3143E7DBD1A>I<1478EB01FEA2EB03FFA4EB01FEA2EB00781400AC 147FEB7FFFA313017F147FB3B3A5123E127F38FF807E14FEA214FCEB81F8EA7F01387C03 F0381E07C0380FFF803801FC00185185BD1C>I<EA01FC12FFA3120712031201B292B512 80A392383FFC0016E0168093C7FC153C5D5D4A5AEC07C04A5A4AC8FC143E147F4A7E13FD 9038FFDFC0EC9FE0140F496C7E01FC7F496C7E1401816E7E81826F7E151F826F7EA28248 6C14FEB539F07FFFE0A32B3F7EBE30>I<EA01FC12FFA3120712031201B3B3B1487EB512 F8A3153F7DBE1A>I<2701F801FE14FF00FF902707FFC00313E0913B1E07E00F03F0913B 7803F03C01F80007903BE001F87000FC2603F9C06D487F000101805C01FBD900FF147F91 C75B13FF4992C7FCA2495CB3A6486C496CECFF80B5D8F87FD9FC3F13FEA347287DA74C> I<3901F801FE00FF903807FFC091381E07E091387803F000079038E001F82603F9C07F00 01138001FB6D7E91C7FC13FF5BA25BB3A6486C497EB5D8F87F13FCA32E287DA733>I<14 FF010713E090381F81F890387E007E01F8131F4848EB0F804848EB07C04848EB03E0000F 15F04848EB01F8A2003F15FCA248C812FEA44815FFA96C15FEA36C6CEB01FCA3001F15F8 6C6CEB03F0A26C6CEB07E06C6CEB0FC06C6CEB1F80D8007EEB7E0090383F81FC90380FFF F0010090C7FC282A7EA82D>I<3901FC03FC00FF90381FFF8091387C0FE09039FDE003F0 3A03FFC001FC6C496C7E91C7127F49EC3F805BEE1FC017E0A2EE0FF0A3EE07F8AAEE0FF0 A4EE1FE0A2EE3FC06D1580EE7F007F6E13FE9138C001F89039FDE007F09039FC780FC0DA 3FFFC7FCEC07F891C9FCAD487EB512F8A32D3A7EA733>I<02FF131C0107EBC03C90381F 80F090397F00387C01FC131CD803F8130E4848EB0FFC150748481303121F485A1501485A A448C7FCAA6C7EA36C7EA2001F14036C7E15076C6C130F6C7E6C6C133DD8007E13799038 3F81F190380FFFC1903801FE0190C7FCAD4B7E92B512F8A32D3A7DA730>I<3901F807E0 00FFEB1FF8EC787CECE1FE3807F9C100031381EA01FB1401EC00FC01FF1330491300A35B B3A5487EB512FEA31F287EA724>I<90383FC0603901FFF8E03807C03F381F000F003E13 07003C1303127C0078130112F81400A27E7E7E6D1300EA7FF8EBFFC06C13F86C13FE6C7F 6C1480000114C0D8003F13E0010313F0EB001FEC0FF800E01303A214017E1400A27E15F0 7E14016C14E06CEB03C0903880078039F3E01F0038E0FFFC38C01FE01D2A7DA824>I<13 1CA6133CA4137CA213FCA2120112031207001FB512C0B6FCA2D801FCC7FCB3A215E0A912 009038FE01C0A2EB7F03013F138090381F8700EB07FEEB01F81B397EB723>I<D801FC14 FE00FF147FA3000714030003140100011400B3A51501A31503120015076DEB06FF017E01 0E13806D4913FC90381FC078903807FFE00100903880FE002E297DA733>I<B539E00FFF E0A32707FE000313006C48EB00FC5E00015D7F00005DA26D13016D5CA26D6C485AA2ECC0 07011F91C7FCA290380FE00EA2ECF01E0107131CA26D6C5AA2ECFC7801011370A2ECFEF0 01005BA2EC7FC0A36E5AA26EC8FCA3140E2B287EA630>I<B53BC3FFFE03FFF8A3290FFE 003FE00013C06C486D48EB3F806C4817006D010F141E00016F131C15076D163C00004A6C 1338A2017F5E4B7E151DD93F805DED3DFC1538D91FC04A5AED78FE9238707E03D90FE001 7F5BEDE03F02F0140701070387C7FC9138F1C01F02F9148F010315CE9138FB800F02FF14 DE6D15FCED00076D5DA24A1303027E5CA2027C1301023C5C023813003D287EA642>I<B5 39F01FFFE0A30003D9C00F1300C690388007F8D97F0013E002805BD93FC05B011F49C7FC 90380FE00EECF01E6D6C5A01035B6D6C5A6E5AEB00FF6E5A6E5A81141F814A7E81147BEC F1FC903801E1FEECC0FF01037F49486C7ED90F007F011E6D7E013E130F496D7E01FC8048 6C80000F4A7EB539803FFFF8A32D277FA630>I<B539E00FFFE0A32707FE000313006C48 EB01FC6F5A00015D7F00005DA2017F495AA2EC8003013F5CA26D6C48C7FCA26E5A010F13 0EA26D6C5AA2ECF83C01031338A26D6C5AA2ECFEF001005BA2EC7FC0A36E5AA36EC8FCA2 140EA2141E141C143C1438A2147800181370127EB45BA2495AA248485AD87E07C9FCEA78 0EEA3C3CEA1FF8EA07E02B3A7EA630>I<001FB61280A2EBE0000180140049485A001E49 5A121C4A5A003C495A141F00385C4A5A147F5D4AC7FCC6485AA2495A495A130F5C495A90 393FC00380A2EB7F80EBFF005A5B484813071207491400485A48485BA248485B4848137F 00FF495A90B6FCA221277EA628>I<B812F0A22C0280982D>I<001C130E007FEB3F8039FF 807FC0A5397F003F80001CEB0E001A0977BD2D>127 D E /FC 44 122 df<EA0FC0EA1FE0EA3FF0EA7FF8EAFFFCA313FEA3127F123F121FEA0FDEEA001EA2 133E133CA2137C1378A213F8EA01F0A2EA03E0EA07C0EA0F80121FEA3F00121E120C0F20 79BE1D>39 D<EC0780140F141FEC3E0014FE495A495A5C495A130F495A495AA249C7FC5B 5B1201485AA212075BA2120F5B121FA3485AA4127F5BA512FFB0127FA57F123FA46C7EA3 120F7F1207A27F1203A26C7E12007F7F6D7EA26D7E6D7E13076D7E806D7E6D7E143EEC1F 80140F1407195A77C329>I<127012F8127C7EEA3F806C7E6C7E12076C7E7F6C7E6C7EA2 137F80133F806D7EA280130FA280130780A36D7EA4807FA51580B01500A55B5CA4495AA3 5C130F5CA2131F5CA2495A5C137F91C7FC13FEA2485A485A5B485A120F485A485A003EC8 FC5A5A1270195A7AC329>I<EA0FC0EA1FE0EA3FF0EA7FF8EAFFFCA6EA7FF8EA3FF0EA1F E0EA0FC00E0E798D1D>46 D<140F143F5C495A130F48B5FCB6FCA313F7EAFE071200B3B3 A8B712F0A5243C78BB34>49 D<903803FF80013F13F890B512FE00036E7E4881260FF80F 7F261FC0037F4848C67F486C6D7E6D6D7E487E6D6D7EA26F1380A46C5A6C5A6C5A0007C7 FCC8FC4B1300A25E153F5E4B5AA24B5A5E4A5B4A5B4A48C7FC5D4A5AEC1FE04A5A4A5A91 39FF000F80EB01FC495A4948EB1F00495AEB1F8049C7FC017E5C5B48B7FC485D5A5A5A5A 5AB7FC5EA4293C7BBB34>I<903801FFE0010F13FE013F6D7E90B612E04801817F3A03FC 007FF8D807F06D7E82D80FFC131F6D80121F7FA56C5A5E6C48133FD801F05CC8FC4B5A5E 4B5A4A5B020F5B902607FFFEC7FC15F815FEEDFFC0D9000113F06E6C7E6F7E6F7E6F7E17 80A26F13C0A217E0EA0FC0487E487E487E487EA317C0A25D491580127F49491300D83FC0 495A6C6C495A3A0FFE01FFF86CB65A6C5DC61580013F49C7FC010313E02B3D7CBB34>I< ED01F815031507A2150F151F153FA2157F15FF5C5CA25C5CEC1FBFEC3F3F143E147C14FC EB01F814F0EB03E01307EB0FC0EB1F801400133E137E5B485A5B485A1207485A5B48C7FC 5A127E5AB812F8A5C8387FF800AA49B612F8A52D3C7DBB34>I<00071538D80FE0EB01F8 01FE133F90B6FC5E5E5E5E93C7FC5D15F85D15C04AC8FC0180C9FCA9ECFFC0018713FC01 9F13FF90B67E020113E09039F8007FF0496D7E01C06D7E5B6CC77FC8120F82A31780A212 07EA1FC0487E487E12FF7FA21700A25B4B5A6C5A01805C6CC7123F6D495AD81FE0495A26 0FFC075B6CB65A6C92C7FCC614FC013F13F0010790C8FC293D7BBB34>I<EC07FF023F13 C049B512F001078049EB03FC90383FF80090397FE001FE9038FFC0034849487E48495AA2 485A120FA2485A6F5A003F6E5A6F5A92C8FC485AA21402EC3FFE00FF496C7E01F9B512E0 01FB809138E03FF89039FF800FFC4A6C7E825B6F13804915C0A317E05BA4127FA5123FA2 6D15C0121FA2000F4A13806D150012076C6C495A6C6D485A6C9038E07FF86DB55A6D5C6D 1480010749C7FC010013F02B3D7CBB34>I<121F7F13F890B712F0A45A17E017C0178017 005E5E5A007EC7EA01F84B5A007C4A5A4B5A4B5A93C7FC485C157E5DC7485A4A5AA24A5A 140F5D141F143F5D147FA214FF92C8FC5BA25BA3495AA3130FA5131FAA6D5A6D5A6D5A2C 3F7ABD34>I<ECFFF0010713FE011F6D7E017F14E09039FFC07FF03A01FE001FF848486D 7E48486D7E1503485A8281121FA27F7F7F6D5B02C05B14F06C6D485A9138FE0FF89138FF 9FF06CECFFE06C5D5E6C92C7FC6C816D14E0011F80498090B67E48812607FE3F7F48486C 1480381FF807D9F00114C048486C7E007F8049010F13E0150348487F81167FA2163FA36D 15C0127FEE7F807F6C6CECFF006C6C5B01FEEB07FE3A0FFFC03FFC6C90B55A000115E06C 6C5C011F49C7FC010113F02B3D7CBB34>I<903801FFE0010F13FC013F13FF90B612C048 01E07F489038003FF048486D7E000F6E7E485A6F7E123F48488081178012FFA217C0A517 E0A4007F5CA4003F5C6C7E5D6C7E00075C3903FF80FB6C13FF6C6C13F36D13C3010F0183 13C090380008031400A24B1380EA03F0487E486C1500487E4B5AA25E151F4B5A495C6C48 EBFFE049485B2607FC0F5B6CB6C7FC6C14FC6C14F06D13C0D90FFEC8FC2B3D7CBB34>I< EA0FC0EA1FE0EA3FF0EA7FF8EAFFFCA6EA7FF8EA3FF0EA1FE0EA0FC0C7FCACEA0FC0EA1F E0EA3FF0EA7FF8EAFFFCA6EA7FF8EA3FF0EA1FE0EA0FC00E2879A71D>I<16FCA24B7EA2 4B7EA34B7FA24B7FA34B7FA24B7FA34B7F157C03FC7FEDF87FA2020180EDF03F0203804B 7E02078115C082020F814B7E021F811500824A81023E7F027E81027C7FA202FC814A147F 49B77EA34982A2D907E0C7001F7F4A80010F835C83011F8391C87E4983133E83017E8301 7C81B500FC91B612FCA5463F7CBE4F>65 D<922607FFC0130E92B500FC131E020702FF13 3E023FEDC07E91B7EAE1FE01039138803FFB499039F80003FF4901C01300013F90C8127F 4948151FD9FFF8150F48491507485B4A1503481701485B18004890CAFC197E5A5B193E12 7FA349170012FFAC127F7F193EA2123FA27F6C187E197C6C7F19FC6C6D16F86C6D150119 F06C6D15036C6DED07E0D97FFEED0FC06D6CED3F80010F01C0ECFF006D01F8EB03FE6D90 39FF801FFC010091B55A023F15E002071580020002FCC7FC030713C03F407ABE4C>67 D<B812F8EFFF8018F018FC18FF26003FFCC76C13C005077F05017F716C7E727E727E727E 721380A27213C0A27213E0A21AF084A21AF8A41AFCA5197FA319FFA51AF8A41AF0A2601A E0A24E13C0A24E13804E1300604E5A4E5A4D485A050713E0057F5BBA5A4EC7FC18F818C0 05F8C8FC463E7DBD50>I<B76C90B6FCA526003FFEC8D801FCC7FCF007F84E5A4E5AF03F 804EC8FC18FEEF03FC4D5A4D5AEF1FC04D5A4DC9FCEE01FE4C5A4C5AEE0FE04C5A4C5A16 FF4B7F4B7F5D4B7F4B7F037F7F92B5FC6E486C7E9238F83FFF03F0804B7E4B6C7F4B6C7F 0300804A7F707F707F84717E83717F85717F83717F85717F83727E85727F84B7D88007B6 12C0A54A3E7DBD52>75 D<B712E0A526003FFEC9FCB3AD183EA4187E187CA418FCA21701 A2EF03F8A21707170F171F177FEE01FF160FB9FC18F0A4373E7DBD3F>I<ED3FFF0203B5 12F0021F14FE027F6E7E902701FFF80713E00107D9C00013F84990C7EA3FFCD93FFCEC0F FF49486E7F49486E7F48496E7F4A80488448496F7EA24890C96C7E4884A249161F003F84 A34848701380A400FF19C0AD007F19806D5EA3003F1900A26D5E6C60A26C6D4B5AA26C6D 4B5A6C6D4A5BA26C6D4A5B6C6D4A5B6D6C4A5B6DB4023F90C7FC6D01C0EBFFFE0107D9F8 0713F8010190B612E06D5E021F4AC8FC020314F0DA003F90C9FC42407ABE4F>79 D<B812F017FF18C018F018FC26003FFCC77FEF1FFF7113807113C07113E0A27113F0A319 F8A819F0A34D13E019C05F4D1380053F1300EFFFFE91B712F860188005FCC7FC4ACAFCB3 A4B77EA53D3E7DBD47>I<003FB912FCA5903BFE003FFE003FD87FF0EE0FFE01C0160349 160190C71500197E127EA2007C183EA400FC183F48181FA5C81600B3AF010FB712F8A540 3D7CBC49>84 D<903807FFC0013F13F848B6FC48812607FE037F260FF8007F6DEB3FF048 6C806F7EA36F7EA26C5A6C5AEA01E0C8FC153F91B5FC130F137F3901FFFE0F4813E0000F 1380381FFE00485A5B485A12FF5BA4151F7F007F143F6D90387BFF806C6C01FB13FE391F FF07F36CEBFFE100031480C6EC003FD91FF890C7FC2F2B7DA933>97 D<13FFB5FCA512077EAFEDFFE0020713FC021FEBFF80027F80DAFF8113F09139FC003FF8 02F06D7E4A6D7E4A13074A80701380A218C082A318E0AA18C0A25E1880A218005E6E5C6E 495A6E495A02FCEB7FF0903AFCFF01FFE0496CB55AD9F01F91C7FCD9E00713FCC7000113 C033407DBE3A>I<EC7FF00107B5FC011F14C0017F14E09039FFF01FF0489038800FF848 EB001F4848EB3FFC120F485AA2485AA2007FEC1FF849EB0FF0ED03C000FF91C7FCAB127F 7FA3003F153E7F001F157E6C6C147C6C6C14FC91388001F86C9038C003F0C69038F81FE0 6DB512C0011F14800107EBFE009038007FF0272B7DA92E>I<EE07F8ED07FFA5ED003F16 1FAFEC7FF0903807FFFE011FEBFF9F017F14DF9039FFF01FFF48EBC00348EB00014848EB 007F485A001F153F5B123FA2127F5BA212FFAA127FA37F123FA26C6C147F120F6D14FF6C 6C01037F6C6D48EBFFE06CEBF03F6C6CB512BF6D143F010713FC010001E0EBE00033407D BE3A>I<ECFFF0010713FE011F6D7E017F809039FFE07FE0489038801FF048496C7E4848 6D7E48486D7E121F491301003F81A2485A6F1380A212FFA290B7FCA401F0C9FCA5127FA2 7F123FEE0F806C7E161F6C6C15006C6C5C6C6D137E6C9038E001FC6C9038F80FF8013FB5 5A6D14C0010391C7FC9038007FF8292B7DA930>I<EC07FE91387FFF8049B512C0010714 E090390FFE3FF0EB1FF090393FE07FF8EB7FC013FF1480A2489038003FF0ED1FE0ED0FC0 92C7FCAAB612E0A500010180C7FCB3AC007FEBFF80A525407DBF20>I<903A03FF8007F0 013F9038F83FF8499038FCFFFC48B712FE48018313F93A07FC007FC34848EB3FE1001FED F1FC4990381FF0F81700003F81A7001F5DA26D133F000F5D6C6C495A3A03FF83FF8091B5 C7FC4814FC01BF5BD80F03138090CAFCA2487EA27F13F06CB6FC16F016FC6C15FF17806C 16C06C16E01207001F16F0393FE000034848EB003F49EC1FF800FF150F90C81207A56C6C EC0FF06D141F003F16E001F0147FD81FFC903801FFC02707FF800F13006C90B55AC615F8 013F14E0010101FCC7FC2F3D7DA834>I<13FFB5FCA512077EAFED1FF8EDFFFE02036D7E 4A80DA0FE07F91381F007F023C805C4A6D7E5CA25CA35CB3A4B5D8FE0FB512E0A5333F7C BE3A>I<EA01F8487E487E487E481380A66C13006C5A6C5A6C5AC8FCA913FFB5FCA51207 7EB3ABB512F8A515407CBF1D>I<13FFB5FCA512077EB092380FFFFEA5DB01FEC7FC4B5A ED07F0ED1FE04B5A4B5A4BC8FCEC03FC4A5A4A5A141FEC7FF84A7EA2818102E77F02C37F 148102007F826F7E6F7E151F6F7E826F7F6F7F816F7FB5D8FC07EBFFC0A5323F7DBE37> 107 D<13FFB5FCA512077EB3B3AFB512FCA5163F7CBE1D>I<01FFD91FF8ECFFC0B590B5 010713F80203DAC01F13FE4A6E487FDA0FE09026F07F077F91261F003FEBF8010007013E DAF9F0806C0178ECFBC04A6DB4486C7FA24A92C7FC4A5CA34A5CB3A4B5D8FE07B5D8F03F EBFF80A551297CA858>I<01FFEB1FF8B5EBFFFE02036D7E4A80DA0FE07F91381F007F00 07013C806C5B4A6D7E5CA25CA35CB3A4B5D8FE0FB512E0A533297CA83A>I<EC7FF09038 03FFFE011FEBFFC0017F14F09039FFE03FF8489038800FFC3A03FE0003FE48486D7E000F 168048486D13C0A2003F16E049147F007F16F0A400FF16F8AA007F16F0A46C6CECFFE0A2 001F16C06C6C491380A26C6C4913003A03FF800FFE6C9038E03FFC6C6CB512F0011F14C0 010791C7FC9038007FF02D2B7DA934>I<01FFEBFFE0B5000713FC021FEBFF80027F80DA FF8113F09139FC007FF8000301F06D7E4A6D7E4A130F4A6D7E1880A27013C0A38218E0AA 4C13C0A318805E18005E6E5C6E495A6E495A02FCEBFFF0DAFF035B92B55A029F91C7FC02 8713FC028113C00280C9FCACB512FEA5333B7DA83A>I<3901FE01FE00FF903807FF804A 13E04A13F0EC3F1F91387C3FF8000713F8000313F0EBFFE0A29138C01FF0ED0FE0913880 07C092C7FCA391C8FCB3A2B6FCA525297DA82B>114 D<90383FFC1E48B512BE000714FE 5A381FF00F383F800148C7FC007E147EA200FE143EA27E7F6D90C7FC13F8EBFFE06C13FF 15C06C14F06C806C806C806C80C61580131F1300020713C014000078147F00F8143F151F 7EA27E16806C143F6D140001E013FF9038F803FE90B55A15F0D8F87F13C026E00FFEC7FC 222B7DA929>I<EB07C0A5130FA4131FA3133F137FA213FF5A1207001FEBFFFEB6FCA400 01EBC000B3151FA96CEBE03EA2017F137EECF8FC90383FFFF86D13F0010713E001001380 203B7EB929>I<D9FF80EB0FF8B5EB0FFFA50007EC007F6C153FB3A5167FA316FF6C5C4B 7F6C903AC007DFFFE09138F01F9F6DB5121F6D13FE010F13F8010101E0EBE000332A7CA8 3A>I<B500FC90383FFFC0A5000101C0903803E0006E1307A26C5E6E130F017F5D6E131F 013F92C7FC6E5B011F143E6E137E010F147C6E13FCA26D5C15816D5C15C36D5C15E76D5C 15FF6E5BA36E90C8FCA26E5AA26E5AA26E5AA26E5AA232287EA737>I<B53CFC3FFFFC03 FFFEA50003D980009039C0000F806E161F6C037F15006E496C5B6C183E836E48157E017F 177C6E486D13FC013F02EF5C83DAFC071401011F02C75CDAFE0FEBFE03010F02835C17FF DAFF1F14076D02015C03BF148F6DD9BE005C18CF03FE14DF6D49017F90C7FC18FF6D496D 5AA36E486D5AA26E486D5AA36E486D5AA26E486D5A47287EA74C>I<B500FC90383FFFC0 A5000101C0903803E0006E1307A26C5E6E130F017F5D6E131F013F92C7FC6E5B011F143E 6E137E010F147C6E13FCA26D5C15816D5C15C36D5C15E76D5C15FF6E5BA36E90C8FCA26E 5AA26E5AA26E5AA26E5AA35D14075D000E130FD83F805B387FC01FD8FFE090C9FC5C143E 147E5CEBC1F8387FC3F0387E0FE06CB45A6C5B6C48CAFCEA03F8323B7EA737>121 D E /FD 62 128 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F90 3B1F8007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8 A32801F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>11 D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E497EA25B A2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E267FFFE0B5 12C0A32A3B7FBA2E>I<146014E0EB01C0EB0380EB0700130E131E5B5BA25B485AA2485A A212075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7EA27F1207 7F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD20>40 D<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2131F7F A21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C1378A2 5BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<121C127FEAFF80A213C0 A3127F121C1200A412011380A2120313005A1206120E5A5A5A12600A19798817>44 D<B512FCA516057F941C>I<121C127FEAFF80A5EA7F00121C0909798817>I<EB01C01303 1307131F13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C3879B72A>49 D<EB0FF0EB7FFE48B57E3903E03FE0390F000FF0000E6D7E486D7E486D7E123000706D7E 126012FCB4EC7F807FA56CC7FC121CC8FCEDFF00A34A5A5D14035D4A5A5D140F4A5A4A5A 92C7FC147C5C495A495A495A495A91C8FC011EEB01805B5B49130348481400485A485A00 0EC75A000FB6FC5A5A485CB6FCA321387CB72A>I<EB07F8EB3FFF4913C03901F80FF039 03C007F848486C7E380E0001000F80381FE0006D7FA56C5A6C5AC85A1401A25D4A5AA24A 5A5DEC0F80027EC7FCEB1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A216C0A215 3F16E0A2121EEA7F80487EA416C049137F007F1580007EC7FC0070ECFF006C495A121E39 0F8003F83907F00FF00001B512C06C6C90C7FCEB0FF8233A7DB72A>I<EC3FC0903801FF F0010713FC90380FE03E90383F800790387E001F49EB3F804848137F485AA2485A000FEC 3F0049131E001F91C7FCA2485AA3127F90C9FCEB01FC903807FF8039FF1E07E090383801 F0496C7E01607F01E0137E497FA249148016C0151FA290C713E0A57EA56C7E16C0A2121F ED3F807F000F15006C6C5B15FE6C6C5B6C6C485A3900FE07F090383FFFC06D90C7FCEB03 FC233A7DB72A>54 D<121C127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00 121C092479A317>58 D<121C127FEAFF80A5EA7F00121CC7FCB2121C127F5A1380A4127F 121D1201A412031300A25A1206A2120E5A121812385A1260093479A317>I<007FB812F8 B912FCA26C17F8CCFCAE007FB812F8B912FCA26C17F836167B9F41>61 D<1538A3157CA315FEA34A7EA34A6C7EA202077FEC063FA2020E7FEC0C1FA2021C7FEC18 0FA202387FEC3007A202707FEC6003A202C07F1501A2D901807F81A249C77F167FA20106 810107B6FCA24981010CC7121FA2496E7EA3496E7EA3496E7EA213E0707E1201486C81D8 0FFC02071380B56C90B512FEA3373C7DBB3E>65 D<B712E016FC16FF0001903980007FC0 6C90C7EA1FE0707E707E707EA2707EA283A75F16035F4C5A4C5A4C5A4C5AEEFF8091B500 FCC7FCA291C7EA7F80EE1FE0EE07F0707E707E83707EA21880177F18C0A7188017FFA24C 13005F16034C5AEE1FF8486DEB7FF0B812C094C7FC16F832397DB83B>I<913A01FF8001 80020FEBE003027F13F8903A01FF807E07903A03FC000F0FD90FF0EB039F4948EB01DFD9 3F80EB00FF49C8127F01FE153F12014848151F4848150FA248481507A2485A1703123F5B 007F1601A35B00FF93C7FCAD127F6DED0180A3123F7F001F160318006C7E5F6C7E17066C 6C150E6C6C5D00001618017F15386D6C5CD91FE05C6D6CEB03C0D903FCEB0F80902701FF 803FC7FC9039007FFFFC020F13F002011380313D7BBA3C>I<B712C016F816FE00019039 8001FF806C90C7EA3FE0EE0FF0EE03F8707E707E177FA2EF3F8018C0171F18E0170F18F0 A3EF07F8A418FCAC18F8A4EF0FF0A218E0A2171F18C0EF3F80A2EF7F0017FE4C5A4C5AEE 0FF0EE3FE0486DEBFF80B8C7FC16F816C036397DB83F>I<B812FCA30001903880000F6C 90C71201EE007E173E171E170EA31706A317078316C0A394C7FCA31501A21503150F91B5 FCA3EC000F15031501A21500A21860A318E093C712C0A41701A3EF0380A21707A2170F17 3F177F486D903807FF00B9FCA333397DB839>I<B812F8A30001903880001F6C90C71201 EE00FC177C173C171CA2170CA4170E1706A2ED0180A21700A41503A21507151F91B5FCA3 EC001F15071503A21501A692C8FCAD4813C0B612C0A32F397DB836>I<DBFF8013C0020F EBF001023F13FC9139FF803F03903A03FC000787D90FF0EB03CF4948EB00EF4948147F49 48143F49C8121F485A4848150F48481507A248481503A2485A1701123F5B007F1600A448 481600AB93B6FCA26C7E9338007FE0EF3FC0A2123F7F121FA26C7EA26C7EA26C7E6C7E6C 6C157F6D7E6D6C14FF6D6C14EFD90FF8EB03C7D903FEEB0783903A00FFC03F0191393FFF FC00020F01F0130002001380383D7CBA41>I<B648B512FEA30001902680000313006C90 C76C5AB3A491B6FCA391C71201B3A6486D497EB648B512FEA337397DB83E>I<B612C0A3 C6EBC0006D5AB3B3AD497EB612C0A31A397EB81E>I<B649B5FCA3000101809038007FF0 6C90C8EA3F80053EC7FC173C17385F5F4C5A4C5A4CC8FC160E5E5E5E5E4B5AED0780030E C9FC5D153E157E15FF5C4A7F4A6C7E140E4A6C7E4A6C7E14704A6C7E4A6C7E14804A6C7E 6F7EA26F7F707EA2707E707EA2707EA2707E707EA2707E707F8484486D497FB6011FEBFF 80A339397DB841>75 D<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770 A317F0A216011603160FEE1FE0486D13FFB8FCA32D397DB834>I<B5933807FFF86E5DA2 0001F0FC002600DFC0ED1BF8A2D9CFE01533A3D9C7F01563A3D9C3F815C3A2D9C1FCEC01 83A3D9C0FEEC0303A2027F1406A36E6C130CA36E6C1318A26E6C1330A36E6C1360A26E6C 13C0A3913901FC0180A3913900FE0300A2ED7F06A3ED3F8CA2ED1FD8A3ED0FF0A3486C6D 5A487ED80FFC6D48497EB500C00203B512F8A2ED018045397DB84C>I<B5913807FFFE80 80C69238007FE06EEC1F80D9DFF0EC0F001706EBCFF8EBC7FCA2EBC3FEEBC1FFA201C07F 6E7EA26E7E6E7E81140F6E7E8114036E7E168080ED7FC016E0153FED1FF0ED0FF8A2ED07 FCED03FEA2ED01FF6F1386A2EE7FC6EE3FE6A2EE1FF6EE0FFEA216071603A216011600A2 177E486C153E487ED80FFC151EB500C0140EA2170637397DB83E>I<EC03FF021F13E091 38FE01FC903901F8007ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E4848 6E7E49157E0003167F4848ED3F80A24848ED1FC0A2001F17E049150F003F17F0A3007F17 F8491507A300FF17FCAC007F17F86D150FA3003F17F0A26C6CED1FE0A36C6CED3FC00007 17806D157F000317006C6C15FEA26C6C4A5A017F4A5A6D6C495A6D6C495AD907E0EB1F80 D903F8017FC7FC903900FE01FC91381FFFE0020390C8FC363D7BBA41>I<B712C016F816 FE000190398001FF806C90C7EA3FC0EE0FE0EE07F0EE03F817FC17FE1601A217FFA717FE A2EE03FCA2EE07F817F0EE0FE0EE3FC0923801FF0091B512FC16F091C9FCB3A5487FB6FC A330397DB839>I<B612FEEDFFE016F8000190388007FE6C90C76C7EEE3FC0707E707E70 7EA2707EA283A65FA24C5AA24C5A4C5AEE3F8004FFC8FCED07FC91B512E05E9138000FF0 ED03F8ED00FE82707E707EA2161F83A583A6F00180A217F8160F1803486D01071400B66D 6C5A04011306933800FE0ECAEA3FFCEF07F0393B7DB83D>82 D<D90FF813C090383FFE01 90B512813903F807E33907E000F74848137F4848133F48C7121F003E140F007E1407A200 7C140312FC1501A36C1400A37E6D14006C7E7F13F86CB47E6C13F8ECFF806C14E06C14F8 6C14FEC680013F1480010714C0EB007F020713E0EC007FED3FF0151F150FED07F8A200C0 1403A21501A37EA216F07E15036C15E06C14076C15C06C140F6DEB1F80D8FBF0EB3F00D8 F0FE13FE39E03FFFF8010F13E0D8C00190C7FC253D7CBA2E>I<003FB812E0A3D9C003EB 001F273E0001FE130348EE01F00078160000701770A300601730A400E01738481718A4C7 1600B3B0913807FF80011FB612E0A335397DB83C>I<B6903807FFFEA300010180903800 7FE06C90C8EA1F80EF0F001706B3B2170E6D150C80171C133F17186D6C14385F6D6C14F0 6D6C5C6D6C495A6D6CEB07806D6C49C7FC91387F807E91381FFFF8020713E09138007F80 373B7DB83E>I<B500FC91387FFF80A30003018091380FFC006C90C8EA07E0715A6C705A 6E1403017F93C7FCA280013F1506A26E140E011F150C80010F5DA28001075DA26E147001 031560A26D6C5CA2806D4A5AA2ED8003027F91C8FCA291383FC006A215E0021F5BA2EDF0 1C020F1318A26E6C5AA215FC02035BA2EDFEE002015BA26E6C5AA36FC9FCA3153EA2151C A3393B7EB83E>I<B5D8FC07B5D8F001B5FCA30007902780001FFEC7EA1FF86C48C7D80F F8EC07E000010307ED03C01B807F6C6F6C1500A26E5F017F6E6C1406A280013F4A6C5CA2 80011F4A6D5BEE067FA26D6C010E6D5BEE0C3FA26D6C011C6D5BEE181FA26D6C6F5BEE30 0FA26D6C6F485AEE6007A26D6C4CC7FC9338C003FCA203805D913B7F818001FE06A203C1 150EDA3FC3C7EAFF0CA203E3151CDA1FE6EC7F98A215F6DA0FFCEC3FF0A302075E4B141F A202035E4B140FA202015E4B1407A2020093C8FC4B80503B7EB855>I<B500FE91383FFF E0A3000301E0913807FE00C649EC03F0017F6F5A606D6C5D6D6C140395C7FC6D6C1406A2 6D6C5C6D6C141C17186D6C143817306D6D5B6E6C13E05F91383FE0015F91381FF003DA0F F890C8FC1606913807FC0E160C913803FE1C913801FF185E6E13B016E0157F6F5AB3A24B 7E023FB512C0A33B397FB83E>89 D<EB1FE0EBFFFC3803E03F3907000F80390F8007E048 6C6C7E13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE00EA03F8EA0FF0EA1F C0123F485A90C7FC160C12FEA31401A26C13036CEB077C903980063E18383FC01E3A0FE0 781FF03A03FFF00FE03A007F8007C026277DA52A>97 D<EA03F012FFA3120F1203B0EC1F E0EC7FF89038F1E03E9039F3801F809039F7000FC001FEEB07E049EB03F049EB01F85BED 00FCA216FEA2167E167FAA167E16FEA216FC15016D14F8ED03F07F01EEEB07E001C6EB0F C09039C7801F00903881E07E903800FFF8C7EA1FC0283B7EB92E>I<EB03FC90381FFF80 90387E03E03901F80070484813F83907E001FC380FC003A2EA1F80123F90380001F848EB 00F01500A2127E12FEAA127E127FA26C14067F001F140E6D130C000F141C6C6C13386C6C 13706C6C13E039007C07C090381FFF00EB07F81F277DA525>I<ED0FC0EC03FFA3EC003F 150FB0EB03F8EB1FFF90387E078F9038F801EF3903F0007F4848133F4848131FA2484813 0F123F90C7FC5AA2127E12FEAA127E127FA27EA26C6C131FA26C6C133F6C6C137F6C6CEB EFF03A01F801CFFF39007C078F90381FFE0FD907F813C0283B7DB92E>I<EB07F8EB1FFF 90387C0FC03901F803E03903F001F0D807E013F8380FC0004848137CA248C7127E153E5A 153F127E12FEA3B7FCA248C8FCA5127EA2127FA26C14037F001F14076C6C13060007140E 6D131CD801F013386C6C137090387E03E090381FFF80903803FC0020277EA525>I<147E 903803FF8090380FC1E0EB1F8790383F0FF0137EA213FCA23901F803C091C7FCADB512FC A3D801F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I<ED03F090390FF00FF890393FFC3C 3C9039F81F707C3901F00FE03903E007C03A07C003E010000FECF000A248486C7EA86C6C 485AA200075C6C6C485A6D485A6D48C7FC38073FFC38060FF0000EC9FCA4120FA213C06C B512C015F86C14FE6CECFF804815C03A0F80007FE048C7EA0FF0003E140348140116F848 1400A56C1401007C15F06CEC03E0003F1407D80F80EB0F80D807E0EB3F003901FC01FC39 007FFFF0010790C7FC26387EA52A>I<EA03F012FFA3120F1203B0EC0FF0EC3FFCECF03F 9039F1C01F809039F3800FC0EBF70013FE496D7EA25BA35BB3A3486C497EB500C1B51280 A3293A7EB92E>I<EA0380EA0FE0487EA56C5AEA0380C8FCAAEA03F012FFA312071203B3 AA487EB512C0A312387EB717>I<EA03F012FFA3120F1203B1913801FFFCA39138007FC0 1600157C15705D4A5A4A5A4AC7FC141E1438147814FC13F1EBF3FEEBF73F01FE7FEBF81F 496C7E8114076E7E6E7E811400157E157F811680ED1FC0486CEB3FF0B500C0B5FCA3283A 7EB92C>107 D<EA03F012FFA3120F1203B3B3AD487EB512C0A3123A7EB917>I<2703F00F F0EB1FE000FFD93FFCEB7FF8913AF03F01E07E903BF1C01F83803F3D0FF3800FC7001F80 2603F70013CE01FE14DC49D907F8EB0FC0A2495CA3495CB3A3486C496CEB1FE0B500C1B5 0083B5FCA340257EA445>I<3903F00FF000FFEB3FFCECF03F9039F1C01F803A0FF3800F C03803F70013FE496D7EA25BA35BB3A3486C497EB500C1B51280A329257EA42E>I<EB03 FE90380FFF8090383E03E09038F800F84848137C48487F48487F4848EB0F80001F15C090 C712074815E0A2007EEC03F0A400FE15F8A9007E15F0A2007F14076C15E0A26C6CEB0FC0 000F15806D131F6C6CEB3F006C6C137EC66C13F890387E03F090381FFFC0D903FEC7FC25 277EA52A>I<3903F01FE000FFEB7FF89038F1E07E9039F3801F803A07F7000FC0D803FE EB07E049EB03F04914F849130116FC150016FEA3167FAA16FEA3ED01FCA26DEB03F816F0 6D13076DEB0FE001F614C09039F7803F009038F1E07E9038F0FFF8EC1FC091C8FCAB487E B512C0A328357EA42E>I<D903F813C090381FFE0190387E07819038FC01C33903F000E3 000714774848133749133F001F141F485A150F48C7FCA312FEAA127FA37E6D131F121F6D 133F120F6C6C137F6C6C13EF3901F801CF39007E078F90381FFE0FEB07F890C7FCABED1F E00203B5FCA328357DA42C>I<3807E01F00FFEB7FC09038E1E3E09038E387F0380FE707 EA03E613EE9038EC03E09038FC0080491300A45BB3A2487EB512F0A31C257EA421>I<EB FF03000313E7380F80FF381E003F487F487F00707F12F0A2807EA27EB490C7FCEA7FE013 FF6C13E06C13F86C7F00037FC67F01071380EB007F141F00C0EB0FC01407A26C1303A37E 15806C13077EEC0F00B4131E38F3C07C38E1FFF038C03F801A277DA521>I<1318A51338 A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215C0A93800FC011580EB7C 03017E13006D5AEB0FFEEB01F81A347FB220>I<D803F0EB07E000FFEB01FFA3000FEB00 1F00031407B3A4150FA3151F12016D133F0000EC77F86D9038E7FF8090383F03C790381F FF87903A03FC07E00029267EA42E>I<B538803FFEA33A0FF8000FF06C48EB07E00003EC 03C06D148000011500A26C6C1306A26D130E017E130CA26D5BA2EC8038011F1330A26D6C 5AA214E001075BA2903803F180A3D901FBC7FCA214FF6D5AA2147CA31438A227257EA32C >I<B53A1FFFE03FFEA3260FF8009038000FF86C48017EEB03E018C00003023EEB0180A2 6C6C013FEB0300A36C6CEC8006156FA2017E9038EFC00C15C7A2D93F016D5A15830281EB F038D91F831430150102C3EBF87090260FC6001360A2D907E66D5A02EC137CA2D903FCEB 7F804A133FA2010192C7FC4A7FA20100141E4A130E0260130C37257EA33C>I<B538807F FFA33A03FE003FF00001EC1F80000092C7FC017E131C6D13186D6C5AECC070010F5B6D6C 5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E8114CF903801C7E090380383F090380703 F8EB0601496C7E011C137E49137F01787F496D7E486C80000FEC3FF0D8FFFE90B51280A3 29247FA32C>I<B538803FFEA33A0FF8000FF06C48EB07C00003EC03806C7E16007F0000 1406A2017E5BA2137F6D5BA26D6C5AA2ECC070010F1360A26D6C5AA214F101035BA2D901 FBC7FCA214FF6D5AA2147CA31438A21430A214701460A25CA2EA7C0100FE5B130391C8FC 1306EAFC0EEA701C6C5AEA1FF0EA0FC027357EA32C>I<003FB512FCA2EB8003D83E0013 F8003CEB07F00038EB0FE012300070EB1FC0EC3F800060137F150014FE495AA2C6485A49 5AA2495A495A495AA290387F000613FEA2485A485A0007140E5B4848130C4848131CA248 48133C48C7127C48EB03FC90B5FCA21F247EA325>I<001C131C007F137F39FF80FF80A5 397F007F00001C131C190978B72A>127 D E /FE 47 128 df<B612C0A61A067F9721> 45 D<14FF010713E090381F81F890383E007C01FC133F4848EB1F8049130F4848EB07C0 4848EB03E0A2000F15F0491301001F15F8A2003F15FCA390C8FC4815FEA54815FFB3A46C 15FEA56D1301003F15FCA3001F15F8A26C6CEB03F0A36C6CEB07E0000315C06D130F6C6C EB1F806C6CEB3F00013E137C90381F81F8903807FFE0010090C7FC28447CC131>48 D<143014F013011303131F13FFB5FC13E713071200B3B3B0497E497E007FB6FCA3204278 C131>I<EB03FE90381FFFC0017F13F03901F80FFC3903C001FE48486C7E000EC7EA7F80 48EC3FC0ED1FE04815F00030140F007015F800601407126CB415FC7F7F1503A46C481307 6CC7FCC8FC16F8A2150F16F0151F16E0A2ED3FC0ED7F8016005D5D4A5A4A5A4A5A5D4A5A 4A5A4AC7FC147C5C5C495A495A495A49C7120C131E5B013814185B5B485A4848143848C8 1230000E1570001FB612F0A25A5AB712E0A326427BC131>I<14FF010713E0011F13F890 387F00FE01FC133FD801F0EB1F804848EB0FC049EB07E00007EC03F048481301A290C713 F8481400A47FA26D130116F07F6C6CEB03E013FC6C6CEB07C09039FF800F806C9038C01F 006CEBF03EECF87839007FFEF090383FFFC07F01077F6D13F8497F90381E7FFFD97C1F13 80496C13C02601E00313E048486C13F000079038007FF84848EB3FFC48C7120F003EEC07 FE150148140016FF167F48153FA2161FA56C151E007C153EA2007E153C003E157C6C15F8 6DEB01F06C6CEB03E06C6CEB07C0D803F8EB1F80C6B4EBFF0090383FFFFC010F13F00101 138028447CC131>56 D<14FF010713E0011F13F890387F80FC9038FC007E48487F4848EB 1F804848EB0FC0000FEC07E0485AED03F0485A16F8007F140190C713FCA25AA216FE1500 A516FFA46C5CA36C7E5D121F7F000F5C6C6C1306150E6C6C5B6C6C5BD8007C5B90383F01 E090390FFF80FE903801FE0090C8FC150116FCA4ED03F8A216F0D80F801307486C14E048 6C130F16C0ED1F80A249EB3F0049137E001EC75A001C495A000F495A3907E01FE06CB512 80C649C7FCEB1FF028447CC131>I<007FBAFCBB1280A26C1900CEFCB0007FBAFCBB1280 A26C190041187BA44C>61 D<16C04B7EA34B7EA34B7EA34B7EA3ED19FEA3ED30FFA20370 7FED607FA203E07FEDC03FA2020180ED801FA2DA03007F160FA20206801607A24A6D7EA3 4A6D7EA34A6D7EA20270810260147FA202E08191B7FCA249820280C7121FA249C87F170F A20106821707A2496F7EA3496F7EA3496F7EA201788313F8486C83D80FFF03037FB500E0 027FEBFFC0A342477DC649>65 D<B8FC17E017FC00019039C00003FF6C6C4801007FEF3F C0717E717E717E84170384170184A760A21703601707604D5A4D5AEF7FC04DC7FCEE03FE EE3FF091B65A17FC0280C7B47EEF1FC0EF0FF0717E717E717E717E1980187F19C0A2183F 19E0A8F07FC0A2198018FF4D1300A24D5AEF0FFC4D5AEF7FE048486C903803FFC0B9C7FC 17FC17C03B447CC345>I<DB0FFE146092B500C013E0020314F0913A0FFC01FC0191393F C0003E02FFC7EA0F83D903FCEC03C74948EC01E74948EC00FF4948157F4948153F494815 1F49C9120F485A491607120348481603A248481601A248481600A2123FA2491760127FA3 1900485AAE6C7EA21960A2123F7FA2001F18E07F000F18C0A26C6C160119806C6C160312 016DEE07006C6C16066D6C150E6D6C5D6D6C5D6D6C15786D6C5D6D6C4A5AD900FFEC0780 DA3FC0011FC7FCDA0FFC13FC0203B512F0020014C0DB0FFEC8FC3B487BC546>I<B912F8 A3000101C0C7127F6C6C48EC07FC17011700187C183C181CA284A31806A4180704067FA3 95C7FCA4160EA2161E163E16FE91B5FCA3EC8000163E161E160EA21606A319C0A3F00180 93C7FCA41803A21900A260A260A2181EA2183E187EEF01FE170748486C147FB95AA33A44 7CC342>69 D<B912F0A3000101C0C7127F6C6C48EC0FF817031701170018781838A2181C A3180CA4180E1806160CA21800A5161CA2163C167CED01FC91B5FCA3EC8001ED007C163C 161CA2160CA793C8FCB08048487EB612F8A337447CC340>I<DB0FFE146092B500C013E0 020314F0913A0FFC01FC0191393FC0003E02FFC7EA0F83D903FCEC03C74948EC01E74948 EC00FF4948157F4948153F4948151F49C9120F485A491607120348481603A248481601A2 48481600A2123FA2491760127FA396C7FC485AAD4CB612C06C7EA293C7387FF000725A00 3F171F7FA2121F7F120FA26C7EA26C7E6C7EA26C7E6D7E6D6C153F6D7E6D6C157F6D6C15 E7D903FEEC01C7D900FFEC0383DA3FE0EB0F01DA0FFCEBFE000203B500F81360020002E0 90C7FCDB0FFEC9FC42487BC54D>I<B6D8C003B6FCA3000101E0C70007138026007F8091 3801FE00B3A991B7FCA30280C71201B3AC2601FFE0913807FF80B6D8C003B6FCA340447C C349>I<B612F0A3C6EBF0006D5A6D5AB3B3B3A4497E497EB612F0A31C447DC323>I<010F B512FEA3D9000313806E130080B3B3AB123F487E487EA44A5A13801300006C495A00705C 6C13076C5C6C495A6CEB1F802603E07FC7FC3800FFFCEB1FE027467BC332>I<B600C049 B512C0A3000101E0C8387FFC006C49ED3FE06D481680063EC7FC183C183860604D5A4D5A 4DC8FC171E17385F5F4C5A4C5A4CC9FC160E5E5E5E5E4B5A4B7E4B7E150F4B7E4B7E1577 EDE3FE913881C1FFEC8381DA87007F028E6D7E149C02B86D7E02F06D7E14C04A6D7E707E A2707E707EA2707F717EA2717E717EA2717E717EA2717E717EA2717F8585496C82486D4A 13FCB600C0011FEBFFE0A343447CC34C>I<B612F8A3000101E0C9FC6C6C5A5CB3B31830 A418701860A518E0A3EF01C0A217031707A2170F173F177FEE01FF48486C011F1380B9FC A334447CC33D>I<B56C933807FFFC6E5EA20001F1FE0026006FE0EE1BF8A3D967F01633 A2D963F81663A3D961FC16C3A3D960FEED0183A2027FED0303A36E6C1406A36E6C140CA2 6E6C1418A36E6C1430A36E6C1460A26E6C14C0A36E6CEB0180A3037FEB0300A292383F80 06A36F6C5AA36F6C5AA26F6C5AA36F6C5AA36F6C5AA26FB45AA370C7FC13F0A2486C143E D80FFFEF0FFEB500F0011C0107B512FCA34E447BC359>I<B56C020FB5FC8080C6040013 F06D6CED1F80D96FF8ED0F00A2D967FC1506EB63FEA2EB61FF01607FA26E7E6E7EA26E7E 6E7EA26E7E6E7EA26E7E6E7FA26F7E6F7EA26F7E6F7EA26F7E6F7EA26F7E6F1380A2EE7F C0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE01FF701386A2EF7FC6EF3FE6A2EF1FF6 EF0FFEA217071703A217011700A201F0167E183E487ED80FFF161EB500F0150EA2180640 447CC349>I<ED1FFC4AB512C0913907F007F091391F8000FC027EC7123FD901F8EC0FC0 49486E7E49486E7E49486E7E49486E7E49C9127E017E8201FE834848707E4848707EA248 48707EA2000F84491603001F84A24848707EA3007F84A24982A300FF1980AD6C6C4C1300 A4003F606D1603A2001F60A26C6C4C5AA26C6C4C5AA20003606D161F6C6C4C5A00006001 7F4CC7FC6E5D013F5E6D6C4A5AD907E0EC03F06D6C4A5AD901FCEC1FC0D9007E4AC8FCDA 1F8013FC913907F007F00201B512C09126001FFCC9FC41487BC54C>I<B712FCEEFFC017 F800019039C0000FFC6C6C48EB01FF9338007F80EF1FE0170FEF07F018F8EF03FCA218FE 1701A218FFA718FEA2170318FCA2EF07F818F0EF0FE0EF1FC0EF7F80933801FE00EE0FFC 91B612F017800280C9FCB3AA3801FFE0B612C0A338447CC342>I<B712E016FF17C00001 9039C0003FF86C6C48EB03FCEE00FF717E717E717E717E717EA284170384A760A2170760 4D5AA24D5A4D5A4DC8FCEE01FEEE07F8EE3FE091B6C9FC16FC913980007F80EE0FE0707E EE03FC707E160083717EA2717EA784A71A6084171FA21AE0716C13C02601FFE002071301 B600C01680943801FC03943900FE0700CBEA3FFEF007F843467CC348>82 D<49B41303010FEBE007013F13F89039FE00FE0FD801F8131FD807E0EB079F49EB03DF48 486DB4FC48C8FC4881003E81127E82127C00FC81A282A37E82A27EA26C6C91C7FC7F7FEA 3FF813FE381FFFE06C13FE6CEBFFE06C14FC6C14FF6C15C0013F14F0010F80010180D900 1F7F14019138001FFF03031380816F13C0167F163F161F17E000C0150FA31607A37EA36C 16C0160F7E17806C151F6C16006C5D6D147ED8FBC05CD8F9F0495AD8F07C495A90393FC0 0FE0D8E00FB51280010149C7FC39C0003FF02B487BC536>I<003FB912F8A3903BF0001F F8001F01806D481303003EC7150048187C0078183CA20070181CA30060180CA5481806A5 C81600B3B3A54B7EED7FFE49B77EA33F447DC346>I<B600C0010FB5FCA3000101E0C813 F026007F80ED1F80F00F00A21806B3B3A7180E6D6C150CA2181C131F6E1518010F163818 306D6C1570606D6C14016D6C5D6D6CEC0780027F4AC7FC6E6C131EDA1FE0137C913907FC 03F00201B55A6E6C1380DB07FCC8FC40467CC349>I<003FB500E0011FB5FCA3C691C700 0713E0D93FFC020190C7FC6D4815FC010F6F5A6D6C15E0A26D6C4A5A6D6C5D4DC8FC6D6D 5B6E6C13065F6E6C131C6E6C13185F6E6C13706E6C13605F913803FE01DA01FF5B4CC9FC 6E1387ED7FC616CCED3FFC6F5A5E6F7E6F7EA26F7E82A203067F150E92380C7FC04B6C7E 15389238301FF04B6C7E15E04B6C7E4A486C7E14034B6C7E02066D7F140E020C6E7E4A6E 7E143802306E7E4A6E7E14E04A6E7E49486E7E130349C86C7E496F7F5B496C8201FF8300 0701E0020313F8B500F8021FEBFFF0A344447EC349>88 D<001FB81280A3912680000113 0001FCC7FC01F04A5A01C04A5A5B90C8485A121E4C5A484B5AA200384B5A4C5AA24B90C7 FC00304A5AA24B5AA24B5AC8485AA24B5A4B5AA24B5A5C93C8FC4A5AA24A5A4A5AA24A5A 4A5AA24A5A14FF5D4990C9FCEF0180495A495AA2495A494814031800495AA2495A495A5F 4890C8FC485A5F485A48485D5F48485D17FE484814034848140F16FFB8FCA331447BC33C >90 D<EB07FC90383FFF809038F80FE03903C003F048C66C7E000E6D7ED80FC0137E486C 137F6D6D7EA36F7EA26C5AEA0380C8FCA4EC0FFF49B5FC90380FFE1FEB3FC0EBFF00EA03 FC485A485A485A485A127F5B176048C7FCA3153FA36D137F007F14EF6D9038C7E0C0003F 13013A1FE00783F13B07F81E03FF802701FFFC0113003A001FE0007C2B2E7CAC31>97 D<EA01FC12FFA3120712031201B3EC03FC91380FFF8091383C07E091387001F89039FDE0 007E02807F01FFEC1F8091C713C049EC0FE049140717F0A2EE03F8A217FCA2160117FEAB 17FC1603A217F8A2EE07F0A26DEC0FE017C06D141F01FBEC3F80D9F380EB7E00D9E1C05B 9039E0F001F89039C03C07E09039801FFF80C7D803FCC7FC2F467DC436>I<EC7F809038 03FFF090380FC07C90383F000F01FCEB03804848EB01C00003140F4848EB1FE049133F12 0F485AA2485AED1FC0007FEC070092C7FCA290C9FC5AAB7E7FA2123F16307F001F15706C 6C146016E06C6C14C06C6C13010001EC03806C6CEB0700013F131E90381FC078903807FF F001001380242E7DAC2B>I<EB01FE903807FFC090381F03F090387E00FC49137E48487F 485A4848EB1F80000F15C049130F121F484814E01507A2007F15F090C7FCA25AA390B6FC A290C9FCA67EA27FA2123F16306C7E1670000F15606D14E06C6C14C0000314016C6CEB03 806C6CEB0700013E131E90381F80F8903803FFE0010090C7FC242E7DAC2B>101 D<EE0F80D901FCEB7FE0903A0FFF81F0F090393F07E3819039FC01FF033A01F800FE0148 48017E13E00007027FC7FC497F000F8149131F001F81A9000F5D6D133F000792C7FC6D5B 0003147E6C6C5B6D485A3903BF07E090380FFF80260701FCC8FC90CAFCA25AA37F6C7E7F 90B512F86C14FF16E06C15F86C6C8048B67E3A07C0000FFF48481300003FC8EA3F80003E 151F48ED0FC0A2481507A56C150F007C1680007E151F003E16006C153E6C6C5CD807E049 5AD801F8EB07E0D8007FEB3F8090261FFFFEC7FC010113E02C427DAC31>103 D<EA01FC12FFA3120712031201B3EC01FE913807FFC091381E07F091383801F802707FEC E000D9FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FEA32F457DC4 36>I<EA01E0EA07F8A2487EA46C5AA2EA01E0C8FCADEA01FC12FFA3120712031201B3B0 487EB512F8A315437DC21C>I<EA01FC12FFA3120712031201B3A292381FFFE0A36F1300 ED07F816E05E5E030EC7FC5D5D5D5D4A5A4A5A4AC8FC5CEC3F804A7E14FF9038FDCFE090 38FF8FF01407496C7E01FC7F14016E7E81816F7E82151F6F7E821507826F7E8282486C49 1380B5D8F81F13F8A32D457DC433>107 D<EA01FC12FFA3120712031201B3B3B3A5487E B512F8A315457DC41C>I<D801FC01FFEC1FE000FF010701E0EBFFFC913B0F03F801E07F 913C3C01FC07803F800007903C7000FE0E001FC0000349D97E1C130F2601FDC0D97F3880 4A143001FFDA3FF06D7E91C75BA2495DA3495DB3A8486C4A6C497EB5D8F81FB50003B512 E0A34B2C7DAB52>I<3901FC01FE00FF903807FFC091381E07F091383801F8000701707F 0003EBE0002601FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FEA3 2F2C7DAB36>I<EC7F80903803FFF090380FC0FC90383E001F496D7E496D7E48486D7E48 486D7E48486D7E000F81A24848147E003F157FA290C87E481680A44816C0AA6C1680A26D 147F003F1600A2001F157E6D14FE000F5D6D130100075D6C6C495A6C6C495A6C6C495A01 3E49C7FC90381FC0FE903807FFF89038007F802A2E7DAC31>I<3901FC03FC00FF90380F FF8091383C07E091387001F83A07FDE000FE00010180137F01FFEC3F8091C7EA1FC04915 E049140F17F0160717F8160317FCA3EE01FEABEE03FCA3EE07F8A217F0160F6D15E0EE1F C06D143F17806EEB7E00D9FDC05B9039FCF003F891383C0FE091381FFF80DA03FCC7FC91 C9FCAE487EB512F8A32F3F7DAB36>I<3903F803F000FFEB1FFCEC3C3EEC707F0007EBE0 FF3803F9C000015B13FBEC007E153C01FF13005BA45BB3A748B4FCB512FEA3202C7DAB26 >114 D<90383FE0183901FFFC383907E01F78390F0003F8001E1301481300007C147812 7800F81438A21518A27EA27E6C6C13006C7E13FC383FFFE06C13FC6C13FF6C14C06C14E0 C614F0011F13F81300EC0FFC140300C0EB01FE1400157E7E153EA27EA36C143C6C147C15 786C14F86CEB01F039F38003E039F1F00F8039E07FFE0038C00FF01F2E7DAC26>I<1306 A5130EA4131EA3133E137EA213FE12011207001FB512F0B6FCA2C648C7FCB3A4150CAA01 7E131C017F1318A26D133890381F8030ECC070903807E0E0903801FFC09038007F001E3E 7EBC26>I<D801FC147F00FFEC3FFFA300071401000380000181B3A85EA35DA212006D5B 017E9038077F80017F010E13C06D011C13FE90380FC078903803FFF09026007F8013002F 2D7DAB36>I<B9FCA23002809B31>123 D<001EEB0780007FEB0FE039FF801FF0EBC03FA4 EB801F397F000FE0001EEB07801C0A76C231>127 D E /FF 20 119 df<1738177CA217FC17F8A2160117F0A2160317E0A2160717C0A2160F1780161F1700A2 5E163EA2167E167CA216FC5EA215015E15035EA215075EA2150F5EA2151F93C7FCA25D15 3E157E157CA215FC5DA214015DA214035DA214075D140F5DA2141F92C8FCA25C143EA214 7E147CA214FC5CA213015C13035CA213075CA2130F5CA2131F91C9FCA25B133E137E137C A213FC5BA212015BA212035BA212075B120F5BA2121F90CAFCA25A123EA2127E127CA212 FC5AA212702E787AD93B>47 D<007FBB12F8BC12FCA36C1AF8CFFCB3007FBB12F8BC12FC A36C1AF84E1D7AAB5B>61 D<EE03804C7EA34C7EA34C7EA34C7EA34C7EA24C7E16E7A203 017F16C3A20303801681A2DB07017F82A2030E80177FA24B80173FA24B6D7EA203788003 70130FA203F0804B1307A20201814B7FA24A488183A24AC78083A2020E82187FA24A6F7E 021FB7FC4A82A30278C8EA1FFC0270150FA202F0824A1507A249488284A249488384A249 CA7FA24984010E177FA2011E84193F133E017F8448486C4C7E000F01E04B487EB500FE03 7FEBFFFEA44F557CD458>65 D<B812FEEFFFC018F818FE26007FF8C73807FF806D480201 7F011F6F6C7E727E727E727E727EA2727EA2721380A21AC0A384A360A21A80A2601A00A2 4E5A180F614E5A4E5AF0FFE04D1380050790C7FCEF7FFC91B712E08418FE02F0C73801FF 809438007FE0F01FF8727EF003FE857213807213C0F17FE0A2F13FF0A21AF8191FA21AFC A81AF8193FA21AF0197FF1FFE0A24E13C04E1380604E1300F03FFC013FEEFFF8496C0207 5BBA12C096C7FC18FC18C046527AD153>I<B812FEEFFFE018FC18FF26007FFCC7000F13 C06D4802017F011F9238003FF8F00FFC727EF001FF727F737E737E737E190F86737EA273 7E737EA21B8085A21BC01A7F1BE0A4F23FF0A51BF8AE1BF0A4F27FE0A41BC01AFF1B80A2 4F1300A24F5AA24F5AA24F5A4F5A4F5A4F5A4F5A4E90C7FC4E5AF00FFCF03FF8013FEEFF E0496C020F5BBAC8FC18FC18E04DC9FC4D527BD159>68 D<BA12FCA426007FFCC712016D 489138001FFE011F160318011800197E193EA2191EA285A385A6F10380A2171CA296C7FC A5173CA3177C17FC1601160F91B6FCA49138F8000F16011600177C173CA3171CA794C9FC B3497E49B4FCB712E0A441527BD14C>70 D<EE7FF80307B57E033F14F09239FFC00FFC91 3A03FE0001FFDA0FF89038007FC0DA3FE0EC1FF04A486E7E4AC8EA03FC49486F7E49486F 7E4948707E4948707E4948707E013F844948707E4948707EA24890CA6C7E488549830007 1A804983000F1AC0A24848F07FE0A3003F1AF049183FA2007F1AF8A449181F00FF1AFCAE 007F1AF8A26D183FA3003F1AF0A36C6CF07FE0A36C6CF0FFC0A200071A806D5F00031A00 6DDA0FC05B6CDB3FF85C6C6DD9FFFC495A923801F01ED97FC0496C495A903D3FE003C003 801FF0011F028001C05BDAF0070101133FD90FF890C76C485AD907FC4C5AD903FE03F190 C7FCD900FFED73FC91267F8780EB77F8DA3FE3EC7FF091260FFBC014C0912803FFE001FF C8FC02009038F00FFC033FB51506030714BC9239007FF81E93C7FC061F140EA285060F14 1E73133C851B7C9638F801FC953807FC0796B512F8A2841BF0A27214E07214C01B80073F 1300F11FFCF107F04F6B7AD35B>81 D<B812C017FEEFFFC018F026007FFCC713FC6D48EC 0FFF011F03017F9438007FE0727E727E727E180785727EA28684A286A762A26097C7FCA2 4E5A614E5A4E5A4E5AF0FFC04D90C8FCEF0FFEEFFFF891B712C04DC9FC839126F8000113 C09338003FF0EF0FFC717EEF01FF85717F727EA2727EA2727EA985A81B0785180FA21B0F 0607140E496C82496C6F141EB76EEB801C72EBC03C96387FE0F896381FFFF0CC000713E0 9638007F8050547BD156>I<DA3FF0130349B55B010714C0011FECF00F903A7FE00FF81F 49C712FED801FCEC3F3F4848EC1FBF48486EB4FC48481403485A4980003F8190C97E5A83 127E8312FEA283A37E837FA27F007F93C7FC7F7FEA3FFC7F6C6C7E14F86CEBFF806C14F8 EDFF806C15F06C15FE6C6C806D15C0010F81010315F8D9007F80140F020080030F7F0300 1480161F040713C0160182EF7FE0A2173FEF1FF0A200E0160FA31707A37EA318E07E170F 7E18C06C161F6C17806D153F6D16006D157E6D15FED8FCFC4A5A017F4A5A26F83FC0EB0F F0D90FFEEB7FC0D8F003B65A48C64AC7FC023F13F848010113C034567AD341>I<ECFFC0 010F13F8013F13FE9039FF00FF80D801F0EB3FE0D803C0EB0FF0486C6D7E01F86D7E000F 816D13016F7EA3707E6C5AEA01E0C9FCA6ED3FFF020FB5FC9138FFFC7F01071300EB1FF0 EB7FC04848C7FCEA03FC485A485A485A123F5B485A187012FF90C8FCA216FFA35D6D14BF 007F14036DEB073F6C6C90390F1FC0E06C6C131E6C6C90393C0FE1C02707FE01F013FF00 01B5486C13806C6C90398003FE00D907FCC712F834367BB43B>97 D<EC0FFE91387FFFE049B512F8903907F801FE90391FE0001FD93F80EB078049C7EA0FC0 01FE143F484815E00003157F485A485AA2485AEE3FC0003FED0F004991C7FCA2127FA35B 12FFAB127F7FA3123F6D1570121F6D15F0000F16E06D140112076C6CEC03C06D15806C6C 14076C6DEB0F00D93FC0131E6D6C137C903907FC03F06DB55AD9007F1380DA0FF8C7FC2C 367CB434>99 D<EC0FF891B5FC010314C090390FF80FF090391FC003FC90397F8001FE49 C77E4848EC7F804848143F49EC1FC0485A000FED0FE05B001F16F01607485AA2007F16F8 A25B160312FF90B7FCA30180C9FCA8127F7FA2123FA26D1538121F17786C6C1570000716 F06D15E06C6C14016C6CEC03C06C6C15806D6C130F6D6CEB1F00D90FF0133C903907FE01 F80101B512E06D6C1380DA07FCC7FC2D367DB434>101 D<1378EA01FE487E487FA66C90 C7FC6C5AEA007890C8FCB0EB7F80B5FCA41203C6FC137FB3B3A43801FFE0B61280A41950 7CCF21>105 D<01FFEB07FCB590383FFF8092B512E0913901F00FF8913903C007FC0003 49C66C7EC6010E13016D486D7E5C143002706E7E146014E05CA35CB3AD2601FFE0903801 FFE0B600C0B612C0A43A347CB341>110 D<EC0FFC91387FFF8049B512E0903907F807F8 90391FE001FE90393F80007F017EC7EA1F80496E7E48486E7E00038248486E7EA248486E 7EA248486E7EA2003F82A24848ED7F80A400FF17C0AB007F1780A26D15FFA2003F1700A2 001F5E6D1401000F5E6D140300075E6C6C4A5A6C6C4A5AA2D8007FEC3F806D6C49C7FC90 391FE001FE903907F807F86DB55AD9007F1380DA0FFCC8FC32367CB43B>I<01FFEB1F80 B5EB7FF0913801FFF8913803E1FC91380783FE0003EB0F07C6131EEB7F1C143814309138 7003FC91386000F0160014E05CA45CB3AA8048487EB612F0A427347DB32E>114 D<D907FE13C090387FFF8148B512E33907F803FF390FC0007F4848133F48C7121F003E14 0F007E1407127C00FC1403A315017EA27E7F6C6C90C7FC13F013FF6C13F86CEBFF806C14 E06C14F86C14FEC680013F1480010714C0D9003F13E014039138007FF0151F00E0140FED 07F8A26C1403A215017EA36C15F0A26C14036C15E015076DEB0FC06DEB1F80D8FDF0EB3F 0039F8FC01FE39F07FFFF8D8E01F13E0D8C00390C7FC25367CB42E>I<EB01C0A71303A4 1307A3130FA2131FA2133F137F13FF5A5A001F90B512E0B7FCA326003FC0C7FCB3A71638 AC6E1378011F1470A26D6C13F016E0903807F801903903FC03C0903901FE07806DB51200 EC3FFCEC07F0254B7EC92E>I<D97F80EC7F80B591B5FCA400031503C61500017F157FB3 AC17FFA35EA3013F5C6EEB077FA2011F020E7F6D6C011C13F06E0178EBFFC0903903FC01 F06DB512E06D6C1380912607FC00EB80003A357CB341>I<B60103B51280A4000301F090 39007FF800C601C0EC3FE0017FED1F8095C7FC133F171E6D7E171C6E143C010F1538A26E 1478010715708001035DA26E130101015D806D4A5AA2ED8007027F91C8FC15C0023F130E A2EDE01E021F131CA26E6C5AA2EDF87802071370A26E6C5AA215FF6E5BA26E5BA36FC9FC A2153EA3151C39347EB23E>I E /FG 4 12 df<EA7FC0EAFFFEEBFFE06C13FCC66CB4FC 010313C09038003FF0EC07FCEC01FE9138007F80ED1FC0ED07F06F7EED00FC167E82707E 707E707E707E1601707E83177C83A2831880170FEF07C0A2170318E0A2170118F0A21700 18F8A21878A4187CA2183CA718183636B28364>8 D<1818183CA7187CA21878A418F8A2 18F01701A218E01703A218C01707A2EF0F80171F1800173EA25F17FC5F4C5A16034C5A4C 5A4C5A4CC7FC167E5EED03F84B5AED1FC0ED7F80DA01FEC8FCEC07FCEC3FF0903803FFC0 017F90C9FC387FFFFCB512E049CAFCEA7FC03636B2B564>I<126012F0A77EA21278A312 7CA2123C123EA2121E121FA27E7FA26C7E7F12036C7EA26C7E7F137E133E7F806D7E6D7E 6D7E6D7E6D7E147F6E7EEC0FC0EC07F0EC03FCEC00FFED7FC0ED1FF8ED07FF030113FC92 39007FFFF8040F13FC160193380007F8363680B564>I<EF07F8933801FFFC160F047F13 F8923901FFFC00030790C7FCED1FF8ED7FC04BC8FCEC03FCEC07F0EC0FC0EC3F804AC9FC 14FC495A495A495A495A495A91CAFC133E137E5B5B485AA2485A12075B485AA290CBFC5A A2121E123EA2123C127CA21278A312F8A25AA712603636808364>I E /FH 9 85 df<1638167CA316FEA34B7EA24B7FA34B7F167FA2030E7F163FA24B6C7EA2 033C7FED380FA203787FED7007A203E07F1603A24A486C7EA20203814B7EA202078192C7 127FA2020E81173FA24A6E7EA2023C810238140FA2027FB67EA302E0C7EA07FE17030101 824A80A20103834A80A249C97F187FA2010E707EA2011E83181F133E85137E48B4830007 01C0ED7FFFB500FC021FB512FEA347477CC651>65 D<BAFCA3C601F0C7121F6D48020113 80013FED007F183F181F180F1807A2F003C0A31801A419E01800EE01C0A21900A41603A3 1607160F167F91B6FCA39138E0007F160F16071603A31601A693C9FCB0497E497EB7FCA3 3B447BC347>70 D<B612F8A3C6EBF8006D5A6D5AB3B3B3A4497E497EB612F8A31D447BC3 28>73 D<B600F891B512FCA3C601F8C8001F13C06D4892380FFE006D48ED07F819E04E5A 96C7FC181E6060604D5AEF07C04D5A4DC8FC173E5F5F4C5AEE03C04C5A4CC9FC161E5E16 7CED01FC4B7E4B7E4B7F5D033E7F4B7FEDF07F9139E1E03FF0DAE3C07F9138E7801F9139 EF000FFC02FE6D7E4A804A7F4A6D7F4A8182717E717E84171F717E841707717E717F8583 727E85183F727E85727E85496C4B1380496C4B13E0B600F80103B6FCA348447BC354>75 D<B500F094381FFFFEA26E5FC6F2FE00017F61D93BFCEF77F8A2D939FE17E7A3D938FFEE 01C7A26E6CED0387A36E6CED0707A26E6C150EA26E6C151CA36E6C1538A26E6C1570A36E 6C15E0A26E6CEC01C0A36F6CEB0380A26F6CEB0700A26F6C130EA36F6C5BA26F6C5BA36F 6C5BA26F6C5BA36F6C485AA293387F8380A2DC3FC7C7FCA3EE1FEEA2EE0FFCA3017C6E5A A248B46E484A7E000701C04D7EB500FE041FB512FE705AA257447BC363>77 D<B500F00203B512F8A280C66C6CDA001F1300013FEE07FC6EED01F080013B705A01397F 01387FA26E7E6E7E81141F6E7E8114076E7E6E7FA26E7F6F7E82153F6F7E82150F6F7E6F 7EA26F7F6F7F83167F707E83161F707E831607707E701380A27013C0EF7FE018F0173FEF 1FF818FC170FEF07FEEF03FFA28383A2187F183FA2181F017C160F180748B4FC000701C0 1503B500FE1501A2180045447BC351>I<ED0FFF92B512F0913903FC03FC913A1FC0003F 804AC7EA0FC002FEEC07F0D901F8EC01F8D907F0EC00FE4948157F49486F7E49486F7E49 C96C7E49834916070001844848707E4848707EA2000F844982001F1980A249177F003F19 C0A3007F19E049173FA300FF19F0AC007F19E06D177FA4003F19C06D17FFA2001F1980A2 6C6C4C1300A26C6C4C5AA20003606C6C4C5A6D160F6C606D6C4B5A6D6C4B5A6D6C4B5A01 0F94C7FCD907F8EC01FE6D6C4A5AD900FEEC07F0DA7F80EB1FE0DA1FE0EB7F80912703FC 03FCC8FC0200B512F0030F90C9FC444879C554>I<B712FCEEFFE017FCC69039F00007FF 6D48010013C0013FED3FE0EF0FF8717E717E717E858385187FA285A661A218FF614D90C7 FC604D5A4D5A4D5AEF3FC005FFC8FCEE0FFC91B612E05F9139E0000FF0EE03FCEE00FF71 7EEF3FE0171F84717EA2717EA784A71A078483A21A0F496C6EEB800E496C80B600F89138 7FC01C063F133C95380FF078CB3803FFE09538007F8048467BC350>82 D<003FBAFCA3903BF8000FFE000701C06D48130090C7163F007EF01F80007C180FA20078 1807A300701803A548F001C0A5C893C7FCB3B3A44B7E92383FFF8049B712F0A342437BC2 4E>84 D E /FI 13 108 df<EA7FF0B512C014FCECFF8015F015FE6C6E7ED8001F14E0D9 007F13F8020713FE02006D7E031F7F030713F003017F6F6C7EEE1FFF04077F707F04007F 717E717EEF0FFC717E717E717F83727E727E727E180F85727E1803727E8584737EA2737E A2737EA2737EA2190786A2190386A2190186A21900A286A286A41B80A21A3FA9F21F0049 49C28685>12 D<1A041A1FF23F80A91A7FA21B00A462A262A21901A2621903A2621907A2 62190FA24F5AA24F5AA24F5AA24FC7FC60614E5A18074E5A61181F4E5A4E5A4E5A5F4D90 C8FC4D5A4D5AEF3FF84D5A4D5A04035B4C5B041F90C9FCEE7FFC4B485A03075B031F13C0 92B55A020749CAFC027F13F8011FB512E0007FB61280B648CBFC15F0158002FCCCFC14C0 D87FF0CDFC494AC2C985>I<1210127C12FEA97EA27EA47FA2123FA27FA2121F7FA2120F 7FA26C7EA26C7EA26C7EA26C7EA26D7E80133F6D7E806D7E1307806D7E6D7E6D7F816E7E 6E7E6E7EEC0FFE6E7E6E7F6E7F6E13F0ED7FFCED1FFE6F6C7E6F13E06F13F8030013FE93 383FFFC07013F80407EBFF80040114FE706C90B5FC051F1580050315C0EF007F180F0600 1480070313004A4A80C985>I<F103FF96B51280060F14C0187F0503B6FC051F1580057F 15004CB548C7FC04071480041F01F8C8FC4C13C0DCFFFEC9FC030313F84B13E04B13804B 48CAFCED7FFCEDFFF04A13C04A5B4A90CBFC4A5AEC1FF84A5A4A5A4A5A5D4990CCFC495A 495A5C130F495A5C495A137F5C49CDFCA2485AA2485AA2485AA2485AA25B121FA25B123F A25BA2127FA290CEFCA45AA25AA9127C4A49808685>I<EA3FF8387FFFF0B6FC15F015FE 6CECFFC06C15F8D8000F14FED9001F6D7E020114E0DA001F13F8030313FE9239007FFF80 041F7F040713F004017F9338007FFEEF1FFF05077F717F050013F0727EF01FFC727E727E 727F06007F737E737E737E737E1907737E737E737F1A7F87747E747E1A0F871A07747E87 1A01747EA2757EA2757EA2757EA2757EA21B0788A21B0388A21B0188A21B0088A288A31D 80A21C3FA41DC0A21C1FAAF40F801C075A5AD386A6>I<F407801C0FF41FC0AA1C3FA21D 80A41C7FA21D00A364A2641B01A2641B03A2641B07A2641B0FA2515AA2515AA2515AA251 C7FCA2505A1A0363505A1A0F631A1F505A505A631AFF4F90C8FC4F5A4F5A190F4F5A4F5A 4F5A4F5A06035B4E90C9FC4E5A4E5AF07FF84E5A050313C04D5B051F90CAFCEF7FFE9338 01FFF804075B041F13C0047F5B922603FFFECBFC031F13F84AB512E0021F1480010FB548 CCFC003FB612F84815C0B648CDFC15F092CEFC6C13F0D83FF8CFFC5A5AD3D9A6>I<EA3F FE387FFFFEB612F015FF16F06C15FF6C16E0D8000315FCD9000314FFDA001F14E0030114 F8DB001F13FE04016D7EDC003F13E0050F13F8050113FE716C6C7E061F7F060713F00601 13FC726C7E96381FFF8007077F737F070013F8F23FFC747EF207FF7413C0747F746C7E75 7E757E757EF303FF757F757F767E767E767E767E1C07767E767E767F777EA2777E777E77 7E1D078A777E1D01777E8B1E7F787E8B1E1F787EA2787EA2787EA2787EA2787EA2797EA2 797EA21F1F8CA2797EA21F078CA21F038CA21F018CA21F00A28CA28CA22180A2203FA421 C0A2201FA621E0A2200FABF807C020037B7BF486E8>24 D<F803C02007F80FE0AB201FA2 21C0A6203FA22180A4207FA22100A268A268A21F01A2681F03A2681F07A2681F0FA2555A A2681F3FA2555AA255C7FCA2545AA2545AA2545AA2545AA2545A1E3F67545A1EFF9CC8FC 535A1D03535A661D0F535A535A535AA2535A5290C9FC525A525A1C0F525A525A525A525A 515B5190CAFCF30FFE515A515A515A50485A505B5090CBFCF21FFE505AF2FFF8070313E0 4F5B071F5BDF7FFECCFC4E485A060713F0061F13C0067F5B4D4848CDFC050F13F8053F13 E04CB51280041F49CEFC4BB512F8031F14E00203B6CFFC0103B612FC003FB712E04893D0 FCB712F093D1FC15F06C49D2FC6C48D3FC7B7BF4FAE8>I[<EA3FFF4813FFB612FCEDFFE0 16FE6CEDFFC06C16F8D8000115FFD9000115E0DA000714FCDB003F13FF040314E0DC007F 13F8050F13FE05016D7EDD003F13E0060F13F8060113FE726C6C7E071F7F070713F00701 13FC736C7E97381FFF8008077F7413F008007FF33FFC75B4FC09077F757F09007F767EF4 3FFCF40FFE767E767F767F767FF53FF0777E777E777E777E777F777F787E1E3F787E787E 787E787EA2787E787F797E1F3F8C797E1F0F797E8C1F03797E8C8B7A7E8D203F7A7EA27A 7EA27A7EA27A7EA27A7EA27A7EA27B7EA27B7EA2211F8EA27B7EA221078EA221038EA221 018EA22100A28EA28EA22380A2223FA323C0A2221FA323E0A2220FA723F0A22207ACFA03 E02201>140 140 261 134 266 28 D[<9E3807FFE00E0FB5FC55B612F01F3F0C03B7FC 0C1F16E053B8FC0B0F03FCC7FC0B3F02F8C8FC52B6C9FC0A0F14E00A3F49CAFC99B512F0 09031480090F01FCCBFC093F13E098B5CCFC080313FC080F13F05013C0087F90CDFC9638 01FFFC4F13F0070F13C04F90CEFC4F5AF1FFF84E13E04E5B060F90CFFC4E5A4E5AF07FF0 4D485A4D5B4D90D0FC4D5A4D5A4D5AEF7FE04D5A4C5B4C90D1FC4C5A4C5A4C5A4C5A5F4C 5A4C5A4B90D2FC4B5A15075E4B5A4B5A4B5A5E157F4B5A93D3FC4A5A14035D4A5A140F5D 4A5A143F5D4A5AA24AD4FCA2495AA2495AA2495AA2495AA2495AA2495AA25C137FA249D5 FCA25B1201A25B1203A25B1207A25BA2120FA25BA2121FA25BA2123FA25BA4127FA290D6 FCA65AA25AAC127C123C>140 140 128 134 266 31 D[<383FFF8048EBFFE0B77E16FC EEFFE06C16FE6CEEFFE0C716FCDA003FECFF80030015F0040714FEDC003FEBFFC0050314 F0DD003F13FE06076D7E060014E0071F13F8070313FE07006D7E081F13E0080713F80801 13FE746C6C7E091F13E009077F090113FC756C7E99381FFF800A0713E00A017F767FF53F FE777E0B0713C00B017F777FF67FFCF61FFE787E0C037F787F7813F0F73FF8797E797E79 7E797F0D007F7A7E7A7E7A7E7A7E7A7E7A7E7A7F7A7F7B7E213F7B7E7B7E7B7E7B7E8E8D 7B7F7C7E7C7E221F8F7C7E7C7E22038F7C7E8E7D7EA17E233F7D7EA17E230F7D7EA27D7E A17E23017D7EA2A16C7EA2A16C7EA2A16C7EA2A16C7EA2A16C7EA2A16C7EA2A16C7EA2A1 6C7EA2A17FA180A2A16D7EA2A1131FA180A2A1130FA180A2A11307A180A2A11303A180A2 A11301A180A2A11300A2A180A2A180A2A11580A2A1143FA2A115C0A2A1141FA3A115E0A2 A1140FA5A115F0A2A11407A7A115F8A2A11403AEA1EC01F0A11400>173 173 294 134 332 36 D[<A190380FFFF0A1001FB5FC110FB612F858B7FC221F57B812F0 211F9EB700F8C7FC0E0703F0C8FC0E3F02F8C9FC55B6CAFC0D0F14F00D3F91CBFC54B512 F00C0714800C1F01FCCCFC0C7F13E053B5CDFC0B0713FC0B1F13E00B7F1380524848CEFC 0A0713F80A1F13E0521380E2FFFECFFC5113F8090713E0511380E13FFED0FC515A973801 FFF0505B080F13805090D1FCF23FFC505A963801FFE04F5B4F90D2FC4F5A4F5AF17FF8F1 FFE04E5B4E5B4E90D3FC4E5AF01FF84E5A4E5A4E5A4D5B4D90D4FC4D5A4D5A4D5A4D5A60 4D5A4D5A4C90D5FC4C5A16075F4C5A4C5A4C5A5F167F4C5A4B90D6FC5E15034B5A5E4B5A 151F5E4B5A157F5E4BD7FCA24A5A14035D4A5AA24A5AA24A5AA24A5AA24A5AA24AD7C6FC A2495AA2495AA2495AA25C130FA2495AA25C133FA2495AA291D7C7FC5BA25B1201A25BA2 1203A25B1207A25BA2120FA25BA3121FA25BA3123FA25BA4127FA290D7C8FCA85AA25AAD 127C123C>173 173 128 134 332 39 D<943803FFF8057FEBFFC00403B612F8041F15FF 93B812E0030317F8030F17FE033F9026FE000F6D7E4B01C0D9007F7F4A4848C8000F13F0 4A01F003017F020F01C09238007FFE4A90CAEA1FFFDA3FFC05077F4A48717FDAFFE00500 7F4949727E4990CCEA1FF84948737E4948737E4A19034948737E4948737F4948747E4A1A 3F01FF884890CE6C7E491B0F4848757EA24848757EA24848757EA24848757EA24988003F 1E80A2491C3F127F1FC090D0121FA4481EE0A2481D0FAB6C1D1FA26C1EC0A46D1C3FA200 3F1E806D1C7FA2001F1E006D64A26C6C515AA26C6C515AA26C6C515AA26C6C515A6D1B1F 6C6D505A017F646E1A7F6D6C505A6D6C4F90C7FC6D6C4F5A6E19076D6C4F5A6D6C4F5A6D 01C0F07FF06D6D4E5ADA7FF805035B6E6C4D5B6EB4051F90C8FC6E01C0EE7FFE020301F0 923801FFF86E01FE030F5B9127007FFFC0027F13C06F01FE010FB55A030F90B748C9FC03 0317F8030017E0041F93CAFC040315F8DC007F14C0050301F8CBFC6B6BB5B564>107 D E end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: a4 %%EndSetup %%Page: 1 1 1 0 bop 25 709 1182 4 v 2371 151 130 7 v 2498 580 7 432 v 2371 583 130 7 v 2368 580 7 432 v 1602 151 a FI(')p 1602 580 7 266 v 13 w($)p 1947 580 V 1771 151 14 7 v 2012 580 7 432 v 30 w(\030)p 2309 280 7 16 v 2309 399 a(\031)p 2015 399 181 7 v 2015 151 V 1256 151 a(')p 1256 580 7 266 v 14 w($)p 1602 580 V 1426 151 14 7 v 2366 131 a(\016\015)2366 -2 y(\017\014)1238 691 y FH(I)61 b(N)g(F)g(O)f(R)h(M)f(A)h(T)f(I)i(K)p 2555 709 1182 4 v 615 2969 4 10 v 615 3021 a FG(\012)p 666 3021 10 4 v 676 3021 2410 4 v 3142 2969 4 10 v 2427 w(\011)p 3085 3021 10 4 v 615 2960 4 1300 v 615 1603 a(\013)p 615 1661 4 10 v 666 1603 10 4 v 676 1603 2410 4 v 2427 w(\010)p 3142 1661 4 10 v 3085 1603 10 4 v 3142 2960 4 1300 v 1279 1830 a FF(F)-10 b(ast)39 b(Recursiv)m(e)f(Division)1104 2322 y FE(Christoph)33 b(Burnik)m(el)64 b(Joac)m(him)32 b(Ziegler)994 2834 y(MPI{I{98{1{022)485 b(Octob)s(er)33 b(1998)618 3210 y(F)8 b(O)g(R)g(S)g(C)g(H)g(U)g(N)g(G)g(S)g(B)g(E)g(R)g (I)g(C)g(H)g(T)161 b(R)8 b(E)g(S)g(E)g(A)g(R)g(C)g(H)32 b(R)8 b(E)g(P)g(O)g(R)g(T)1023 5013 y(M)29 b(A)f(X)h(-)f(P)h(L)f(A)h(N) f(C)h(K)f(-)g(I)h(N)g(S)f(T)h(I)g(T)g(U)f(T)1763 5134 y(F)1852 5109 y(\177)1840 5134 y(U)13 b(R)1424 5254 y(I)28 b(N)g(F)f(O)g(R)h(M)g(A)g(T)g(I)g(K)p 1028 5354 1705 4 v 1028 5523 a FD(Im)g(Stadt)n(w)n(ald)99 b(66123)25 b(Saarbr)r(\177)-44 b(uc)n(k)n(en)97 b(German)n(y)p eop %%Page: 2 2 2 1 bop eop %%Page: 3 3 3 2 bop 50 587 a FC(Author's)35 b(Address)50 800 y FB(Max-Planc)m (k-Institut)61 b(f)s(\177)-48 b(ur)59 b(Informatik)h(Im)g(Stadt)m(w)m (ald)h(D-66123)j(Saarbr)s(\177)-48 b(uc)m(k)m(en)50 913 y(email:)39 b(burnik)m(el,ziegler@mpi-sb.mpg.de)50 4523 y FC(Ac)m(kno)m(wledgemen)m(ts)50 4736 y FB(This)53 b(w)m(ork)j(w)m(as) g(supp)s(orted)e(in)g(part)i(b)m(y)f(the)h(ESPRIT)e(Basic)i(Researc)m (h)h(Ac-)50 4849 y(tions)48 b(Program)h(of)f(the)h(EC)f(under)g(con)m (tract)i(No.)g(7141\(ALCOM)g(I)s(I\))f(and)f(the)50 4962 y(BMFT\(F\177)-45 b(orderungsk)m(ennzeic)m(hen)30 b(ITS)g(9103\).)p eop %%Page: 4 4 4 3 bop 50 587 a FC(Abstract)50 800 y FB(W)-8 b(e)35 b(presen)m(t)e(a)h(new)g(recursiv)m(e)f(metho)s(d)g(for)g(division)e (with)h(remainder)g(of)i(in)m(tegers.)50 913 y(Its)25 b(running)d(time)i(is)g(2)p FA(K)7 b FB(\()p FA(n)p FB(\))i(+)g FA(O)s FB(\()p FA(n)15 b FB(log)j FA(n)p FB(\))24 b(for)h(division)d (of)j(a)g(2)p FA(n)p FB(-digit)f(n)m(um)m(b)s(er)g(b)m(y)h(an)50 1026 y FA(n)p FB(-digit)k(n)m(um)m(b)s(er)g(where)g FA(K)7 b FB(\()p FA(n)p FB(\))31 b(is)e(the)h(Karatsuba)h(m)m(ultiplication)c (time.)40 b(It)31 b(pa)m(ys)f(in)50 1139 y(practice)d(for)h(n)m(um)m(b) s(ers)e(with)g(860)j(bits)d(or)i(more.)39 b(Then)27 b(w)m(e)h(sho)m(w)f (ho)m(w)h(w)m(e)g(can)g(lo)m(w)m(er)50 1252 y(this)d(b)s(ound)f(to)j(3) p FA(=)p FB(2)p FA(K)7 b FB(\()p FA(n)p FB(\))12 b(+)g FA(O)s FB(\()p FA(n)j FB(log)j FA(n)p FB(\))27 b(if)e(w)m(e)i(are)f (not)h(in)m(terested)g(in)e(the)h(remainder.)50 1364 y(As)20 b(an)g(application)f(of)i(division)c(with)i(remainder)g(w)m(e)i (sho)m(w)g(ho)m(w)f(to)h(sp)s(eedup)e(mo)s(dular)50 1477 y(m)m(ultiplication.)35 b(W)-8 b(e)26 b(also)e(giv)m(e)g(practical)g (results)f(of)i(an)f(implemen)m(tation)f(that)h(allo)m(w)50 1590 y(us)31 b(to)h(sa)m(y)g(that)h(w)m(e)f(ha)m(v)m(e)h(the)f(fastest) g(in)m(teger)g(division)d(on)i(a)i(SP)-8 b(AR)m(C)31 b(arc)m(hitecture)50 1703 y(compared)f(to)h(all)e(other)i(in)m(teger)g (pac)m(k)-5 b(ages)32 b(w)m(e)f(kno)m(w)f(of.)50 4523 y FC(Keyw)m(ords)50 4736 y FB(Multiprecision)39 b(Arithmetic,)44 b(In)m(teger)g(Arithmetic,)g(Karatsuba)f(Metho)s(d,)i(Sc)m(ho)s(ol)50 4849 y(Metho)s(ds,)30 b(F)-8 b(ast)32 b(Division,)c(Division)h(Without) h(Remainder,)f(Mo)s(dular)g(Reduction)p eop %%Page: 1 5 1 4 bop 118 399 a Fz(1)135 b(In)l(tro)t(duction)118 601 y FB(Multiprecision)25 b(arithmetic)i(is)g(the)h(art)g(of)g(computing)f (with)f(n)m(um)m(b)s(ers)g(that)j(are)f(larger)f(than)h(one)g(ma-)118 714 y(c)m(hine)f(w)m(ord.)40 b(It)27 b(is)g(an)h(imp)s(ortan)m(t)f(sub) 5 b(ject)27 b(in)f(man)m(y)i(domains)f(of)g(computer)h(science,)h(e.g.) 40 b(cryptogra-)118 827 y(ph)m(y)30 b(and)g(computer)h(algebra.)42 b(Addition,)29 b(subtraction,)h(m)m(ultiplication,)e(and)j(division)c (of)k(arbitrarily)118 940 y(large)37 b(n)m(um)m(b)s(ers)f(lie)f(at)j (the)f(v)m(ery)g(heart)g(of)g(all)f(computations)h(in)m(v)m(olv)m(ed)f (in)g(the)h(algorithms)f(used)g(in)118 1053 y(these)e(domains.)47 b(F)-8 b(or)34 b(man)m(y)f(practical)f(applications)g(it)g(su\016ces)h (to)h(implemen)m(t)d(the)i(classical)g(sc)m(ho)s(ol)118 1166 y(algorithms)25 b(for)h(basic)g(arithmetic.)39 b(Ho)m(w)m(ev)m (er,)29 b(if)c(the)i(n)m(um)m(b)s(ers)e(b)s(ecome)h(su\016cien)m(tly)f (large,)j(sa)m(y)f(ab)s(out)118 1279 y(200)i(decimal)e(digits,)g(it)g (pa)m(ys)h(w)m(ell)e(to)j(use)e(more)h(sophisticated)f(algorithms,)g (lik)m(e)g(for)g(example)h(Karat-)118 1392 y(suba's)34 b(famous)g(metho)s(d)g(for)g(m)m(ultiplication)d([10)r(],)k(whic)m(h)f (lo)m(w)m(ers)g(the)h(asymptotic)f(running)e(time)i(of)118 1505 y(\002\()p FA(n)279 1472 y Fy(2)318 1505 y FB(\))41 b(for)f(m)m(ultiplying)d(t)m(w)m(o)42 b FA(n)p FB(-digit)d(n)m(um)m(b)s (ers)g(b)m(y)h(ordinary)f(sc)m(ho)s(ol)h(m)m(ultiplication)e(to)j FA(O)s FB(\()p FA(n)3577 1472 y Fy(log)12 b(3)3719 1505 y FB(\).)118 1618 y(W)-8 b(e)36 b(sho)m(w)e(in)f(this)h(pap)s(er)f(ho)m (w)i(w)m(e)g(can)g(lo)m(w)m(er)g(the)f(\002\()p FA(n)2125 1585 y Fy(2)2164 1618 y FB(\))h(b)s(ound)e(for)h(sc)m(ho)s(ol)g (division)e(of)i(a)h(2)p FA(n)p FB(-digit)118 1731 y(n)m(um)m(b)s(er)25 b(b)m(y)h(an)f FA(n)p FB(-digit)g(n)m(um)m(b)s(er)g(to)h(t)m(wice)h (the)f(time)g(it)f(tak)m(es)i(to)g(m)m(ultiply)c(t)m(w)m(o)28 b FA(n)p FB(-digit)c(n)m(um)m(b)s(ers)h(with)118 1843 y(Karatsuba's)j(metho)s(d.)39 b(Then)27 b(w)m(e)i(expand)e(this)g (metho)s(d)h(to)g(a)h(fast)f(algorithm)f(for)h(dividing)d(arbitrary)118 1956 y(in)m(tegers.)60 b(Our)36 b(algorithm)f(p)s(erforms)h(v)m(ery)h (w)m(ell)e(in)h(practice)h(and)f(yields)f(a)i(sp)s(eedup)e(of)i(more)g (than)118 2069 y(20\045)32 b(with)e(n)m(um)m(b)s(ers)f(in)h(the)h(t)m (ypical)g(cryptographic)g(range)g(of)g(1024{2048)36 b(bits.)41 b(The)31 b(LED)m(A)h(library)118 2182 y([7)q(])c(will)d(so)s(on)j(ship) e(with)h(this)g(algorithm)g(implemen)m(ted)f(in)m(to)i(its)g Fx(integer)e FB(class)h(for)h(arbitrarily)d(large)118 2295 y(in)m(tegers.)46 b(Then)31 b(w)m(e)i(sho)m(w)f(ho)m(w)g(w)m(e)g (can)h(lo)m(w)m(er)f(this)f(b)s(ound)f(ev)m(en)j(further)e(to)h(3)p FA(=)p FB(2)p FA(K)7 b FB(\()p FA(n)p FB(\))23 b(+)e FA(O)s FB(\()p FA(n)15 b FB(log)i FA(n)p FB(\))118 2408 y(if)32 b(w)m(e)h(are)g(not)h(in)m(terested)e(in)g(the)h(remainder.)46 b(W)-8 b(e)35 b(argue)e(wh)m(y)f(one)h(should)e(use)i(our)f(metho)s(d)g (as)h(the)118 2521 y(division)k(metho)s(d)j(of)h(c)m(hoice)g(in)e(the)h (cryptographic)g(range.)71 b(As)40 b(an)g(application)f(of)h(division)e (with)118 2634 y(remainder)24 b(w)m(e)i(sho)m(w)f(ho)m(w)h(to)g(sp)s (eedup)e(mo)s(dular)f(m)m(ultiplication.)36 b(This)24 b(is)g(the)i(basis)e(step)i(of)f(mo)s(dular)118 2747 y(exp)s(onen)m(tiation,)37 b(a)f(metho)s(d)f(widely)f(used)h(in)g (public)e(k)m(ey)j(cryptosystems.)58 b(W)-8 b(e)37 b(also)f(giv)m(e)g (practical)118 2860 y(results)31 b(of)i(an)f(implemen)m(tation.)46 b(By)33 b(comparing)f(it)g(to)h(other)g(public)c(domain)j(pac)m(k)-5 b(ages)34 b(w)m(e)f(can)g(sa)m(y)118 2973 y(that)41 b(w)m(e)g(ha)m(v)m (e)h(the)f(fastest)h(in)m(teger)f(division)c(on)k(a)g(SP)-8 b(AR)m(C)40 b(arc)m(hitecture)i(compared)e(to)i(all)d(other)118 3085 y(in)m(teger)31 b(pac)m(k)-5 b(ages)32 b(w)m(e)f(kno)m(w)f(of.)259 3198 y(In)38 b(general,)i(in)m(tegers)e(of)h(arbitrary)d(length)i(are)g (represen)m(ted)g(in)m(ternally)f(b)m(y)g(com)m(bining)g(sev)m(eral)118 3311 y(in)m(tegers)31 b(in)m(to)g(one)g(large)g(v)m(ector,)i(just)d(as) h(\(in)f(C)g(notation\))i(a)f Fx(long)f FB(ma)m(y)h(consist)f(of)h(t)m (w)m(o)i(consecutiv)m(e)118 3424 y Fx(short)p FB(s)f(on)h(the)g (underlying)e(mac)m(hine.)49 b(All)32 b(algorithms)g(on)h(large)g(in)m (tegers)h(can)f(then)g(b)s(e)g(p)s(erformed)118 3537 y(on)39 b(these)h(v)m(ectors.)68 b(So)39 b(let)g(us)f(in)m(tro)s(duce)g (some)i(imp)s(ortan)m(t)e(terms)h(for)g(this)f(situation.)65 b(A)40 b Fw(digit)47 b FB(is)118 3650 y(the)36 b(largest)g(in)m(teger)h (unit)d(that)j(can)f(b)s(e)f(handled)f(directly)h(b)m(y)h(our)f(mac)m (hine's)h(hardw)m(are.)57 b(So,)37 b(in)e(C)118 3763 y(notation,)j(a)f(digit)e(is)g(an)h Fx(unsigned)46 b(long)g(int)p FB(.)58 b(A)m(t)37 b(the)f(time)g(of)g(this)g(writing,)g(it)f(is)h(b)s (est)f(to)i(ha)m(v)m(e)118 3876 y(a)d(32-bit)g(in)m(teger)h(in)d(mind)g (when)h(sp)s(eaking)f(of)i(a)g(digit.)50 b(No)m(w)35 b(with)d FA(\014)c Fv(\000)22 b FB(1)34 b(de\014ned)f(as)h(the)g (maximal)118 3989 y(v)-5 b(alue)38 b(of)h(a)h(digit,)g FA(\014)k FB(is)38 b(the)h Fw(b)-5 b(ase)46 b FB(of)39 b(our)f(n)m(um)m(b)s(er)g(system.)66 b(This)37 b(means)i(that)g(the)g FA(n)p FB(-digit)f(v)m(ector)118 4102 y([)p FA(a)191 4116 y Fu(n)p Ft(\000)p Fy(1)329 4102 y FA(;)15 b(a)417 4116 y Fy(1)456 4102 y FA(;)g(:)g(:)g(:)i(;)e(a)706 4116 y Fy(0)746 4102 y FB(])771 4117 y Fu(\014)847 4102 y FB(represen)m(ts)28 b(the)g FA(n)p FB(-digit)f(n)m(um)m(b)s(er)g FA(A)f FB(=)f FA(a)2289 4116 y Fu(n)p Ft(\000)p Fy(1)2426 4102 y FA(\014)2482 4069 y Fu(n)p Ft(\000)p Fy(1)2635 4102 y FB(+)16 b FA(:)f(:)g(:)i FB(+)f FA(a)2979 4116 y Fy(1)3019 4102 y FA(\014)21 b FB(+)16 b FA(a)3226 4116 y Fy(0)3293 4102 y FB(with)27 b(resp)s(ect)118 4215 y(to)k(the)g(base)f FA(\014)5 b FB(.)41 b(W)-8 b(e)32 b(will)27 b(omit)k FA(\014)k FB(in)29 b(this)g(notation)i(if)e(the)i(base)g(results)e (from)h(the)g(con)m(text.)259 4327 y FA(\014)g FB(is)23 b(mac)m(hine)h(dep)s(enden)m(t)g(and)g(has)g(gro)m(wn)g(successiv)m (ely)g(in)f(the)i(last)f(30)h(y)m(ears)g(from)f(2)3301 4294 y Fy(8)3365 4327 y FB(o)m(v)m(er)i(2)3599 4294 y Fy(16)3699 4327 y FB(to)118 4440 y(2)163 4407 y Fy(32)238 4440 y FB(,)k(and)e(will)e(b)s(e)j(2)806 4407 y Fy(64)910 4440 y FB(on)g(all)f(fast)h(mac)m(hines)f(in)g(the)h(near)g(future.)39 b(With)29 b(the)g(assumption)e(that)j FA(\014)k FB(will)118 4553 y(alw)m(a)m(ys)27 b(b)s(e)f(a)h(p)s(o)m(w)m(er)g(of)g(t)m(w)m(o,)i FA(\015)h FB(:=)1351 4485 y Fv(p)p 1427 4485 57 4 v 68 x FA(\014)i FB(is)25 b(a)i(n)m(um)m(b)s(er)f(with)f(half)h(as)g(man)m (y)h(bits)f(as)h FA(\014)k FB(and)26 b(will)e(b)s(e)i(called)118 4666 y(the)34 b Fw(halfb)-5 b(ase)p FB(.)51 b(By)33 b(a)h Fw(halfdigit)43 b FB(w)m(e)34 b(mean)f(a)h(digit)e(whose)h(most)h (signi\014can)m(t)e(half)g(is)h(zero,)i(or)e(in)f(other)118 4779 y(w)m(ords,)j(a)g(digit)e(that)i(is)e(less)h(than)g FA(\015)5 b FB(.)53 b(A)34 b(n)m(um)m(b)s(er)f FA(A)i FB(is)e(said)g(to)i Fw(normalize)-5 b(d)47 b FB(if)33 b(its)h(most)h(signi\014can)m(t)118 4892 y(digit)29 b FA(a)378 4906 y Fu(n)p Ft(\000)p Fy(1)544 4892 y FB(is)g(greater)i(or)e (equal)h(than)f FA(\014)5 b(=)p FB(2,)31 b(i.e.,)f(if)f(it)g(has)g(a)h (leading)f(1)h(in)e(its)h(binary)f(represen)m(tation.)118 5005 y(If)d FA(X)32 b FB(=)25 b([)p FA(x)484 5019 y Fu(n)p Ft(\000)p Fy(1)622 5005 y FA(;)15 b(:)g(:)g(:)h(;)f(x)875 5019 y Fy(0)915 5005 y FB(])25 b(and)g FA(Y)45 b FB(=)25 b([)p FA(y)1401 5019 y Fu(m)p Ft(\000)p Fy(1)1557 5005 y FA(;)15 b(:)g(:)g(:)i(;)e(y)1804 5019 y Fy(0)1843 5005 y FB(])26 b(w)m(e)f(denote)h(with)d([)p FA(X)r(;)15 b(Y)22 b FB(])j(the)g Fw(c)-5 b(omp)g(osition)30 b(of)e FA(X)35 b Fw(and)118 5118 y FA(Y)20 b FB(,)37 b(i.e.,)f(the)f FA(n)23 b FB(+)g FA(m)p FB(-digit)34 b(n)m(um)m(b)s(er)g([)p FA(x)1503 5132 y Fu(n)p Ft(\000)p Fy(1)1640 5118 y FA(;)15 b(:)g(:)g(:)i(;)e(x)1894 5132 y Fy(0)1934 5118 y FA(;)g(y)2019 5132 y Fu(m)p Ft(\000)p Fy(1)2176 5118 y FA(;)g(:)g(:)g(:)h(;)f(y)2422 5132 y Fy(0)2462 5118 y FB(].)55 b(Let)35 b FA(K)7 b FB(\()p FA(n)p FB(\))33 b(:=)g FA(c)3144 5132 y Fu(K)3236 5118 y Fv(\001)24 b FA(n)3340 5085 y Fy(log)12 b(3)3517 5118 y FB(denote)118 5231 y(the)31 b Fw(Kar)-5 b(atsub)g(a)35 b(multiplic)-5 b(ation)34 b(time)k FB(for)30 b(some)h(con)m(v)m(enien)m (t)g(constan)m(t)h FA(c)2711 5245 y Fu(K)2779 5231 y FB(.)1926 5841 y(1)p eop %%Page: 2 6 2 5 bop 118 399 a Fz(2)135 b(Division)46 b(with)f(remainder)118 601 y FB(In)36 b(this)g(section)h(w)m(e)g(deal)f(with)g(the)g(problem)g (to)h(\014nd)e(for)i(non-negativ)m(e)g(in)m(tegers)g FA(A)g FB(and)f FA(B)42 b FB(a)37 b(rep-)118 714 y(resen)m(tation)e FA(A)e FB(=)f FA(Q)23 b Fv(\001)g FA(B)28 b FB(+)23 b FA(R)35 b FB(with)e(the)i(\(in)m(tegral\))g(quotien)m(t)g FA(Q)e FB(=)f Fv(b)p FA(A=B)5 b Fv(c)35 b FB(and)f(remainder)f FA(R)j FB(with)118 827 y(0)26 b Fv(\024)f FA(R)h(<)f(B)5 b FB(.)118 1071 y Fs(2.1)112 b(Dividing)36 b(t)m(w)m(o)g(digits)g(b)m (y)i(one)g(digit)118 1242 y FB(The)c(w)m(ell)f(kno)m(wn)h(sc)m(ho)s(ol) g(metho)s(d)f(for)h(dividing)d(in)m(teger)j(n)m(um)m(b)s(ers)f(uses)h (as)g(basic)g(step)g(the)g(division)118 1355 y(of)j(a)h(t)m(w)m(o)h (digit)d(n)m(um)m(b)s(er)f(b)m(y)i(a)h(one)g(digit)d(n)m(um)m(b)s(er)h (to)i(mak)m(e)h(a)e(guess)g(ab)s(out)g(the)h(next)f(digit)f(of)h(the) 118 1468 y(quotien)m(t)g([5)q(].)60 b(In)36 b(elemen)m(tary)h(sc)m(ho)s (ol)f(w)m(e)i(all)d(ha)m(v)m(e)j(learned)e(ho)m(w)h(to)g(carry)g(out)g (this)e(computation:)118 1581 y(w)m(e)28 b(just)e(in)m(v)m(ert)h(the)g (one-b)m(y-one)h(m)m(ultiplication)c(table)j(whic)m(h)e(w)m(e)j(kno)m (w)f(b)m(y)g(heart.)39 b(In)27 b(m)m(ultiprecision)118 1694 y(arithmetic)37 b(w)m(e)i(are)f(faced)h(with)d(the)j(same)f (problem,)h(except)g(that)f(no)m(w)g(our)g(digits)e(ma)m(y)j(b)s(e)e(m) m(uc)m(h)118 1807 y(larger)31 b(so)g(that)h(a)f(pre-built)e(table)i(w)m (ere)g(extremely)h(large.)42 b(No)m(w,)33 b(for)d(example,)i(ho)m(w)f (do)g(w)m(e)g(divide)e(a)118 1920 y(64-bit)i(in)m(teger)f(b)m(y)h(a)g (32-bit)f(in)m(teger)h(on)f(a)h(32-bit)g(mac)m(hine?)259 2033 y(Supp)s(ose)41 b(our)i(mac)m(hine)f(has)h(no)f(built-in)e (\015oating)j(p)s(oin)m(t)f(arithmetic)g(so)h(that)g(w)m(e)g(cannot)h (use)118 2146 y(tric)m(ks)e(lik)m(e)e(computing)h(a)h(\015oating)f(p)s (oin)m(t)g(appro)m(ximation)f(of)i(the)g(quotien)m(t)f(and)g(doing)g (necessary)118 2259 y(adjustings)32 b(to)i(compute)f(the)g(desired)f (result.)48 b(Supp)s(ose)31 b(further)h(that)i(the)f(mac)m(hine)g(has)g (no)g(built-in)118 2371 y(in)m(teger)g(division)d(instruction)h(and/or) h(that)h(w)m(e)h(w)m(an)m(t)f(to)h(write)d(p)s(ortable)h(C/C++)g(co)s (de)h(so)g(that)g(w)m(e)118 2484 y(cannot)h(use)f(mac)m(hine)g (instructions)e(\(lik)m(e)i Fx(UDIV)f FB(on)i(a)f(SP)-8 b(AR)m(C)34 b(Ultra\))f(that)h(are)g(explicitly)d(designed)118 2597 y(for)42 b(this)f(task.)76 b(Then)41 b(w)m(e)i(need)e(a)i (function)e Fx(DivTwoDigitsByOne)c FB(based)42 b(on)f(C/C++'s)h(in)m (ternal)118 2710 y Fx(unsigned)k(int)29 b FB(arithmetic.)40 b(Y)-8 b(ou)30 b(ma)m(y)h(w)m(onder)e(wh)m(y)h(w)m(e)h(b)s(egin)d(with) h(suc)m(h)h(a)g(basic)f(problem)g(but)g(as)118 2823 y(y)m(ou)i(will)d (so)s(on)i(see)h(its)e(solution)g(will)f(expand)i(to)h(a)g(fast)f (recursiv)m(e)g(algorithm)g(for)g(dividing)d(arbitrary)118 2936 y(in)m(tegers.)59 b(The)36 b(main)f(idea)h(is)g(to)h(reduce)f(the) h(division)c(of)k(t)m(w)m(o)g(digits)e(b)m(y)i(one)f(digit)f(\(whic)m (h)h(cannot)118 3049 y(b)s(e)30 b(carried)f(out)i(b)m(y)f(the)g(mac)m (hine)g(or)g(the)h(high)d(lev)m(el)i(language\))h(to)g(sev)m(eral)g (divisions)c(of)j(a)h(digit)e(b)m(y)h(a)118 3162 y(halfdigit,)e(sim)m (ulating)h(sc)m(ho)s(ol)h(division.)259 3275 y(F)-8 b(or)26 b(this)e(w)m(e)h(partition)f(the)h(dividend)d FA(A)j FB(in)m(to)g(four)f(halfdigits)e FA(A)k FB(=)f([)p FA(a)2718 3289 y Fy(1)2757 3275 y FA(;)15 b(a)2845 3289 y Fy(2)2885 3275 y FA(;)g(a)2973 3289 y Fy(3)3013 3275 y FA(;)g(a)3101 3289 y Fy(4)3141 3275 y FB(])25 b(and)g(the)g(divisor)118 3388 y FA(B)33 b FB(in)m(to)c(t)m(w)m(o)h(halfdigits)d FA(B)i FB(=)c([)p FA(b)1227 3402 y Fy(1)1267 3388 y FA(;)15 b(b)1346 3402 y Fy(2)1386 3388 y FB(])29 b(\(see)h(Figure)e(1\).)41 b(Note)30 b(that)f(our)f(mac)m(hine)h(is)f(able)g(to)i(divide)c(t)m(w)m (o)118 3501 y(halfdigits)k(b)m(y)j(one)f(halfdigit)f(in)m(ternally)-8 b(.)45 b(Then)31 b(w)m(e)i(do)g(ordinary)e(sc)m(ho)s(ol)h(division)d (with)j(these)g(parts.)118 3613 y(This)38 b(means)h(that)h(w)m(e)g(use) f(the)g(parts)g([)p FA(a)1617 3627 y Fy(1)1657 3613 y FA(;)15 b(a)1745 3627 y Fy(2)1785 3613 y FA(;)g(a)1873 3627 y Fy(3)1913 3613 y FB(])39 b(and)g([)p FA(b)2227 3627 y Fy(1)2267 3613 y FA(;)15 b(b)2346 3627 y Fy(2)2386 3613 y FB(])39 b(to)h(determine)f(the)g(\014rst)g(digit)f FA(q)3628 3627 y Fy(1)3706 3613 y FB(of)118 3726 y(the)c(quotien)m(t)g (\(note)h(that)g FA(q)1123 3740 y Fy(1)1196 3726 y FB(do)s(es)e(not)i (dep)s(end)d(on)i FA(a)2067 3740 y Fy(4)2106 3726 y FB(,)h(see)g(Lemma) f(1\).)52 b(This)32 b(is)h(done)h(b)m(y)g(dividing)118 3839 y([)p FA(a)191 3853 y Fy(1)231 3839 y FA(;)15 b(a)319 3853 y Fy(2)359 3839 y FB(])32 b(b)m(y)h FA(b)584 3853 y Fy(1)623 3839 y FB(,)g(getting)h(a)e(candidate)47 b Fr(b)-65 b FA(q)1527 3853 y Fy(1)1598 3839 y FB(for)32 b FA(q)1780 3853 y Fy(1)1852 3839 y FB(whic)m(h)f(is)g(at)i(most)g(2)g (to)s(o)g(large)g(\(see)g(Lemma)g(2\))g(and)118 3952 y(m)m(ultiplying)48 b Fr(b)-66 b FA(q)650 3966 y Fy(1)726 3952 y FB(bac)m(k)37 b(with)f FA(b)1197 3966 y Fy(1)1273 3952 y FB(and)g FA(b)1495 3966 y Fy(2)1534 3952 y FB(,)j(subtracting)c (it)i(from)f([)p FA(a)2476 3966 y Fy(1)2516 3952 y FA(;)15 b(a)2604 3966 y Fy(2)2643 3952 y FA(;)g(a)2731 3966 y Fy(3)2771 3952 y FB(])37 b(and)f(testing)h(whether)f(w)m(e)118 4065 y(ha)m(v)m(e)29 b(no)m(w)e(a)h(nonnegativ)m(e)g(remainder)e FA(R)g FB(=)f([)p FA(r)1770 4079 y Fy(1)1810 4065 y FA(;)15 b(r)1891 4079 y Fy(2)1931 4065 y FB(].)40 b(If)27 b(not)h(so,)g(w)m(e)g (decremen)m(t)43 b Fr(b)-66 b FA(q)3008 4079 y Fy(1)3075 4065 y FB(b)m(y)27 b(one,)i(incremen)m(t)118 4178 y FA(R)f FB(b)m(y)g FA(B)k FB(and)26 b(test)j(again.)40 b(This)25 b(test)k(ma)m(y)f(fail)e(no)m(w)i(only)e(once)i(more,)h(so)f(that)g(ev) m(en)m(tually)f(w)m(e)h(ha)m(v)m(e)h(to)118 4291 y(adjust)45 b Fr(b)-66 b FA(q)435 4305 y Fy(1)504 4291 y FB(and)30 b FA(R)h FB(a)g(second)f(time.)41 b(Then)29 b(w)m(e)i(ha)m(v)m(e)h (found)d FA(q)2270 4305 y Fy(1)2334 4291 y FB(=)40 b Fr(b)-66 b FA(q)2471 4305 y Fy(1)2510 4291 y FB(.)41 b(Let)31 b(us)f(com)m(bine)g(this)f(pro)s(cess)h(of)118 4404 y(\014nding)23 b(the)j(\014rst)f(digit)g(of)h(the)f(quotien)m(t)h (consisting)f(of)h(a)g(division)c(follo)m(w)m(ed)k(b)m(y)f(a)h(bac)m (km)m(ultiplication,)118 4517 y(some)39 b(comparisons)e(and)g (adjustings)f(in)m(to)i(the)h(subroutine)c Fx(DivThreeHalvesByTwo)p FB(.)59 b(It)38 b(com)m(bines)118 4630 y(exactly)31 b(the)g(steps)f(w)m (e)h(mak)m(e)g(in)e(sc)m(ho)s(ol)i(division)c(to)k(compute)g(the)f (\014rst)g(digit)f(of)i(the)f(quotien)m(t.)259 4743 y(Then)c(lik)m(e)h (in)f(sc)m(ho)s(ol)h(division)d(w)m(e)k(con)m(tin)m(ue)f(with)f(the)i (in)m(termediate)f(remainder)e FA(R)h FB(=)f([)p FA(r)3420 4757 y Fy(1)3460 4743 y FA(;)15 b(r)3541 4757 y Fy(2)3581 4743 y FB(])27 b(and)118 4855 y FA(a)166 4869 y Fy(4)239 4855 y FB(to)34 b(compute)g(the)f(second)h(digit)e FA(q)1437 4869 y Fy(2)1509 4855 y FB(of)i(the)f(quotien)m(t)h(and)f(the)g(o)m(v)m (erall)h(remainder)e FA(S)j FB(=)30 b([)p FA(s)3463 4869 y Fy(1)3503 4855 y FA(;)15 b(s)3586 4869 y Fy(2)3625 4855 y FB(])34 b(b)m(y)118 4968 y(applying)c Fx(DivThreeHalvesByTwo)25 b FB(a)30 b(second)h(time.)259 5081 y Fx(DivTwoDigitsByOne)d FB(has)33 b(t)m(w)m(o)h(preconditions.)45 b(The)32 b(quotien)m(t)h FA(Q)g FB(has)f(to)i(\014t)e(in)m(to)h(one)g(digit.)46 b FA(B)118 5194 y FB(has)31 b(to)g(b)s(e)f(normalized,)g(i.e.,)h(it)g (m)m(ust)f(b)s(e)h(greater)h(or)e(equal)h(than)f FA(\014)5 b(=)p FB(2)32 b(\(this)e(amoun)m(ts)h(to)h(sa)m(y)g(that)f(it)118 5307 y(has)j(a)g(leading)e(1)i(in)f(its)g(binary)f(represen)m(tation;)j (if)e(this)g(is)f(not)i(the)g(case)h(w)m(e)f(can)g(shift)f FA(B)38 b FB(and)33 b FA(A)h FB(to)118 5420 y(the)d(left\).)40 b(This)29 b(guaran)m(tees)j(that)46 b Fr(b)-66 b FA(q)1403 5434 y Fy(1)1472 5420 y FB(is)30 b(at)h(most)f(2)h(to)s(o)g(large)g (\(see)g(Lemma)g(2\).)259 5533 y(Under)24 b(these)h(preconditions)e (the)i(pseudo-co)s(de)g(lo)s(oks)f(lik)m(e)g(this.)38 b(Capital)24 b(letters)h(stand)f(for)h(digits,)1926 5841 y(2)p eop %%Page: 3 7 3 6 bop 118 399 a FB(small)29 b(letters)i(for)f(halfdigits.)118 590 y Fx(function)46 b(DivTwoDigitsByOne\(digit)41 b(AH,)47 b(digit)f(AL,)h(digit)g(B\))118 703 y({)118 816 y(\(1\))142 b(Let)47 b([a1,a2]=AH,)e([a3,a4]=AL,)g(and)i([b1,b2]=B;)118 928 y(\(2\))142 b([q1,R]=DivThreeHalvesByTwo)o(\(a1,)o(a2,)o(a3,b)o (1,b2)o(\);)118 1041 y(\(3\))g(Let)47 b([r1,r2]=R;)118 1154 y(\(4\))142 b([q2,S]=DivThreeHalvesByTwo)o(\(r1,)o(r2,)o(a4,b)o (1,b2)o(\);)118 1267 y(\(5\))g(Return)47 b(the)f(quotient)g(Q=[q1,q2])f (and)i(the)g(remainder)e(S;)118 1380 y(})259 1571 y FB(All)29 b(computations)h(are)h(carried)f(out)g(in)118 1762 y Fx(function)46 b(DivThreeHalvesByTwo\(dig)o(it)c(a1,a2,a3,b1,b2\))118 1875 y({)118 1988 y(\(6\))142 b(Divide)47 b(q)g(=)g([a1,a2]/b1;)118 2101 y(\(7\))142 b(Let)47 b(c=[a1,a2]-q*b1;)118 2214 y(\(8\))142 b(D)48 b(=)f(q*b2;)118 2327 y(\(9\))142 b(Let)47 b(R:=[r1,r2]=[c,a3]-D)118 2440 y(\(10\))142 b(if)47 b(\(R<0\))94 b({)143 b(//)48 b(q)f(is)g(too)g(large)f(by)i(at)f(least)f(one)118 2553 y(\(11\))285 b(q--;)118 2666 y(\(12\))g(R+=B;)118 2779 y(\(13\))g(if)48 b(\(R<0\))e({)h(//)h(q)f(is)g(still)g(too)f (large)118 2892 y(\(14\))429 b(q--;)118 3004 y(\(15\))381 b(R+=B;)189 b(//)48 b(now)e(R)i(is)f(correct)118 3117 y(\(16\))285 b(})118 3230 y(\(17\))142 b(})118 3343 y(\(18\))94 b(Return)47 b(the)f(quotient)g(q)h(and)g(the)g(remainder)f(R;)118 3456 y(})1048 3517 y gsave 0 0 0 setrgbcolor 1048 3517 a 1525 4370 7 121 v 1528 4373 181 7 v 1705 4370 7 121 v 1528 4253 181 7 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 1705 4370 7 121 v 1708 4373 181 7 v 1885 4370 7 121 v 1708 4253 181 7 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 1885 4370 7 121 v 1888 4373 181 7 v 2065 4370 7 121 v 1888 4253 181 7 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 1345 4069 7 121 v 1348 4073 361 7 v 1705 4069 7 121 v 1348 3953 361 7 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 1525 4190 7 121 v 1528 4193 361 7 v 1885 4190 7 121 v 1528 4073 361 7 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 1525 4550 7 121 v 1528 4553 361 7 v 1885 4550 7 121 v 1528 4433 361 7 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 1705 4670 7 121 v 1708 4673 361 7 v 2065 4670 7 121 v 1708 4553 361 7 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 1708 4733 361 7 v 2065 4850 7 121 v 1708 4853 361 7 v 1705 4850 7 121 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 1885 4850 7 121 v 1885 4850 V 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 1348 3892 7 121 v 1351 3896 181 7 v 1528 3892 7 121 v 1351 3776 181 7 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 1528 3892 7 121 v 1531 3896 181 7 v 1708 3892 7 121 v 1531 3776 181 7 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 1708 3892 7 121 v 1711 3896 181 7 v 1888 3892 7 121 v 1711 3776 181 7 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 1888 3892 7 121 v 1891 3896 181 7 v 2068 3892 7 121 v 1891 3776 181 7 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 2188 3892 7 121 v 2191 3896 181 7 v 2368 3892 7 121 v 2191 3776 181 7 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 2368 3892 7 121 v 2371 3896 181 7 v 2548 3892 7 121 v 2371 3776 181 7 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 2668 3892 7 121 v 2671 3896 181 7 v 2848 3892 7 121 v 2671 3776 181 7 v 1048 3517 a grestore 1048 3517 a 1048 3517 a gsave 0 0 0 setrgbcolor 1048 3517 a 2848 3892 7 121 v 2851 3896 181 7 v 3028 3892 7 121 v 2851 3776 181 7 v 1048 3517 a grestore 1048 3517 a 1543 4027 a gsave 0 0 0 setrgbcolor 1543 4027 a Fq(b1)1624 4027 y grestore 1624 4027 a 1456 4027 a gsave 0 0 0 setrgbcolor 1456 4027 a Fq(q1)1535 4027 y grestore 1535 4027 a 1645 4148 a gsave 0 0 0 setrgbcolor 1645 4148 a Fq(q1)1724 4148 y grestore 1724 4148 a 1726 4151 a gsave 0 0 0 setrgbcolor 1726 4151 a Fq(b2)1807 4151 y grestore 1807 4151 a 1597 4325 a gsave 0 0 0 setrgbcolor 1597 4325 a Fq(r1)1665 4325 y grestore 1665 4325 a 1948 4328 a gsave 0 0 0 setrgbcolor 1948 4328 a Fq(a4)2024 4328 y grestore 2024 4328 a 1777 4328 a gsave 0 0 0 setrgbcolor 1777 4328 a Fq(r2)1845 4328 y grestore 1845 4328 a 1621 4505 a gsave 0 0 0 setrgbcolor 1621 4505 a Fq(q2)1700 4505 y grestore 1700 4505 a 1810 4628 a gsave 0 0 0 setrgbcolor 1810 4628 a Fq(q2)1889 4628 y grestore 1889 4628 a 1774 4808 a gsave 0 0 0 setrgbcolor 1774 4808 a Fq(s1)1842 4808 y grestore 1842 4808 a 1960 4805 a gsave 0 0 0 setrgbcolor 1960 4805 a Fq(s2)2028 4805 y grestore 2028 4805 a 1288 4331 a gsave 0 0 0 setrgbcolor 1288 4331 a Fq(yields)1478 4331 y grestore 1478 4331 a 1864 4964 a gsave 0 0 0 setrgbcolor 1864 4964 a FF(S)1929 4964 y grestore 1929 4964 a 1408 4808 a gsave 0 0 0 setrgbcolor 1408 4808 a Fq(yields)1598 4808 y grestore 1598 4808 a 1414 3850 a gsave 0 0 0 setrgbcolor 1414 3850 a Fq(a1)1490 3850 y grestore 1490 3850 a 1603 3853 a gsave 0 0 0 setrgbcolor 1603 3853 a Fq(a2)1679 3853 y grestore 1679 3853 a 1771 3853 a gsave 0 0 0 setrgbcolor 1771 3853 a Fq(a3)1847 3853 y grestore 1847 3853 a 2248 3853 a gsave 0 0 0 setrgbcolor 2248 3853 a Fq(b1)2329 3853 y grestore 2329 3853 a 2425 3856 a gsave 0 0 0 setrgbcolor 2425 3856 a Fq(b2)2506 3856 y grestore 2506 3856 a 2731 3853 a gsave 0 0 0 setrgbcolor 2731 3853 a Fq(q1)2810 3853 y grestore 2810 3853 a 2896 3856 a gsave 0 0 0 setrgbcolor 2896 3856 a Fq(q2)2975 3856 y grestore 2975 3856 a 1672 3724 a gsave 0 0 0 setrgbcolor 1672 3724 a FF(A)1760 3724 y grestore 1760 3724 a 2812 3727 a gsave 0 0 0 setrgbcolor 2812 3727 a FF(Q)2903 3727 y grestore 2903 3727 a 2338 3727 a gsave 0 0 0 setrgbcolor 2338 3727 a FF(B)2421 3727 y grestore 2421 3727 a 2110 3862 a gsave 0 0 0 setrgbcolor 2110 3862 a FF(/)2169 3862 y grestore 2169 3862 a 2566 3859 a gsave 0 0 0 setrgbcolor 2566 3859 a FF(=)2657 3859 y grestore 2657 3859 a 1915 4631 a gsave 0 0 0 setrgbcolor 1915 4631 a Fq(b2)1996 4631 y grestore 1996 4631 a 1723 4511 a gsave 0 0 0 setrgbcolor 1723 4511 a Fq(b1)1804 4511 y grestore 1804 4511 a 1951 3850 a gsave 0 0 0 setrgbcolor 1951 3850 a Fq(a4)2027 3850 y grestore 2027 3850 a 1093 4568 a gsave 0 0 0 setrgbcolor 1093 4568 a Fq(subtracting)1473 4568 y grestore 1473 4568 a 862 4084 a gsave 0 0 0 setrgbcolor 862 4084 a Fq(subtracting)1242 4084 y grestore 1242 4084 a 771 5246 a Fp(Figure)31 b(1:)36 b FD(DivTw)n(oDigitsByOne)26 b(is)i(a)f(sc)n(ho)r(ol)g(division)g(on)g (halfdigits)118 5479 y FB(The)f(test)i(in)d(line)g(\(10\))j(is)e (actually)g(the)h(test)g(whether)f([)p FA(c;)15 b(a)2186 5493 y Fy(3)2226 5479 y FB(])27 b(is)f(less)g(than)g FA(D)j FB(b)s(ecause)e(digits)e(are)i(nev)m(er)118 5592 y(negativ)m(e.)42 b(If)29 b(w)m(e)h(lo)s(ok)f(closely)h(at)g(this)f (function,)g(w)m(e)h(see)g(that)g(all)f(computations)g(can)h(b)s(e)f (carried)g(out)1926 5841 y(3)p eop %%Page: 4 8 4 7 bop 118 399 a FB(with)36 b(single)f(digits)h(unless)f FA(q)40 b FB(in)c(line)f(\(6\))j(do)s(es)f(not)g(\014t)f(in)m(to)h(a)h (halfdigit,)e(whic)m(h)g(is)g(the)h(case)h(if)e(and)118 511 y(only)c(if)f FA(a)453 525 y Fy(1)521 511 y FB(=)d FA(b)659 525 y Fy(1)699 511 y FB(,)33 b(a)g(case)g(that)g(ma)m(y)g(w)m (ell)e(o)s(ccur)h(\()p FA(q)k FB(will)30 b(then)i(b)s(e)f FA(\014)5 b(=)p FB(2)34 b(or)e FA(\014)5 b(=)p FB(2)23 b(+)e(1\).)48 b(In)31 b(this)h(case)h(w)m(e)118 624 y(need)e(a)h(sp)s (ecial)e(function)h Fx(DivThreeHalvesByTwoSpec)o(ial)25 b FB(whose)31 b(structure)g(is)g(so)h(similar)d(to)j(that)118 737 y(of)f Fx(DivThreeHalvesByTwo)25 b FB(that)31 b(w)m(e)g(do)f(not)g (giv)m(e)h(the)g(co)s(de)f(here.)259 850 y(W)-8 b(e)22 b(will)17 b(pro)m(v)m(e)k(the)g(correctness)g(of)f(our)g(co)s(de)h(in)e (more)h(generalit)m(y)g(in)f(the)i(next)f(section.)38 b Fx(DivTwoDigitsByOne)118 963 y FB(is)g(just)g(a)h(to)m(y)h(for)e(in)m (tro)s(ducing)f(the)i(ideas)f(of)h(our)f(recursiv)m(e)g(division.)62 b(Moreo)m(v)m(er,)44 b(it)38 b(giv)m(es)h(a)g(\014ne,)118 1076 y(p)s(ortable)29 b(implemen)m(tation)g(of)i(the)g(basic)e(case)j (of)e(division)e(that)j(has)f(an)g(acceptable)h(p)s(erformance.)118 1318 y Fs(2.2)112 b(Recursiv)m(e)37 b(division)118 1489 y FB(No)m(w)25 b(w)m(e)f(extend)g(the)g(metho)s(d)f(for)g(dividing)e(t) m(w)m(o)k(digits)d(b)m(y)i(one)g(to)g(a)g(recursiv)m(e)g(algorithm)e (for)i(dividing)118 1602 y(a)i(2)p FA(n)p FB(-digit)f(n)m(um)m(b)s(er)f (b)m(y)h(an)h FA(n)p FB(-digit)e(n)m(um)m(b)s(er)g(with)g(a)i FA(n)p FB(-digit)e(remainder.)38 b(W)-8 b(e)26 b(will)d(call)i(this)f (algorithm)118 1715 y FA(D)193 1734 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)389 1715 y FB(.)38 b(Under)23 b(the)h(assumption)e(that)i FA(n)g FB(is)e(ev)m(en)j(and)e(large)g(enough)h(to)g(b)s(ene\014t)f (from)g(a)h(recursion,)g(w)m(e)118 1828 y(again)g(split)d FA(A)i FB(in)m(to)h(four)e(parts)h([)p FA(A)1319 1842 y Fy(1)1359 1828 y FA(;)15 b(A)1467 1842 y Fy(2)1507 1828 y FA(;)g(A)1615 1842 y Fy(3)1655 1828 y FA(;)g(A)1763 1842 y Fy(4)1803 1828 y FB(])24 b(of)f(length)g FA(n=)p FB(2)h(eac)m(h,)i(and)d FA(B)28 b FB(in)m(to)23 b(t)m(w)m(o)i(parts)e ([)p FA(B)3541 1842 y Fy(1)3580 1828 y FA(;)15 b(B)3689 1842 y Fy(2)3729 1828 y FB(].)118 1941 y(First)32 b(w)m(e)h(compute)f (the)h(upp)s(er)d(part)i FA(Q)1540 1955 y Fy(1)1612 1941 y FB(of)g(the)h(quotien)m(t)f Fv(b)p FA(A=B)5 b Fv(c)34 b FB(using)c(the)j(parts)f FA(A)3238 1955 y Fy(1)3278 1941 y FA(;)15 b(A)3386 1955 y Fy(2)3426 1941 y FA(;)g(A)3534 1955 y Fy(3)3606 1941 y FB(of)32 b FA(A)118 2054 y FB(and)43 b(the)h(upp)s(er)e(part)i FA(B)1032 2068 y Fy(1)1115 2054 y FB(of)g FA(B)k FB(b)m(y)c(an)g(appropriate)f(algorithm)g(called) g FA(D)2907 2072 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)3146 2054 y FB(that)i(recursiv)m(ely)118 2167 y(calls)34 b FA(D)400 2185 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)631 2167 y FB(and)g(is)f(basically)g (an)i(expansion)f(of)g Fx(DivThreeHalvesByTwo)p FB(..)49 b(Using)34 b(the)h(remainder)118 2280 y(corresp)s(onding)29 b(to)j FA(Q)887 2294 y Fy(1)957 2280 y FB(and)e(the)h(lo)m(w)m(est)h (part)f FA(A)1831 2294 y Fy(4)1901 2280 y FB(of)g FA(A)g FB(w)m(e)h(then)e(get)j(similarly)27 b(the)k(lo)m(w)m(er)g(part)g FA(Q)3636 2294 y Fy(2)3706 2280 y FB(of)118 2392 y(the)g(quotien)m(t)f (b)m(y)h(algorithm)e FA(D)1249 2411 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)1475 2392 y FB(again.)118 2570 y FC(Algorithm)35 b(1.)45 b Fw(\()p FA(D)862 2589 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)1058 2570 y Fw(\))118 2683 y(L)-5 b(et)41 b FA(A)f Fw(and)h FA(B)j Fw(b)-5 b(e)40 b(nonne)-5 b(gative)41 b(inte)-5 b(gers,)42 b(and)g(let)e FA(A)f(<)f(\014)2281 2650 y Fu(n)2328 2683 y FA(B)45 b Fw(and)c FA(\014)2682 2650 y Fu(n)2729 2683 y FA(=)p FB(2)f Fv(\024)e FA(B)44 b(<)38 b(\014)3246 2650 y Fu(n)3293 2683 y Fw(.)65 b(A)n(lgorithm)118 2796 y FA(D)193 2815 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)422 2796 y Fw(c)-5 b(omputes)33 b(the)g(quotient)g FA(Q)25 b FB(=)g Fv(b)p FA(A=B)5 b Fv(c)34 b Fw(with)f(r)-5 b(emainder)35 b FA(R)26 b FB(=)f FA(A)20 b Fv(\000)g FA(Q)g Fv(\001)h FA(B)5 b Fw(.)226 2974 y(1.)45 b(If)f FA(n)f Fw(is)h(o)-5 b(dd)45 b(or)f(smal)5 b(ler)45 b(than)g(some)g(c)-5 b(onvenient)44 b(c)-5 b(onstant,)48 b(c)-5 b(ompute)45 b FA(Q)e Fw(and)i FA(R)f Fw(by)g(scho)-5 b(ol)345 3087 y(division)34 b(and)f(r)-5 b(eturn.)226 3271 y(2.)45 b(Split)j FA(A)e Fw(into)h(four)g(p)-5 b(arts)49 b FA(A)i FB(=)f([)p FA(A)1669 3285 y Fy(1)1709 3271 y FA(;)15 b(:)g(:)g(:)h(;)f(A)1978 3285 y Fy(4)2018 3271 y FB(])47 b Fw(with)g FA(A)2369 3285 y Fu(i)2448 3271 y FA(<)j(\014)2625 3238 y Fu(n=)p Fy(2)2743 3271 y Fw(.)84 b(Split)47 b FA(B)k Fw(into)c(two)h(p)-5 b(arts)345 3384 y FA(B)30 b FB(=)25 b([)p FA(B)634 3398 y Fy(1)674 3384 y FA(;)15 b(B)783 3398 y Fy(2)823 3384 y FB(])32 b Fw(with)i FA(B)1147 3398 y Fu(i)1200 3384 y FA(<)25 b(\014)1352 3351 y Fu(n=)p Fy(2)1470 3384 y Fw(.)226 3567 y(3.)45 b(Compute)c(the)f(high)g(p)-5 b(art)41 b FA(Q)1366 3581 y Fy(1)1445 3567 y Fw(of)e Fv(b)p FA(A=B)5 b Fv(c)41 b Fw(as)f FA(Q)2061 3581 y Fy(1)2137 3567 y FB(=)e Fv(b)p FB([)p FA(A)2379 3581 y Fy(1)2419 3567 y FA(;)15 b(A)2527 3581 y Fy(2)2567 3567 y FA(;)g(A)2675 3581 y Fy(3)2715 3567 y FB(])p FA(=)p FB([)p FA(B)2879 3581 y Fy(1)2919 3567 y FA(;)g(B)3028 3581 y Fy(2)3068 3567 y FB(])p Fv(c)40 b Fw(with)h(r)-5 b(emainder)345 3680 y FA(R)414 3694 y Fy(1)479 3680 y FB(=)25 b([)p FA(R)669 3694 y Fy(1)p Fu(;)p Fy(1)764 3680 y FA(;)15 b(R)873 3694 y Fy(1)p Fu(;)p Fy(2)967 3680 y FB(])p Fw(,)33 b(using)f(algorithm)j FA(D)1775 3699 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)1971 3680 y Fw(.)226 3864 y(4.)45 b(Compute)35 b(the)f(low)h(p)-5 b(art)35 b FA(Q)1310 3878 y Fy(2)1383 3864 y Fw(of)f Fv(b)p FA(A=B)5 b Fv(c)34 b Fw(as)h FA(Q)1982 3878 y Fy(2)2048 3864 y FB(=)27 b Fv(b)p FB([)p FA(R)2280 3878 y Fy(1)p Fu(;)p Fy(1)2375 3864 y FA(;)15 b(R)2484 3878 y Fy(1)p Fu(;)p Fy(2)2579 3864 y FA(;)g(A)2687 3878 y Fy(4)2727 3864 y FB(])p FA(=)p FB([)p FA(B)2891 3878 y Fy(1)2931 3864 y FA(;)g(B)3040 3878 y Fy(2)3080 3864 y FB(])p Fv(c)34 b Fw(with)h(r)-5 b(emainder)345 3977 y FA(R)q Fw(,)33 b(using)f(algorithm)j FA(D)1198 3995 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)1393 3977 y Fw(.)226 4161 y(5.)45 b(R)-5 b(eturn)34 b FA(Q)25 b FB(=)g([)p FA(Q)940 4175 y Fy(1)979 4161 y FA(;)15 b(Q)1091 4175 y Fy(2)1131 4161 y FB(])33 b Fw(and)h FA(R)q Fw(.)259 4339 y FB(No)m(w)f(let)f(us)g (argue)g(wh)m(y)g(algorithm)f FA(D)1654 4357 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)1882 4339 y FB(is)g(correct)j(\(under)d(the)h (assumption)f(that)h FA(D)3490 4357 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)3718 4339 y FB(is)118 4452 y(correct\).)118 4629 y FC(Lemma)h(1.)46 b Fw(L)-5 b(et)32 b(for)i FA(k)28 b Fv(2)d Fo(N)32 b Fw(and)i FA(B)c(>)24 b FB(0)p Fw(,)33 b FA(A)1722 4643 y Fy(1)1787 4629 y Fv(\025)25 b FB(0)1217 4822 y FA(A)83 b FB(=)g FA(A)1590 4836 y Fy(1)1630 4822 y FA(\014)1686 4789 y Fu(k)1749 4822 y FB(+)20 b FA(A)1908 4836 y Fu(r)2029 4822 y FA(;)108 b FB(0)26 b Fv(\024)f FA(A)2397 4836 y Fu(r)2460 4822 y FA(<)g(\014)2612 4789 y Fu(k)2655 4822 y FA(:)118 5015 y Fw(Then)33 b(for)g FA(Q)25 b FB(=)g Fv(b)p FA(A=B)5 b Fv(c)34 b Fw(and)f FA(Q)1242 5029 y Fy(1)1307 5015 y FB(=)25 b Fv(b)p FA(A)1511 5029 y Fy(1)1551 5015 y FA(=B)5 b Fv(c)33 b Fw(we)g(have)1210 5207 y FA(Q)83 b FB(=)f FA(Q)1590 5221 y Fy(1)1630 5207 y FA(\014)1686 5174 y Fu(k)1749 5207 y FB(+)20 b FA(Q)1912 5221 y Fu(r)2033 5207 y FA(;)108 b FB(0)26 b Fv(\024)f FA(Q)2405 5221 y Fu(r)2468 5207 y FA(<)g(\014)2620 5174 y Fu(k)2663 5207 y FA(:)118 5400 y Fw(Mor)-5 b(e)g(over)34 b(with)f FA(R)784 5414 y Fy(1)849 5400 y FB(:=)25 b FA(A)1038 5414 y Fy(1)1098 5400 y Fv(\000)20 b FA(Q)1261 5414 y Fy(1)1300 5400 y FA(B)5 b Fw(,)32 b(we)h(have)1486 5592 y FA(Q)1558 5606 y Fu(r)1621 5592 y FB(=)25 b Fv(b)p FB(\()p FA(R)1861 5606 y Fy(1)1901 5592 y FA(\014)1957 5555 y Fu(k)2020 5592 y FB(+)20 b FA(A)2179 5606 y Fu(r)2217 5592 y FB(\))p FA(=B)5 b Fv(c)1926 5841 y FB(4)p eop %%Page: 5 9 5 8 bop 118 399 a Fw(and)1296 511 y FA(A)20 b Fv(\000)g FA(B)5 b(Q)83 b FB(=)f FA(R)1926 525 y Fy(1)1966 511 y FA(\014)2022 478 y Fu(k)2085 511 y FB(+)20 b FA(A)2244 525 y Fu(r)2302 511 y Fv(\000)g FA(Q)2465 525 y Fu(r)2503 511 y FA(B)5 b(:)259 696 y FB(Informally)38 b(this)h(sa)m(ys)h(that)g (if)f FA(B)44 b FB(is)39 b(an)m(y)h(n)m(um)m(b)s(er)f(greater)i(than)e (0)h(and)g FA(A)g FB(an)m(y)g(n)m(um)m(b)s(er,)h(then)118 809 y(b)m(y)j(dividing)d(all)i(but)g(the)i(last)f FA(k)j FB(digits)c(of)h FA(A)g FB(b)m(y)g FA(B)49 b FB(w)m(e)c(already)e(get)j (all)d(but)g(the)i(last)f FA(k)j FB(digits)118 922 y(of)c(the)g (quotien)m(t.)79 b(\(W)-8 b(e)45 b(use)d(the)i(lemma)e(in)g(Algorithm)g FA(D)2328 940 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)2566 922 y FB(with)g FA(k)50 b FB(=)45 b FA(n=)p FB(2)f(and)e FA(A)3445 936 y Fu(r)3530 922 y FB(=)k FA(A)3715 936 y Fy(4)3754 922 y FB(,)118 1035 y FA(A)186 1049 y Fy(1)251 1035 y FB(=)25 b([)p FA(A)440 1049 y Fy(1)480 1035 y FA(;)15 b(A)588 1049 y Fy(2)628 1035 y FA(;)g(A)736 1049 y Fy(3)776 1035 y FB(])30 b(and)g FA(B)1077 1049 y Fu(r)1140 1035 y FB(=)25 b FA(B)1305 1049 y Fy(2)1345 1035 y FB(.\))259 1147 y(In)37 b(particular,)g(Lemma)g(1)h(sho)m(ws)f(that)h(in)d (algorithm)i FA(D)2328 1166 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)2561 1147 y FB(the)g(v)-5 b(alue)37 b FA(Q)3038 1161 y Fy(1)3114 1147 y FB(do)s(es)g(not)g(dep)s(end)118 1260 y(on)j FA(A)322 1274 y Fy(4)401 1260 y FB(and)g(hence)g(our)f(w)m(a)m(y)i(of)f(calling) f FA(D)1701 1279 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)1936 1260 y FB(is)g(correct.)71 b(Moreo)m(v)m(er,)44 b(the)c(lemma)g(sa)m(ys)g (that)h(it)118 1373 y(is)c(correct)i(to)f(go)h(on)f(with)e(the)i (remainder)e FA(R)1793 1387 y Fy(1)1871 1373 y FB(with)g(whic)m(h)h(w)m (e)h(are)g(left)g(after)g(determining)e FA(Q)3627 1387 y Fy(1)3704 1373 y FB(in)118 1486 y(order)25 b(to)g(compute)g FA(Q)891 1500 y Fy(2)956 1486 y FB(b)m(y)f(applying)f FA(D)1517 1505 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)1738 1486 y FB(a)i(second)g(time)g(to)h([)p FA(R)2498 1500 y Fy(1)2537 1486 y FA(;)15 b(A)2645 1500 y Fy(4)2685 1486 y FB(])25 b(and)g FA(B)k FB(and)c(that)g(the)g(o)m(v)m(erall)118 1599 y(remainder)d(will)e(b)s(e)j(the)g(remainder)f(w)m(e)h(get)i(out)e (of)g(the)h(second)f(division.)35 b(This)21 b(pro)m(v)m(es)j(the)g (correctness)118 1712 y(of)31 b(algorithm)e FA(D)711 1730 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)907 1712 y FB(.)118 1874 y FC(Pro)s(of)36 b(of)f(Lemma)e(1:)87 b FB(Since)29 b FA(R)1371 1888 y Fy(1)1436 1874 y FA(<)c(B)35 b FB(and)29 b FA(A)1880 1888 y Fu(r)1944 1874 y FA(<)c(\014)2096 1841 y Fu(k)2169 1874 y FB(w)m(e)31 b(also)f(ha)m(v)m(e)i FA(R)2764 1888 y Fy(1)2803 1874 y FA(\014)2859 1841 y Fu(k)2922 1874 y FB(+)20 b FA(A)3081 1888 y Fu(r)3145 1874 y FA(<)25 b(\014)3297 1841 y Fu(k)3339 1874 y FA(B)5 b FB(.)41 b(No)m(w)948 2074 y FA(A)21 b Fv(\000)f FB(\(1)h(+)f FA(Q)1392 2088 y Fy(1)1431 2074 y FB(\))p FA(\014)1522 2036 y Fu(k)1565 2074 y FA(B)88 b FB(=)82 b(\()p FA(A)1978 2088 y Fy(1)2039 2074 y Fv(\000)19 b FA(Q)2201 2088 y Fy(1)2241 2074 y FA(B)5 b FB(\))p FA(\014)2406 2036 y Fu(k)2469 2074 y FB(+)20 b FA(A)2628 2088 y Fu(r)2686 2074 y Fv(\000)g FA(B)5 b(\014)2907 2036 y Fu(k)1722 2212 y FB(=)82 b FA(R)1944 2226 y Fy(1)1984 2212 y FA(\014)2040 2174 y Fu(k)2103 2212 y FB(+)20 b FA(A)2262 2226 y Fu(r)2320 2212 y Fv(\000)g FA(B)5 b(\014)2541 2174 y Fu(k)1722 2350 y FA(<)82 b(B)5 b(\014)2005 2312 y Fu(k)2068 2350 y Fv(\000)20 b FA(B)5 b(\014)2289 2312 y Fu(k)1722 2487 y FB(=)82 b(0)118 2688 y(implies)22 b(that)j FA(Q)g(<)g FB(\(1)8 b(+)g FA(Q)1044 2702 y Fy(1)1084 2688 y FB(\))p FA(\014)1175 2655 y Fu(k)1219 2688 y FB(.)38 b(This)23 b(sho)m(ws)h(that)h FA(Q)2002 2702 y Fu(r)2065 2688 y FA(<)g(\014)2217 2655 y Fu(k)2260 2688 y FB(.)39 b(Moreo)m(v)m(er,)28 b(for)c FA(Q)2949 2655 y Ft(0)2949 2710 y Fu(r)3012 2688 y FB(=)h Fv(b)p FB(\()p FA(R)3252 2702 y Fy(1)3292 2688 y FA(\014)3348 2655 y Fu(k)3400 2688 y FB(+)8 b FA(A)3547 2702 y Fu(r)3585 2688 y FB(\))p FA(=B)d Fv(c)118 2801 y FB(and)30 b FA(Q)367 2768 y Ft(0)415 2801 y FB(=)25 b FA(Q)583 2815 y Fy(1)623 2801 y FA(\014)679 2768 y Fu(k)742 2801 y FB(+)20 b FA(Q)905 2768 y Ft(0)905 2823 y Fu(r)973 2801 y FB(w)m(e)31 b(ha)m(v)m(e)1100 3001 y FA(A)20 b Fv(\000)g FA(B)5 b(Q)1425 2963 y Ft(0)1531 3001 y FB(=)83 b FA(A)1753 3015 y Fy(1)1792 3001 y FA(\014)1848 2963 y Fu(k)1911 3001 y FB(+)20 b FA(A)2070 3015 y Fu(r)2129 3001 y Fv(\000)g FA(B)5 b(Q)2366 3015 y Fy(1)2404 3001 y FA(\014)2460 2963 y Fu(k)2523 3001 y Fv(\000)20 b FA(B)5 b(Q)2760 2963 y Ft(0)2760 3023 y Fu(r)1531 3139 y FB(=)83 b(\()p FA(A)1788 3153 y Fy(1)1848 3139 y Fv(\000)20 b FA(B)5 b(Q)2085 3153 y Fy(1)2124 3139 y FB(\))p FA(\014)2215 3101 y Fu(k)2278 3139 y FB(+)20 b FA(A)2437 3153 y Fu(r)2495 3139 y Fv(\000)g FA(B)5 b(Q)2732 3101 y Ft(0)2732 3161 y Fu(r)1531 3277 y FB(=)83 b FA(R)1754 3291 y Fy(1)1793 3277 y FA(\014)1849 3239 y Fu(k)1912 3277 y FB(+)20 b FA(A)2071 3291 y Fu(r)2129 3277 y Fv(\000)g FA(B)5 b(Q)2366 3239 y Ft(0)2366 3299 y Fu(r)2404 3277 y FA(;)1234 b FB(\(1\))118 3477 y(whic)m(h)29 b(is)g(a)i(n)m(um)m(b)s(er)e(from)h([0) p FA(;)15 b(B)25 b Fv(\000)20 b FB(1].)41 b(This)29 b(sho)m(ws)h(that)h FA(Q)25 b FB(=)g FA(Q)2453 3444 y Ft(0)2506 3477 y FB(and)30 b(hence)g FA(Q)3007 3491 y Fu(r)3070 3477 y FB(=)25 b FA(Q)3238 3444 y Ft(0)3238 3499 y Fu(r)3276 3477 y FB(.)41 b(Equation)29 b(1)118 3590 y(completes)i(the)f(pro)s(of)g(of)h(our)e (lemma.)p 3714 3590 4 62 v 3718 3532 55 4 v 3718 3590 V 3771 3590 4 62 v 259 3703 a(No)m(w)43 b(w)m(e)g(come)g(to)g (algorithm)e FA(D)1492 3721 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)1688 3703 y FB(.)77 b(Our)41 b(goal)h(is)g(to)h(divide)d(a)i(3)p FA(n)p FB(-digit)g(n)m(um)m(b)s(er)f FA(A)h FB(b)m(y)g(a)118 3816 y(2)p FA(n)p FB(-digit)f(n)m(um)m(b)s(er)f FA(B)46 b FB(computing)41 b(an)g FA(n)p FB(-digit)g(remainder)f FA(R)q FB(.)74 b(The)41 b(idea)g(is)g(to)h(truncate)g FA(A)g FB(to)h(2)p FA(n)118 3929 y FB(digits)30 b(and)i(to)g(truncate)g FA(B)37 b FB(to)32 b(n)f(digits)g(and)g(to)h(compute)g(the)g(quotien)m (t)2769 3906 y Fr(b)2751 3929 y FA(Q)g FB(of)g(the)f(truncated)h FA(A)g FB(and)118 4041 y FA(B)45 b FB(using)38 b(algorithm)i FA(D)979 4060 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)1175 4041 y FB(.)70 b(As)40 b(w)m(e)g(will)e(so)s(on)i(see,)2162 4018 y Fr(b)2143 4041 y FA(Q)g FB(is)g(a)g(go)s(o)s(d)g(appro)m (ximation)f(of)i(the)f(exact)118 4174 y(quotien)m(t)i FA(Q)f FB(and)f(not)i(smaller)e(than)h FA(Q)p FB(.)73 b(Computing)40 b(the)i(remainder)2790 4151 y Fr(b)2773 4174 y FA(R)i FB(=)g FA(A)27 b Fv(\000)h FA(B)3286 4151 y Fr(b)3269 4174 y FA(Q)40 b FB(requires)g(a)118 4286 y(m)m(ultiplication)33 b(on)k FA(n)p FB(-digit)d(n)m(um)m(b)s(ers,)j (for)f(whic)m(h)f(w)m(e)i(will)d(use)i(Karatsuba's)g(metho)s(d.)58 b(This)34 b(use)i(of)118 4399 y(Karatsuba)29 b(m)m(ultiplication)d(is)i (exactly)i(the)f(reason)g(wh)m(y)g(w)m(e)g(can)h(exp)s(ect)f(a)h(sp)s (eed-up)d(of)i FA(D)3390 4418 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)3615 4399 y FB(o)m(v)m(er)118 4512 y(sc)m(ho)s(ol)41 b(division.)68 b(Karatsuba's)41 b(metho)s(d)f(is)f(particularly)g(con)m (v)m(enien)m(t)i(b)s(ecause)g(it)f(also)h(divides)d(its)118 4625 y(input)29 b(in)m(to)h(t)m(w)m(o)i(halv)m(es.)118 4810 y FC(Algorithm)j(2.)45 b Fw(\()p FA(D)862 4828 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)1058 4810 y Fw(\))118 4922 y(L)-5 b(et)38 b FA(A)f Fw(and)h FA(B)k Fw(b)-5 b(e)37 b(nonne)-5 b(gative)38 b(inte)-5 b(gers,)39 b(and)f(let)g FA(A)c(<)f(\014)2245 4889 y Fu(n)2292 4922 y FA(B)42 b Fw(and)c FA(\014)2640 4889 y Fy(2)p Fu(n)2723 4922 y FA(=)p FB(2)c Fv(\024)g FA(B)k(<)33 b(\014)3219 4889 y Fy(2)p Fu(n)3302 4922 y Fw(.)56 b(A)n(lgorithm)118 5035 y FA(D)193 5054 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)422 5035 y Fw(c)-5 b(omputes)33 b(the)g(quotient)g FA(Q)25 b FB(=)g Fv(b)p FA(A=B)5 b Fv(c)34 b Fw(with)f(r)-5 b(emainder)35 b FA(R)26 b FB(=)f FA(A)20 b Fv(\000)g FA(Q)g Fv(\001)h FA(B)5 b Fw(.)226 5220 y(1.)45 b(Split)34 b FA(A)f Fw(into)g(thr)-5 b(e)g(e)34 b(p)-5 b(arts)34 b FA(A)25 b FB(=)g([)p FA(A)1576 5234 y Fy(1)1616 5220 y FA(;)15 b(A)1724 5234 y Fy(2)1764 5220 y FA(;)g(A)1872 5234 y Fy(3)1912 5220 y FB(])33 b Fw(with)h FA(A)2236 5234 y Fu(i)2289 5220 y FA(<)25 b(\014)2441 5187 y Fu(n)2488 5220 y Fw(.)226 5406 y(2.)45 b(Split)34 b FA(B)j Fw(into)c(two)h(p)-5 b(arts)34 b FA(B)c FB(=)25 b([)p FA(B)1536 5420 y Fy(1)1575 5406 y FA(;)15 b(B)1684 5420 y Fy(2)1724 5406 y FB(])33 b Fw(with)h FA(B)2049 5420 y Fu(i)2102 5406 y FA(<)25 b(\014)2254 5373 y Fu(n)2301 5406 y Fw(.)226 5592 y(3.)45 b(Distinguish)33 b(the)g(c)-5 b(ases)33 b FA(A)1274 5606 y Fy(1)1339 5592 y FA(<)25 b(B)1504 5606 y Fy(1)1576 5592 y Fw(or)33 b FA(A)1761 5606 y Fy(1)1826 5592 y Fv(\025)25 b FA(B)1991 5606 y Fy(1)2031 5592 y Fw(.)1926 5841 y FB(5)p eop %%Page: 6 10 6 9 bop 379 399 a Fw(\(a\))46 b(If)i FA(A)724 413 y Fy(1)815 399 y FA(<)k(B)1007 413 y Fy(1)1047 399 y Fw(,)e(c)-5 b(ompute)1516 376 y Fr(b)1498 399 y FA(Q)52 b FB(=)g Fv(b)p FB([)p FA(A)1878 413 y Fy(1)1918 399 y FA(;)15 b(A)2026 413 y Fy(2)2066 399 y FB(])p FA(=B)2205 413 y Fy(1)2245 399 y Fv(c)48 b Fw(with)g(r)-5 b(emainder)49 b FA(R)3063 413 y Fy(1)3150 399 y Fw(using)e(algorithm)545 511 y FA(D)620 530 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)816 511 y Fw(.)384 677 y(\(b\))e(If)29 b FA(A)705 691 y Fy(1)770 677 y Fv(\025)c FA(B)935 691 y Fy(1)975 677 y Fw(,)k(set)1189 654 y Fr(b)1170 677 y FA(Q)d FB(=)f FA(\014)1420 644 y Fu(n)1479 677 y Fv(\000)13 b FB(1)29 b Fw(and)h(set)g FA(R)2018 691 y Fy(1)2082 677 y FB(=)25 b([)p FA(A)2271 691 y Fy(1)2311 677 y FA(;)15 b(A)2419 691 y Fy(2)2459 677 y FB(])e Fv(\000)g FB([)p FA(B)2675 691 y Fy(1)2714 677 y FA(;)i FB(0])e(+)g([0)p FA(;)i(B)3100 691 y Fy(1)3141 677 y FB(])93 b(\(=)25 b([)p FA(A)3483 691 y Fy(1)3523 677 y FA(;)15 b(A)3631 691 y Fy(2)3671 677 y FB(])e Fv(\000)564 767 y Fr(b)545 790 y FA(QB)686 804 y Fy(1)726 790 y FB(\))p Fw(.)226 977 y(4.)45 b(Compute)34 b FA(D)28 b FB(=)948 954 y Fr(b)930 977 y FA(Q)20 b Fv(\001)h FA(B)1137 991 y Fy(2)1208 977 y Fw(using)33 b(Kar)-5 b(atsub)g(a)35 b(multiplic)-5 b(ation.)226 1165 y(5.)45 b(Compute)748 1142 y Fr(b)731 1165 y FA(R)26 b FB(=)f FA(R)991 1179 y Fy(1)1030 1165 y FA(\014)1086 1132 y Fu(n)1154 1165 y FB(+)20 b FA(A)1313 1179 y Fy(4)1373 1165 y Fv(\000)f FA(D)s Fw(.)226 1352 y(6.)45 b(As)33 b(long)g(as)811 1329 y Fr(b)794 1352 y FA(R)26 b(<)f FB(0)p Fw(,)33 b(r)-5 b(ep)g(e)g(at)379 1540 y(\(a\))563 1517 y Fr(b)545 1540 y FA(R)26 b FB(=)754 1517 y Fr(b)736 1540 y FA(R)21 b FB(+)f FA(B)384 1686 y Fw(\(b\))564 1663 y Fr(b)545 1686 y FA(Q)26 b FB(=)757 1663 y Fr(b)738 1686 y FA(Q)21 b Fv(\000)e FB(1)p Fw(.)226 1874 y(7.)45 b(R)-5 b(eturn)34 b FA(R)26 b FB(=)858 1851 y Fr(b)841 1874 y FA(R)p Fw(,)33 b FA(Q)25 b FB(=)1182 1851 y Fr(b)1164 1874 y FA(Q)p Fw(.)118 2061 y FB(No)m(w)31 b(wh)m(y)f(is)g(this)f(algorithm)g (correct?)42 b(T)-8 b(o)31 b(answ)m(er)f(this)f(w)m(e)i(use)f(the)h (follo)m(wing)d(lemma.)118 2249 y FC(Lemma)33 b(2.)46 b Fw(L)-5 b(et)32 b(for)i FA(k)s(;)15 b(l)r(;)g(A)1145 2263 y Fy(1)1185 2249 y FA(;)g(A)1293 2263 y Fu(r)1332 2249 y FA(;)g(B)1441 2263 y Fy(1)1481 2249 y FA(;)g(B)1590 2263 y Fu(r)1653 2249 y Fv(2)25 b Fo(N)807 2446 y FA(A)83 b FB(=)g FA(A)1180 2460 y Fy(1)1220 2446 y FA(\014)1276 2413 y Fu(k)1339 2446 y FB(+)20 b FA(A)1498 2460 y Fu(r)1621 2446 y FA(;)108 b FB(0)26 b Fv(\024)f FA(A)g(<)g(\014)2166 2413 y Fu(l)2192 2446 y FA(B)182 b(;)109 b FB(0)25 b Fv(\024)g FA(A)2811 2460 y Fu(r)2875 2446 y FA(<)g(\014)3027 2413 y Fu(k)802 2559 y FA(B)87 b FB(=)c FA(B)1181 2573 y Fy(1)1221 2559 y FA(\014)1277 2526 y Fu(k)1340 2559 y FB(+)20 b FA(B)1500 2573 y Fu(r)1621 2559 y FA(;)108 b(\014)1810 2526 y Fu(l)1836 2559 y FA(=)p FB(2)26 b Fv(\024)f FA(B)2117 2573 y Fy(1)2182 2559 y FA(<)g(\014)2334 2526 y Fu(l)2443 2559 y FA(;)109 b FB(0)25 b Fv(\024)g FA(B)2812 2573 y Fu(r)2876 2559 y FA(<)g(\014)3028 2526 y Fu(k)3070 2559 y FA(:)118 2771 y Fw(Note)39 b(that)h(our)f (assumptions)i(guar)-5 b(ante)g(e)41 b(that)f FA(A=B)h(<)c(\014)2225 2738 y Fu(l)2290 2771 y Fw(and)j FA(B)j Fw(is)c(normalize)-5 b(d.)63 b(Then)39 b(for)g FA(Q)e FB(=)118 2884 y Fv(b)p FA(A=B)5 b Fv(c)34 b Fw(and)613 2861 y Fr(b)595 2884 y FA(Q)25 b FB(=)g Fv(b)p FA(A)896 2898 y Fy(1)936 2884 y FA(=B)1050 2898 y Fy(1)1090 2884 y Fv(c)33 b Fw(we)g(have)1629 3088 y FA(Q)25 b Fv(\024)1840 3065 y Fr(b)1822 3088 y FA(Q)g Fv(\024)g FA(Q)20 b FB(+)g(2)p FA(:)118 3292 y Fw(Mor)-5 b(e)g(over,)34 b(if)e FA(Q)25 b(<)g(\014)883 3260 y Fu(l)909 3292 y FA(=)p FB(2)34 b Fw(we)f(have)g(the)g(sharp)-5 b(er)35 b(estimate)e FA(Q)25 b Fv(\024)2424 3270 y Fr(b)2406 3292 y FA(Q)g Fv(\024)g FA(Q)20 b FB(+)g(1)p Fw(.)259 3480 y FB(Informally)j(this)i(sa)m(ys)h(that)g(if)e FA(A)i FB(is)e(an)m(y)i(n)m(um)m(b)s(er,)f FA(B)30 b FB(is)24 b(an)m(y)i(normalized)e(n)m(um)m(b)s(er)g(with)g FA(l)12 b FB(+)e FA(k)29 b FB(digits)118 3593 y(and)k(the)g(quotien)m(t)h FA(A=B)k FB(\014ts)33 b(in)m(to)g FA(l)i FB(digits)d(w)m(e)i(can)f(mak) m(e)h(a)g(go)s(o)s(d)f(guess)g(ab)s(out)g(this)f(quotien)m(t)i(if)e(w)m (e)118 3706 y(just)e(divide)e(all)h(but)h(the)h(last)f FA(k)j FB(digits)c(of)i FA(A)f FB(b)m(y)h(the)f(\014rst)g FA(l)i FB(digits)d(of)i FA(B)5 b FB(.)259 3819 y(W)-8 b(e)40 b(apply)c(the)j(lemma)f(with)f FA(k)k FB(=)d FA(l)i FB(=)e FA(n)p FB(.)64 b(The)38 b(lemma's)g(b)s(ound)e(for)2889 3796 y Fr(b)2871 3819 y FA(Q)i FB(applies)e(immediately)118 3932 y(for)h(the)g(more)g(lik)m(ely)e(case)j(of)f FA(A)1284 3946 y Fy(1)1360 3932 y FA(<)e(B)1535 3946 y Fy(1)1612 3932 y FB(in)g(algorithm)h FA(D)2220 3950 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)2416 3932 y FB(.)60 b(In)36 b(the)h(sp)s(ecial)f(case)h(of) g FA(A)3463 3946 y Fy(1)3539 3932 y Fv(\025)f FA(B)3715 3946 y Fy(1)3754 3932 y FB(,)118 4064 y(our)i(c)m(hoice)i(of)697 4041 y Fr(b)679 4064 y FA(Q)f FB(=)g FA(\014)956 4031 y Fu(n)1029 4064 y Fv(\000)26 b FB(1)39 b(is)f(ev)m(en)i(smaller)d (than)i(the)g(c)m(hoice)g(of)2643 4041 y Fr(b)2624 4064 y FA(Q)g FB(in)f(the)h(lemma,)h(but)f(on)f(the)118 4177 y(other)32 b(hand)f FA(\014)642 4144 y Fu(n)710 4177 y Fv(\000)21 b FB(1)33 b(is)e(certainly)g(no)g(less)h(than)f(the)h (exact)i(v)-5 b(alue)31 b(of)h FA(Q)p FB(.)45 b(Hence)33 b(the)f(lemma's)g(b)s(ound)118 4290 y(applies)d(in)g(the)h(sp)s(ecial)f (case)i(to)s(o.)42 b(Note)32 b(that)f(w)m(e)f(alw)m(a)m(ys)h(main)m (tain)f(the)g(in)m(v)-5 b(arian)m(t)30 b(in)f(our)g(algorithm)118 4403 y(that)335 4380 y Fr(b)318 4403 y FA(R)h FB(=)f FA(A)22 b Fv(\000)f FA(B)791 4380 y Fr(b)773 4403 y FA(Q)p FB(.)48 b(W)-8 b(e)34 b(conclude)e(that)h(the)g(b)s(o)s(dy)e(of)i(the)g (lo)s(op)f(in)g(step)h(6)g(of)g(algorithm)f FA(D)3490 4421 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)3718 4403 y FB(is)118 4535 y(pro)s(cessed)g(at)h(most)g(t)m(wice.)47 b(Since)32 b(the)h(initial)c(v)-5 b(alue)32 b(of)2166 4512 y Fr(b)2148 4535 y FA(Q)g FB(is)g(no)g(less)g(than)g(the)h(exact)h FA(Q)p FB(,)f(the)f(initial)118 4647 y(v)-5 b(alue)31 b(of)476 4625 y Fr(b)459 4647 y FA(R)i FB(is)d(no)i(bigger)f(than)h FA(B)5 b FB(,)32 b(whic)m(h)e(sho)m(ws)i(that)g(at)h(the)e(end)h(of)g (step)f(6)h(w)m(e)h(m)m(ust)e(ha)m(v)m(e)3531 4625 y Fr(b)3514 4647 y FA(R)e FB(=)e FA(R)118 4760 y FB(and)j(consequen)m (tly)852 4737 y Fr(b)833 4760 y FA(Q)25 b FB(=)g FA(Q)p FB(.)41 b(This)28 b(sho)m(ws)j(the)f(correctness)h(of)g(algorithm)e FA(D)2848 4779 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)3044 4760 y FB(.)118 4932 y FC(Pro)s(of)39 b(of)f(Lemma)e(2:)47 b FB(Dividing)31 b FA(A)1475 4946 y Fy(1)1547 4932 y FB(b)m(y)j FA(B)1746 4946 y Fy(1)1818 4932 y FB(yields)e(a)h(represen)m (tation)g FA(A)2820 4946 y Fy(1)2890 4932 y FB(=)d FA(B)3060 4946 y Fy(1)3117 4909 y Fr(b)3099 4932 y FA(Q)22 b FB(+)g FA(R)3355 4946 y Fy(1)3394 4932 y FB(.)50 b(No)m(w)34 b(let)118 5044 y(us)c(consider)f FA(R)q FB(\()712 5022 y Fr(b)694 5044 y FA(Q)p FB(\))d(=)f FA(A)20 b Fv(\000)g FA(B)1194 5022 y Fr(b)1176 5044 y FA(Q)o FB(:)950 5249 y FA(R)q FB(\()1073 5226 y Fr(b)1055 5249 y FA(Q)p FB(\))26 b(=)e FA(A)d Fv(\000)f FA(B)1555 5226 y Fr(b)1537 5249 y FA(Q)82 b FB(=)h FA(A)1913 5263 y Fy(1)1953 5249 y FA(\014)2009 5211 y Fu(k)2072 5249 y FB(+)20 b FA(A)2231 5263 y Fu(r)2289 5249 y Fv(\000)g FB(\()p FA(B)2484 5263 y Fy(1)2524 5249 y FA(\014)2580 5211 y Fu(k)2643 5249 y FB(+)g FA(B)2803 5263 y Fu(r)2840 5249 y FB(\))2894 5226 y Fr(b)2875 5249 y FA(Q)1691 5387 y FB(=)83 b(\()p FA(A)1948 5401 y Fy(1)2008 5387 y Fv(\000)20 b FA(B)2168 5401 y Fy(1)2226 5364 y Fr(b)2207 5387 y FA(Q)p FB(\))p FA(\014)2370 5349 y Fu(k)2434 5387 y FB(+)g FA(A)2593 5401 y Fu(r)2651 5387 y Fv(\000)g FA(B)2811 5401 y Fu(r)2867 5364 y Fr(b)2849 5387 y FA(Q)1691 5524 y FB(=)83 b FA(R)1914 5538 y Fy(1)1953 5524 y FA(\014)2009 5487 y Fu(k)2072 5524 y FB(+)20 b FA(A)2231 5538 y Fu(r)2290 5524 y Fv(\000)g FA(B)2450 5538 y Fu(r)2506 5501 y Fr(b)2488 5524 y FA(Q)o(:)1079 b FB(\(2\))1926 5841 y(6)p eop %%Page: 7 11 7 10 bop 118 399 a FB(Since)34 b FA(R)429 413 y Fy(1)501 399 y FA(<)f(B)674 413 y Fy(1)748 399 y FB(and)h FA(A)997 413 y Fu(r)1068 399 y FA(<)e(\014)1227 366 y Fu(k)1305 399 y FB(w)m(e)j(also)g(ha)m(v)m(e)h FA(R)1913 413 y Fy(1)1953 399 y FA(\014)2009 366 y Fu(k)2075 399 y FB(+)23 b FA(A)2237 413 y Fu(r)2307 399 y FA(<)33 b(R)2480 413 y Fy(1)2519 399 y FA(\014)2575 366 y Fu(k)2641 399 y FB(+)23 b FA(\014)2791 366 y Fu(k)2867 399 y FB(=)32 b(\()p FA(R)3074 413 y Fy(1)3137 399 y FB(+)23 b(1\))p FA(\014)3367 366 y Fu(k)3444 399 y Fv(\024)32 b FA(B)3616 413 y Fy(1)3655 399 y FA(\014)3711 366 y Fu(k)3754 399 y FB(.)118 511 y(Hence)858 608 y FA(R)q FB(\()982 585 y Fr(b)963 608 y FA(Q)p FB(\))84 b Fv(\024)e FA(R)1376 622 y Fy(1)1416 608 y FA(\014)1472 575 y Fu(k)1535 608 y FB(+)20 b FA(A)1694 622 y Fu(r)1898 608 y FB(b)m(y)30 b(equation)g(2)h(since)f FA(B)2763 622 y Fu(r)2819 585 y Fr(b)2801 608 y FA(Q)25 b Fv(\025)g FB(0)1154 721 y FA(<)82 b(B)1376 735 y Fy(1)1416 721 y FA(\014)1472 688 y Fu(k)1898 721 y FB(see)31 b(ab)s(o)m(v)m(e)1154 834 y Fv(\024)82 b FA(B)5 b(;)118 1014 y FB(whic)m(h)29 b(implies)f FA(Q)d Fv(\024)898 991 y Fr(b)880 1014 y FA(Q)p FB(.)40 b(F)-8 b(or)32 b(the)e(lo)m(w)m(er)h(b)s(ound)d(of)j FA(R)q FB(\()2082 991 y Fr(b)2064 1014 y FA(Q)p FB(\))f(w)m(e)h(need)f (the)h(follo)m(wing)e(fact.)118 1192 y FC(Claim)k(1.)570 1169 y Fr(b)551 1192 y FA(Q)25 b Fv(\024)g FA(\014)800 1159 y Fu(l)847 1192 y FB(+)20 b(1)p FA(:)259 1371 y FC(Pro)s(of:)42 b FB(The)29 b(estimate)675 1539 y FA(A)743 1553 y Fy(1)782 1539 y FA(\014)838 1506 y Fu(k)964 1539 y FB(=)83 b FA(A)20 b Fv(\000)g FA(A)1365 1553 y Fu(r)964 1652 y FA(<)83 b(B)5 b(\014)1248 1619 y Fu(l)1294 1652 y Fv(\000)20 b FA(A)1453 1666 y Fu(r)2080 1652 y FB(b)m(y)30 b(our)g(assumption)f(on)h FA(A)964 1765 y FB(=)83 b(\()p FA(B)1222 1779 y Fy(1)1262 1765 y FA(\014)1318 1732 y Fu(k)1381 1765 y FB(+)20 b FA(B)1541 1779 y Fu(r)1579 1765 y FB(\))p FA(\014)1670 1732 y Fu(l)1716 1765 y Fv(\000)g FA(A)1875 1779 y Fu(r)964 1878 y FA(<)83 b FB(\()p FA(B)1222 1892 y Fy(1)1282 1878 y FB(+)20 b(1\))p FA(\014)1509 1845 y Fu(l)1536 1878 y FA(\014)1592 1845 y Fu(k)2080 1878 y FB(b)s(ecause)30 b FA(B)2485 1892 y Fu(r)2548 1878 y FA(<)25 b(\014)2700 1845 y Fu(k)2773 1878 y FB(and)30 b FA(A)3018 1892 y Fu(r)3081 1878 y Fv(\025)25 b FB(0)118 2080 y(sho)m(ws)30 b(b)m(y)g(canceling)g(out)h FA(\014)1117 2047 y Fu(k)1190 2080 y FB(that)g FA(A)1455 2094 y Fy(1)1515 2080 y Fv(\000)20 b FA(B)1675 2094 y Fy(1)1714 2080 y FA(\014)1770 2047 y Fu(l)1822 2080 y FA(<)25 b(\014)1974 2047 y Fu(l)2000 2080 y FB(.)41 b(By)30 b(this)g(w)m(e)g(get)880 2274 y FA(A)948 2288 y Fy(1)1008 2274 y Fv(\000)20 b FB(\()p FA(\014)1190 2236 y Fu(l)1236 2274 y FB(+)g(2\))p FA(B)1476 2288 y Fy(1)1542 2274 y FB(=)25 b(\()p FA(A)1741 2288 y Fy(1)1801 2274 y Fv(\000)20 b FA(\014)1948 2236 y Fu(l)1974 2274 y FA(B)2043 2288 y Fy(1)2082 2274 y FB(\))h Fv(\000)f FB(2)p FA(B)2343 2288 y Fy(1)2408 2274 y FA(<)25 b(\014)2560 2236 y Fu(l)2606 2274 y Fv(\000)20 b FB(2)p FA(B)2811 2288 y Fy(1)2876 2274 y Fv(\024)25 b FB(0)118 2467 y(b)m(y)35 b(our)f(assumption)e(on)j FA(B)1099 2481 y Fy(1)1138 2467 y FB(,)h(whic)m(h)d(sho)m(ws)i(that)g (in)e(fact)2242 2444 y Fr(b)2223 2467 y FA(Q)f(<)g(\014)2486 2434 y Fu(l)2535 2467 y FB(+)23 b(2.)54 b(No)m(w)35 b(w)m(e)g(pro)s (ceed)f(with)f(the)118 2580 y(pro)s(of)d(of)g(our)g(lemma.)40 b(Using)30 b(Claim)f(1)h(w)m(e)h(\014nd)215 2776 y FA(A)20 b Fv(\000)g FA(B)5 b FB(\()521 2753 y Fr(b)503 2776 y FA(Q)20 b Fv(\000)g FB(2\))84 b(=)e(2)p FA(B)25 b FB(+)20 b FA(R)q FB(\()1357 2753 y Fr(b)1338 2776 y FA(Q)p FB(\))850 2898 y(=)82 b(2)p FA(B)25 b FB(+)20 b(\()p FA(R)1337 2912 y Fy(1)1377 2898 y FA(\014)1433 2865 y Fu(k)1496 2898 y FB(+)g FA(A)1655 2912 y Fu(r)1693 2898 y FB(\))h Fv(\000)f FA(B)1909 2912 y Fu(r)1965 2875 y Fr(b)1947 2898 y FA(Q)166 b FB(b)m(y)30 b(equation)g(2)850 3021 y Fv(\025)82 b FB(2\()p FA(B)1152 3035 y Fy(1)1192 3021 y FA(\014)1248 2988 y Fu(k)1312 3021 y FB(+)19 b FA(B)1471 3035 y Fu(r)1509 3021 y FB(\))i Fv(\000)f FA(B)1725 3035 y Fu(r)1781 2998 y Fr(b)1763 3021 y FA(Q)350 b FB(since)29 b FA(R)2476 3035 y Fy(1)2516 3021 y FA(\014)2572 2988 y Fu(k)2635 3021 y FB(+)20 b FA(A)2794 3035 y Fu(r)2857 3021 y Fv(\025)25 b FB(0)850 3143 y(=)82 b(2)p FA(B)1117 3157 y Fy(1)1157 3143 y FA(\014)1213 3110 y Fu(k)1276 3143 y Fv(\000)20 b FA(B)1436 3157 y Fu(r)1474 3143 y FB(\()1528 3120 y Fr(b)1509 3143 y FA(Q)g Fv(\000)g FB(2\))850 3256 y FA(>)82 b(\014)1059 3223 y Fu(k)r Fy(+)p Fu(l)1199 3256 y Fv(\000)20 b FA(\014)1346 3223 y Fu(k)1389 3256 y FA(\014)1445 3223 y Fu(l)2185 3256 y FB(b)m(y)30 b(claim)f(1)i(and)f (our)g(assumption)e(on)j FA(B)3644 3270 y Fy(1)850 3369 y FB(=)82 b(0)p FA(:)118 3581 y FB(This)29 b(implies)653 3558 y Fr(b)634 3581 y FA(Q)20 b Fv(\000)g FB(2)26 b Fv(\024)f FA(Q)p FB(.)40 b(Similarly)-8 b(,)28 b(for)i FA(Q)25 b(<)g(\014)1914 3548 y Fu(l)1940 3581 y FA(=)p FB(2)31 b(w)m(e)g(ha)m(v)m(e)646 3781 y FA(A)20 b Fv(\000)g FA(B)5 b FB(\()952 3758 y Fr(b)934 3781 y FA(Q)20 b Fv(\000)g FB(1\))84 b Fv(\025)f FB(\()p FA(B)1539 3795 y Fy(1)1578 3781 y FA(\014)1634 3748 y Fu(k)1698 3781 y FB(+)19 b FA(B)1857 3795 y Fu(r)1895 3781 y FB(\))i Fv(\000)f FA(B)2111 3795 y Fu(r)2167 3758 y Fr(b)2149 3781 y FA(Q)1281 3903 y FB(=)83 b FA(B)1504 3917 y Fy(1)1543 3903 y FA(\014)1599 3870 y Fu(k)1662 3903 y Fv(\000)20 b FA(B)1822 3917 y Fu(r)1860 3903 y FB(\()1914 3880 y Fr(b)1895 3903 y FA(Q)g Fv(\000)g FB(1\))1281 4026 y Fv(\025)83 b FA(\014)1491 3993 y Fu(l)1517 4026 y FA(=)p FB(2)21 b Fv(\001)g FA(\014)1730 3993 y Fu(k)1793 4026 y Fv(\000)f FA(B)1953 4040 y Fu(r)1990 4026 y FB(\()p FA(Q)h FB(+)f(1\))84 b FA(;)108 b FB(since)2747 4003 y Fr(b)2729 4026 y FA(Q)25 b Fv(\024)g FA(Q)20 b FB(+)g(2)1281 4139 y FA(>)83 b(\014)1491 4106 y Fu(k)r Fy(+)p Fu(l)1610 4139 y FA(=)p FB(2)21 b Fv(\000)f FA(\014)1868 4106 y Fu(k)r Fy(+)p Fu(l)1988 4139 y FA(=)p FB(2)295 b FA(;)108 b FB(since)30 b FA(Q)20 b FB(+)g(1)26 b Fv(\024)e FA(\014)3134 4106 y Fu(l)3161 4139 y FA(=)p FB(2)1281 4252 y(=)83 b(0)p FA(:)118 4463 y FB(This)29 b(implies)653 4440 y Fr(b)634 4463 y FA(Q)20 b Fv(\000)g FB(1)26 b Fv(\024)f FA(Q)p FB(,)30 b(completing)g(the)h(pro)s(of)e(of)i(our)f (lemma.)p 3714 4463 4 62 v 3718 4405 55 4 v 3718 4463 V 3771 4463 4 62 v 259 4576 a(W)-8 b(e)34 b(implemen)m(t)c(algorithm)i FA(D)1358 4595 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)1586 4576 y FB(b)m(y)g(the)g(pro)s(cedure)f Fx(RecursiveDivision)p FB(.)41 b(This)31 b(pro)s(cedure)118 4689 y(has)26 b(the)g(same)g (structure)f(as)h Fx(DivTwoDigitsByOne)c FB(except)k(that)h(it)e(w)m (orks)h(on)g(large)g(n)m(um)m(b)s(ers)e(instead)118 4802 y(of)31 b(single)f(digits.)40 b(So)31 b(it)f(uses)h(a)g(subroutine)d Fx(DivThreeLongHalvesByTwo)d FB(implemen)m(ting)j(algorithm)118 4915 y FA(D)193 4933 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)423 4915 y FB(to)36 b(compute)f(the)f(upp)s(er)f(and)h(lo)m(w)m(er)g(parts) h FA(Q)2069 4929 y Fy(1)2108 4915 y FB(,)h FA(Q)2241 4929 y Fy(2)2314 4915 y FB(of)f(the)g(quotien)m(t)f(whic)m(h)g(consist) g(no)m(w)g(of)118 5028 y FA(n=)p FB(2)i(digits)d(eac)m(h.)56 b(If)35 b FA(n)f FB(is)g(o)s(dd)g(or)h(less)f(than)h(some)h(constan)m (t)g Fx(DIV_LIMIT)c FB(w)m(e)k(are)f(in)f(the)h(base)g(case)118 5141 y(of)30 b(the)g(recursion)e(in)g(whic)m(h)h(w)m(e)h(switc)m(h)f (bac)m(k)h(to)g(ordinary)e(sc)m(ho)s(ol)i(division)c(\(although)k(w)m (e)g(could)f(also)118 5254 y(run)i(do)m(wn)h(the)g(whole)g(recursion)f (tree)i(un)m(til)d(w)m(e)j(are)g(left)f(with)f(2)i(digits)e(to)i(b)s(e) f(divided)d(b)m(y)k(1)f(digit,)g(a)118 5367 y(\014ne)e(task)h(for)f Fx(DivTwoDigitsByOne)p FB(\).)259 5479 y(W)-8 b(e)36 b(ha)m(v)m(e)g(t)m(w)m(o)h(preconditions)c(for)h(this)g(recursion)g(to) h(w)m(ork.)55 b FA(B)39 b FB(has)c(to)g(b)s(e)g(normalized)e(and)h(the) 118 5592 y(quotien)m(t)d FA(Q)f FB(m)m(ust)g(\014t)g(in)m(to)h FA(n)e FB(digits.)40 b(Then)29 b(the)i(pseudo-co)s(de)f(lo)s(oks)g(lik) m(e)f(this.)1926 5841 y(7)p eop %%Page: 8 12 8 11 bop 118 399 a Fx(function)46 b(RecursiveDivision\(digit)o(_arr)o (ay)41 b(A,digit_array)k(B,)i(integer)f(n\))118 511 y({)118 624 y(\(19\))94 b(if)48 b(\(n)f(is)g(odd)g(or)g(n)h(<=)f(DIV_LIMIT\)) 118 737 y(\(20\))190 b(SchoolDivision\(A,B,Q,S\);)41 b(//)47 b(base)g(of)g(the)g(recursion)118 850 y(\(21\))94 b(else)47 b({)118 963 y(\(22\))190 b(Let)47 b([A1,A2,A3,A4]=A)c(and)k ([B1,B2]=B;)118 1076 y(\(23\))190 b([Q1,R]=DivThreeLongHalve)o(sByT)o (wo\()o(A1,A)o(2,A3)o(,B1)o(,B2,)o(n/2\))o(;)118 1189 y(\(24\))g(Let)47 b([R1,R2]=R;)118 1302 y(\(25\))190 b([Q2,S]=DivThreeLongHalve)o(sByT)o(wo\()o(R1,R)o(2,A4)o(,B1)o(,B2,)o (n/2\))o(;)118 1415 y(\(26\))g(})118 1528 y(\(27\))94 b(Return)47 b(the)f(quotient)g(Q=[Q1,Q2])f(and)i(the)g(remainder)e(S;) 118 1641 y(})259 1853 y FB(Pro)s(cedure)28 b Fx (DivThreeLongHalvesByTwo)23 b FB(has)28 b(a)h(similar)d(structure)i(as) h Fx(DivThreeHalvesByTwo)p FB(,)118 1966 y(except)i(that)g(lines)e (\(6\))i(and)f(\(7\))i(no)m(w)e(b)s(ecome)118 2154 y Fx(\(6'\))47 b([Q,C]=RecursiveDivision)o(\([A1)o(,A2])o(,B1)o(\))42 b(;)118 2341 y FB(Moreo)m(v)m(er,)33 b(w)m(e)e(ha)m(v)m(e)g(to)g (handle)e(the)i(case)g(of)g FA(A)1811 2355 y Fy(1)1876 2341 y FB(=)25 b FA(B)2041 2355 y Fy(1)2110 2341 y FB(separately)-8 b(.)259 2454 y(Let)21 b(us)f(no)m(w)g(analyze)h(the)f(running)e(time)i (of)g(algorithm)f FA(D)2258 2473 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)2474 2454 y FB(and)h(pro)s(cedure)f Fx(RecursiveDivision)p FB(,)118 2567 y(resp)s(ectiv)m(ely)-8 b(.)50 b(Let)34 b FA(M)10 b FB(\()p FA(n)p FB(\))34 b(denote)g(the)g(time)f(it)g(tak)m (es)i(to)g(m)m(ultiply)30 b(t)m(w)m(o)35 b FA(n)p FB(-digit)d(n)m(um)m (b)s(ers)h(and)f FA(D)s FB(\()p FA(n)p FB(\))118 2680 y(the)d(time)e(it)h(tak)m(es)i(to)f(divide)d(a)j(2)p FA(n)p FB(-digit)e(n)m(um)m(b)s(er)g(b)m(y)h(an)g FA(n)p FB(-digit)f(n)m(um)m(b)s(er.)38 b(The)28 b(splitting)e(op)s(erations) 118 2793 y(in)31 b(lines)f(\(22\))k(and)d(\(24\))j(are)e(done)g(in)f FA(O)s FB(\()p FA(n)p FB(\))h(\(or)g(ev)m(en)h(in)e(time)g FA(O)s FB(\(1\))i(if)e(w)m(e)i(use)f(clev)m(er)g(p)s(oin)m(ter)f (arith-)118 2906 y(metic)43 b(and)e(temp)s(orary)h(space)h(managemen)m (t\).)78 b Fx(DivThreeLongHalvesByTwo)36 b FB(mak)m(es)43 b(a)g(recursiv)m(e)118 3019 y(call)28 b(in)f(line)g(\(6'\))j(whic)m(h)d (tak)m(es)j FA(D)s FB(\()p FA(n=)p FB(2\).)41 b(The)28 b(bac)m(km)m(ultiplication)e FA(Q)17 b Fv(\001)f FA(B)2722 3033 y Fy(2)2790 3019 y FB(in)28 b(line)e(\(8\))k(tak)m(es)g FA(M)10 b FB(\()p FA(n=)p FB(2\).)118 3132 y(The)39 b(remaining)f (additions)f(and)i(subtractions)f(tak)m(e)j FA(O)s FB(\()p FA(n)p FB(\).)68 b(Let)40 b FA(c)2569 3146 y Fu(r)2647 3132 y FB(b)s(e)e(a)i(con)m(v)m(enien)m(t)h(constan)m(t)f(so)118 3245 y(that)29 b(the)g(o)m(v)m(erall)g(time)f(for)h(all)e(splitting)g (op)s(erations,)h(additions,)g(and)g(subtractions)f(is)h(less)g(than)g FA(c)3661 3259 y Fu(r)3700 3245 y FA(n)p FB(.)118 3357 y Fx(DivThreeLongHalvesByTwo)c FB(is)30 b(called)f(t)m(wice,)i(so)g(w)m (e)g(ha)m(v)m(e)g(the)g(recursion)734 3675 y FA(D)s FB(\()p FA(n)p FB(\))83 b Fv(\024)g FB(2)p FA(D)s FB(\()p FA(n=)p FB(2\))22 b(+)e(2)p FA(M)10 b FB(\()p FA(n=)p FB(2\))22 b(+)d FA(c)2134 3689 y Fu(r)2173 3675 y FA(n)1020 3812 y Fv(\024)83 b FB(2[2)p FA(D)s FB(\()p FA(n=)p FB(4\))22 b(+)e(2)p FA(M)10 b FB(\()p FA(n=)p FB(4\))22 b(+)e FA(c)2205 3826 y Fu(r)2243 3812 y FA(n=)p FB(2\)])i(+)e(2)p FA(M)10 b FB(\()p FA(n=)p FB(2\))22 b(+)e FA(c)3071 3826 y Fu(r)3109 3812 y FA(n)1020 3950 y FB(=)83 b(4)p FA(D)s FB(\()p FA(n=)p FB(4\))22 b(+)e(4)p FA(M)10 b FB(\()p FA(n=)p FB(4\))22 b(+)d(2)p FA(M)10 b FB(\()p FA(n=)p FB(2\))22 b(+)e(2)p FA(c)2650 3964 y Fu(r)2689 3950 y FA(n=)p FB(2)h(+)f FA(c)2985 3964 y Fu(r)3023 3950 y FA(n)1020 4088 y Fv(\024)83 b FA(:)15 b(:)g(:)1020 4307 y Fv(\024)83 b FB(2)1219 4270 y Fy(log)13 b Fu(n)1369 4307 y FA(D)s FB(\(1\))22 b(+)1674 4189 y Fy(log)13 b Fu(n)1682 4221 y Fr(X)1690 4416 y Fu(i)p Fy(=1)1835 4307 y FB(2)1880 4270 y Fu(i)1909 4307 y FA(M)d FB(\()p FA(n=)p FB(2)2187 4270 y Fu(i)2216 4307 y FB(\))21 b(+)2363 4189 y Fy(log)12 b Fu(n)2370 4221 y Fr(X)2378 4416 y Fu(i)p Fy(=1)2523 4307 y FA(c)2562 4321 y Fu(r)2601 4307 y FA(n)1020 4632 y FB(=)83 b FA(O)s FB(\()p FA(n)p FB(\))20 b(+)1482 4514 y Fy(log)13 b Fu(n)1490 4546 y Fr(X)1498 4741 y Fu(i)p Fy(=1)1643 4632 y FB(2)1688 4595 y Fu(i)1717 4632 y FA(M)d FB(\()p FA(n=)p FB(2)1995 4595 y Fu(i)2024 4632 y FB(\))21 b(+)e FA(O)s FB(\()p FA(n)c FB(log)i FA(n)p FB(\))259 4913 y(A)m(t)33 b(this)d(p)s(oin)m(t)h (w)m(e)h(see)g(ho)m(w)g(the)f(running)e(time)j(of)f(our)g(metho)s(d)h (dep)s(ends)d(on)j(the)f(m)m(ultiplication)118 5026 y(metho)s(d)37 b(w)m(e)g(use.)61 b(If)37 b(w)m(e)g(use)g(ordinary)e(sc)m(ho)s(ol)i (metho)s(d,)i(w)m(e)e(ha)m(v)m(e)i FA(M)10 b FB(\()p FA(n)p FB(\))37 b(=)f FA(n)3008 4993 y Fy(2)3084 5026 y FB(and)h FA(D)s FB(\()p FA(n)p FB(\))g(will)d(b)s(e)118 5139 y FA(n)173 5106 y Fy(2)232 5139 y FB(+)20 b FA(O)s FB(\()p FA(n)15 b FB(log)i FA(n)p FB(\),)30 b(whic)m(h)f(is)h(ev)m(en)h (a)g(little)e(bit)g(w)m(orse)i(than)f(sc)m(ho)s(ol)g(division.)259 5252 y(If)35 b(w)m(e)h(use)f(Karatsuba's)h(metho)s(d)f(with)f FA(M)10 b FB(\()p FA(n)p FB(\))34 b(=)g FA(K)7 b FB(\()p FA(n)p FB(\))33 b(=)h FA(c)2464 5266 y Fu(K)2556 5252 y Fv(\001)24 b FA(n)2660 5219 y Fy(log)13 b(3)2802 5252 y FB(,)37 b(the)f(ab)s(o)m(v)m(e)g(sum)f(has)g(the)118 5365 y(upp)s(er)c(b)s(ound)g(2)p FA(K)7 b FB(\()p FA(n)p FB(\))22 b(+)g FA(O)s FB(\()p FA(n)15 b FB(log)i FA(n)p FB(\))32 b(b)s(ecause)h(in)f(this)g(case)i FA(K)7 b FB(\()p FA(n=)p FB(2)2552 5332 y Fu(i)2581 5365 y FB(\))30 b(=)f FA(K)7 b FB(\()p FA(n)p FB(\))p FA(=)p FB(3)3045 5332 y Fu(i)3074 5365 y FB(.)48 b(The)33 b(use)g(of)g(ev)m(en)118 5478 y(faster)e(m)m(ultiplication)c(metho)s(ds)j(is)f(discussed)g(in)g (section)h(4.)259 5591 y(W)-8 b(e)32 b(summarize)d(our)h(result)f(in)g (the)i(follo)m(wing)1926 5841 y(8)p eop %%Page: 9 13 9 12 bop 118 399 a FC(Theorem)34 b(1.)46 b Fw(A)33 b FB(2)p FA(n)p Fw(-digit)g(numb)-5 b(er)33 b(c)-5 b(an)34 b(b)-5 b(e)34 b(divide)-5 b(d)34 b(by)f(an)h FA(n)p Fw(-digit)f(numb)-5 b(er)34 b(\(including)f(the)h(c)-5 b(ompu-)118 511 y(tation)37 b(of)e(the)h(r)-5 b(emainder\))37 b(with)g FB(2)p FA(K)7 b FB(\()p FA(n)p FB(\))22 b(+)g FA(O)s FB(\()p FA(n)15 b FB(log)i FA(n)p FB(\))35 b Fw(steps)h(if)f(the)h(quotient)f(\014ts)h (into)g FA(n)f Fw(digits)g(and)118 624 y(the)e(divisor)h(is)e (normalize)-5 b(d.)259 812 y FB(Note)25 b(that,)h(as)d(in)g(sc)m(ho)s (ol)g(division,)f(the)i(only)e(basic)h(divisions)d(of)k(t)m(w)m(o)h (digits)d(b)m(y)h(one)h(that)g(are)g(really)118 925 y(carried)30 b(out)g(are)h(divisions)d(b)m(y)i(the)g(most)h(signi\014can)m(t)f (digit)f(of)h(B.)h(F)-8 b(urther)31 b(note)g(that)g(the)f(constan)m(t)i (2)118 1038 y(is)i(just)g(an)h(upp)s(er)d(b)s(ound)h(for)h(the)h(sum) 1579 970 y Fr(P)1675 994 y Fy(log)13 b Fu(n)1675 1065 y(i)p Fy(=1)1825 1038 y FB(\(2)p FA(=)p FB(3\))2030 1005 y Fu(i)2060 1038 y FB(.)54 b(W)-8 b(e)36 b(shall)d(see)i(in)e(the)i (exp)s(erimen)m(ts)f(that)h(the)118 1151 y(di\013erence)30 b(is)f(noticeable.)259 1264 y(The)21 b(idea)g(b)s(ehind)d(our)j (recursiv)m(e)g(division)d FA(D)1837 1282 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)2055 1264 y FB(is)i(not)h(completely)g(new.)38 b(Jeb)s(elean)20 b([4)q(])h(prop)s(oses)118 1377 y(an)35 b(algorithm)e(that)j(also)e(splits)f(the)i(division)c(in)m(to)k (computing)f(\014rst)g(the)h(upp)s(er)d(part)j(and)f(then)g(the)118 1489 y(lo)m(w)m(er)25 b(part)g(of)g(the)f(quotien)m(t,)j(b)m(y)d(t)m(w) m(o)i(recursions.)38 b(Ho)m(w)m(ev)m(er)26 b(it)f(is)e(based)i(on)f(a)h (probabilistic)d(tec)m(hnique)118 1602 y(that)29 b(yields)e(correct)j (results)e(only)f(with)h(high)f(probabilit)m(y)-8 b(.)38 b(Jeb)s(elean)28 b(claims)g(that)h(his)e(algorithm)h(has)118 1715 y(a)m(v)m(erage)45 b(running)39 b(time)j(2)p FA(K)7 b FB(\()p FA(n)p FB(\))42 b(lik)m(e)g(ours.)75 b(Ho)m(w)m(ev)m(er,)47 b(in)41 b(the)h(w)m(orst)h(case,)j(Jeb)s(elean's)41 b(algorithm)118 1828 y(resorts)31 b(to)g(sc)m(ho)s(ol)f(division)d(whic)m(h)i(mak)m(es) j(the)e(running)e(time)i(quadratic.)118 2072 y Fs(2.3)112 b(Division)36 b(of)h(arbitrary)g(in)m(tegers)118 2243 y FB(No)m(w)d(that)g(w)m(e)f(ha)m(v)m(e)h(seen)g(ho)m(w)f(w)m(e)g(can)g (divide)e(a)j(2)p FA(n)p FB(-digit)e(n)m(um)m(b)s(er)g(b)m(y)h(an)g FA(n)p FB(-digit)e(n)m(um)m(b)s(er)h(w)m(e)i(still)118 2356 y(ha)m(v)m(e)26 b(to)g(solv)m(e)f(the)h(problem)d(ho)m(w)i(to)h (divide)c(an)j(arbitrary)f FA(r)s FB(-digit)g(n)m(um)m(b)s(er)f FA(A)i FB(b)m(y)g(an)g(arbitrary)f FA(s)p FB(-digit)118 2469 y(n)m(um)m(b)s(er)29 b FA(B)5 b FB(.)259 2582 y(The)42 b(main)f(idea)h(is)f(to)i(split)e(up)g FA(A)h FB(in)m(to)h(parts)f (whic)m(h)f(are)h(as)h(long)f(as)g FA(B)47 b FB(and)41 b(to)j(view)d(these)118 2695 y(parts)f(as)h(\(v)m(ery)g(large\))g (digits.)70 b(Then)40 b(w)m(e)h(can)g(conceptually)f(apply)f(an)h (ordinary)f(sc)m(ho)s(ol)h(division)118 2808 y(to)d(these)g(large)f (digits)f(in)g(whic)m(h)g(the)i(base)f(task)h(of)g(dividing)c(t)m(w)m (o)k(digits)e(b)m(y)i(one)f(is)g(carried)f(out)i(b)m(y)118 2921 y Fx(RecursiveDivision)p FB(.)52 b(The)35 b(divisor)f(for)h Fx(RecursiveDivision)c FB(is)k(alw)m(a)m(ys)h FA(B)k FB(and)35 b(the)h(dividend)c(is)118 3034 y(alw)m(a)m(ys)c(the)g(comp)s (osition)e(of)i(the)g(curren)m(t)f(remainder)f(and)h(the)h(next)f (digit)g(of)g FA(A)p FB(.)40 b(Figure)27 b(2)h(illustrates)118 3146 y(the)j(metho)s(d.)259 3259 y(First)22 b(w)m(e)g(conceptually)g (divide)e FA(B)27 b FB(in)m(to)22 b FA(m)g FB(so)g(called)g(\\division) d(blo)s(c)m(ks")j(of)h Fx(DIV_LIMIT)c FB(digits)i(eac)m(h.)118 3372 y(W)-8 b(e)23 b(compute)g FA(m)e FB(as)i(the)f(minimal)d(2)1370 3339 y Fu(k)1435 3372 y FB(that)j(is)g(greater)h(or)f(equal)f(than)h (the)g(n)m(um)m(b)s(er)f(of)h(division)d(blo)s(c)m(ks)i(of)118 3485 y FA(B)5 b FB(.)40 b(In)27 b(other)i(w)m(ords,)f FA(k)k FB(will)25 b(b)s(e)j(the)h(depth)e(of)i(the)f(recursion)f (applied)f(to)j FA(B)k FB(in)27 b Fx(RecursiveDivision)p FB(.)118 3598 y(W)-8 b(e)41 b(ha)m(v)m(e)g(to)g(extend)f FA(B)k FB(to)d(a)f(n)m(um)m(b)s(er)f(that)i(has)e FA(m)p Fv(\001)p Fx(DIV_LIMIT)f FB(digits.)68 b(Note)41 b(that)g(the)f (topmost)118 3711 y(recursiv)m(e)26 b(call)g(will)e(w)m(ork)j(no)f (matter)i(ho)m(w)f(big)e Fx(DIV_LIMIT)f FB(actually)j(is,)f(i.e.,)i(w)m (e)f(can)g(try)g(to)g(minimize)118 3824 y(the)42 b(n)m(um)m(b)s(er)f (of)h(digits)f(in)g(eac)m(h)i(division)c(blo)s(c)m(k)j(\(at)h(least)g (conceptually\))e(as)i(long)f(as)g(the)g(o)m(v)m(erall)118 3937 y(n)m(um)m(b)s(er)36 b(of)i(digits)e(of)i(the)f FA(m)h FB(division)c(blo)s(c)m(ks)j(is)f(greater)j(or)f(equal)f(than)g (the)g(n)m(um)m(b)s(er)g(of)g(digits)f(of)118 4050 y FA(B)5 b FB(.)41 b(This)28 b(tric)m(k)j(will)d(minimize)f(the)k(n)m(um) m(b)s(er)e(of)i(0s)g(w)m(e)g(w)m(aste)g(when)f(extending)f FA(B)35 b FB(and)30 b(lea)m(v)m(e)i(us)e(with)118 4163 y(smaller)35 b(n)m(um)m(b)s(ers)g(in)f(the)j(base)f(case)h(of)g(the)f (recursion;)i(our)e(tests)h(ha)m(v)m(e)g(indicated)e(that)i(w)m(e)f (gain)g(a)118 4276 y(sp)s(eedup)e(of)i(25\045)g(in)e(running)f(time.)56 b(So)35 b(w)m(e)h(compute)g FA(n)e FB(=)f FA(m)24 b Fv(\001)g FA(j)41 b FB(with)34 b FA(j)41 b FB(minimal)33 b(suc)m(h)i(that)h FA(n)f FB(is)118 4388 y(greater)g(or)e(equal)h(than)f FA(s)p FB(.)50 b(Then)32 b(w)m(e)i(extend)g FA(B)k FB(from)33 b(the)h(righ)m(t)f(to)h FA(n)f FB(digits.)49 b FA(B)38 b FB(has)c(to)g(b)s(e)f(shifted)118 4501 y(bit)m(wise)d(again)i(for)g (normalization)e(un)m(til)g(its)h(most)h(signi\014can)m(t)e(digit)h (ful\014lls)d FA(b)2913 4515 y Fu(n)p Ft(\000)p Fy(1)3077 4501 y Fv(\025)f FA(\014)5 b(=)p FB(2.)46 b(Note)33 b(that)118 4614 y FA(A)e FB(has)f(also)g(to)h(b)s(e)f(extended)g(and)g(shifted)f (b)m(y)h(the)h(same)g(amoun)m(t.)259 4727 y(Then)i(w)m(e)i (conceptually)e(divide)f FA(A)i FB(in)m(to)f FA(t)h FB(division)d(blo)s (c)m(ks)i(of)h(length)g FA(n)f FB(eac)m(h.)53 b(The)33 b(division)e(w)m(e)118 4840 y(will)i(carry)i(out)g(will)e(then)h (conceptually)h(b)s(e)f(a)i(sc)m(ho)s(ol)f(division)d(of)j(a)h FA(t)p FB(-blo)s(c)m(k)f(n)m(um)m(b)s(er)f(b)m(y)h(a)g(1-blo)s(c)m(k) 118 4953 y(n)m(um)m(b)s(er)c(\(here)i(the)g(term)g(\\blo)s(c)m(k")g (stands)f(for)h(a)g(v)m(ery)g(large)g(blo)s(c)m(k)f(of)h(digits,)f (namely)g(for)g FA(n)g FB(digits\).)118 5066 y(This)38 b(is)h(a)h(particularly)e(simple)g(t)m(yp)s(e)i(of)g(sc)m(ho)s(ol)g (division)d(since)i(the)h(divisor)e(consists)h(of)h(only)f(one)118 5179 y(blo)s(c)m(k,)31 b(whic)m(h)g(no)m(w)g(pla)m(ys)g(the)g(role)g (of)h(a)g(single)e(digit.)42 b(No)32 b(bac)m(km)m(ultiplication)d(is)h (needed,)i(so)g(sc)m(ho)s(ol)118 5292 y(division)27 b(b)s(ecomes)k(a)g (linear)e(time)h(algorithm)f(in)g(the)i(n)m(um)m(b)s(er)e(of)h(blo)s(c) m(ks.)118 5479 y FC(Algorithm)35 b(3.)45 b Fw(\()p FA(D)862 5498 y Fu(r)r(=s)969 5479 y Fw(\))118 5592 y(L)-5 b(et)28 b FA(A)f Fw(and)h FA(B)j Fw(b)-5 b(e)27 b(nonne)-5 b(gative)28 b(inte)-5 b(gers)28 b(such)f(that)i FA(A)c(<)g(\014)2196 5559 y Fu(r)2261 5592 y Fw(and)j FA(B)i(<)25 b(\014)2683 5559 y Fu(s)2720 5592 y Fw(.)40 b(A)n(lgorithm)28 b FA(D)3284 5611 y Fu(r)r(=s)3417 5592 y Fw(c)-5 b(omputes)1926 5841 y FB(9)p eop %%Page: 10 14 10 13 bop 501 912 a @beginspecial 0 @llx 0 @lly 344 @urx 73 @ury 3440 @rwi @setspecial %%BeginDocument: FastDiv.pstex /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save -17.0 95.0 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit n -1000 4156 m -1000 -1000 l 13033 -1000 l 13033 4156 l cp clip 0.03000 0.03000 sc % Polyline 30.000 slw n 9900 1800 m 12000 1800 l 12000 2400 l 9900 2400 l gs 0.70 setgray ef gr gs col0 s gr % Polyline n 1500 1800 m 7800 1800 l 7800 2400 l 1500 2400 l gs 0.70 setgray ef gr gs col0 s gr % Polyline 7.500 slw gs clippath 7593 1455 m 7773 1500 l 7593 1545 l 7815 1545 l 7815 1455 l cp clip n 4800 1500 m 7800 1500 l gs col0 s gr gr % arrowhead n 7593 1455 m 7773 1500 l 7593 1545 l col0 s % Polyline gs clippath 1707 1545 m 1527 1500 l 1707 1455 l 1485 1455 l 1485 1545 l cp clip n 4200 1500 m 1500 1500 l gs col0 s gr gr % arrowhead n 1707 1545 m 1527 1500 l 1707 1455 l col0 s % Polyline [60] 0 sd n 7200 1800 m 7200 2400 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 6600 1800 m 6600 2400 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 6000 1800 m 6000 2400 l gs col0 s gr [] 0 sd % Polyline gs clippath 7593 2730 m 7773 2775 l 7593 2820 l 7815 2820 l 7815 2730 l cp clip n 6900 2775 m 7800 2775 l gs col0 s gr gr % arrowhead n 7593 2730 m 7773 2775 l 7593 2820 l col0 s % Polyline 30.000 slw n 1500 1800 m 600 1800 l 600 2400 l 1500 2400 l gs col0 s gr % Polyline 7.500 slw gs clippath 807 3045 m 627 3000 l 807 2955 l 585 2955 l 585 3045 l cp clip n 3600 3000 m 600 3000 l gs col0 s gr gr % arrowhead n 807 3045 m 627 3000 l 807 2955 l col0 s % Polyline gs clippath 7593 2955 m 7773 3000 l 7593 3045 l 7815 3045 l 7815 2955 l cp clip n 4500 3000 m 7800 3000 l gs col0 s gr gr % arrowhead n 7593 2955 m 7773 3000 l 7593 3045 l col0 s % Polyline 30.000 slw n 9900 1800 m 9600 1800 l 9600 2400 l 9900 2400 l gs col0 s gr % Polyline 7.500 slw gs clippath 11498 2730 m 11418 2700 l 11498 2670 l 11385 2670 l 11385 2730 l cp clip n 11550 2700 m 11400 2700 l gs col0 s gr gr % arrowhead n 11498 2730 m 11418 2700 l 11498 2670 l col0 s % Polyline gs clippath 9807 3045 m 9627 3000 l 9807 2955 l 9585 2955 l 9585 3045 l cp clip n 10125 3000 m 9600 3000 l gs col0 s gr gr % arrowhead n 9807 3045 m 9627 3000 l 9807 2955 l col0 s % Polyline gs clippath 10107 1545 m 9927 1500 l 10107 1455 l 9885 1455 l 9885 1545 l cp clip n 10725 1500 m 9900 1500 l gs col0 s gr gr % arrowhead n 10107 1545 m 9927 1500 l 10107 1455 l col0 s % Polyline gs clippath 11793 1455 m 11973 1500 l 11793 1545 l 12015 1545 l 12015 1455 l cp clip n 11175 1500 m 12000 1500 l gs col0 s gr gr % arrowhead n 11793 1455 m 11973 1500 l 11793 1545 l col0 s % Polyline gs clippath 5607 2820 m 5427 2775 l 5607 2730 l 5385 2730 l 5385 2820 l cp clip n 6300 2775 m 5400 2775 l gs col0 s gr gr % arrowhead n 5607 2820 m 5427 2775 l 5607 2730 l col0 s % Polyline 30.000 slw n 3000 1800 m 3000 2400 l gs col0 s gr % Polyline 7.500 slw [60] 0 sd n 10200 1800 m 10200 2400 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 10800 1800 m 10800 2400 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 11400 1800 m 11400 2400 l gs col0 s gr [] 0 sd % Polyline gs clippath 11902 2670 m 11982 2700 l 11902 2730 l 12015 2730 l 12015 2670 l cp clip n 11850 2700 m 12000 2700 l gs col0 s gr gr % arrowhead n 11902 2670 m 11982 2700 l 11902 2730 l col0 s % Polyline gs clippath 11793 2955 m 11973 3000 l 11793 3045 l 12015 3045 l 12015 2955 l cp clip n 11550 3000 m 12000 3000 l gs col0 s gr gr % arrowhead n 11793 2955 m 11973 3000 l 11793 3045 l col0 s % Polyline 30.000 slw n 5400 1800 m 5400 2400 l gs col0 s gr $F2psEnd rs %%EndDocument @endspecial 3081 510 a gsave 0 0 0 setrgbcolor 3081 510 a Fn(s)3117 510 y grestore 3117 510 a 1315 892 a gsave 0 0 0 setrgbcolor 1315 892 a Fn(t)17 b Fm(\001)g Fn(n)1444 892 y grestore 1444 892 a 1990 836 a gsave 0 0 0 setrgbcolor 1990 836 a Fn(n)2036 836 y grestore 2036 836 a 2927 892 a gsave 0 0 0 setrgbcolor 2927 892 a Fn(n)22 b Fq(=)f Fn(m)c Fm(\001)g Fn(j)3234 892 y grestore 3234 892 a 3265 817 a gsave 0 0 0 setrgbcolor 3265 817 a Fn(j)3300 817 y grestore 3300 817 a 1465 517 a gsave 0 0 0 setrgbcolor 1465 517 a Fn(r)1502 517 y grestore 1502 517 a 1446 386 a gsave 0 0 0 setrgbcolor 1446 386 a Fl(A)1519 386 y grestore 1519 386 a 3040 386 a gsave 0 0 0 setrgbcolor 3040 386 a Fl(B)3119 386 y grestore 3119 386 a 284 1095 a Fp(Figure)31 b(2:)37 b FD(F)-7 b(astDivision)26 b(is)i(a)e Fk(t)p FD(-b)n(y-1)g(division)h(on)g(large) e(digit)j(blo)r(c)n(ks.)36 b Fk(B)31 b FD(is)c(extended)h(from)e Fk(s)i FD(to)f Fk(n)698 1195 y FD(digits.)36 b(Then)28 b Fk(A)g FD(is)g(extended)f(to)h(a)f(m)n(ultiple)h(of)g Fk(n)f FD(digits.)118 1568 y Fw(the)33 b(quotient)g FA(Q)25 b FB(=)g Fv(b)p FA(A=B)5 b Fv(c)33 b Fw(with)h(r)-5 b(emainder)34 b FA(R)26 b FB(=)f FA(A)c Fv(\000)f FA(Q)g Fv(\001)g FA(B)5 b Fw(.)226 1755 y(1.)45 b(Set)33 b FA(m)25 b FB(=)g Fw(min)7 b Fv(f)p FB(2)952 1722 y Fu(k)996 1755 y Fv(j)p FB(2)1066 1722 y Fu(k)1130 1755 y Fv(\001)20 b Fx(DIV)p 1325 1755 28 4 v 33 w(LIMIT)j FA(>)i(s)p Fv(g)p Fw(.)226 1943 y(2.)45 b(Set)33 b FA(j)e FB(=)25 b Fv(d)p FA(s=m)p Fv(e)33 b Fw(and)h FA(n)24 b FB(=)h FA(j)h Fv(\001)21 b FA(m)p Fw(.)226 2131 y(3.)45 b(Set)33 b FA(\033)28 b FB(=)d Fw(max)12 b Fv(f)p FA(\034)e Fv(j)p FB(2)1016 2098 y Fu(\034)1081 2131 y Fv(\001)20 b FA(B)30 b(<)25 b(\014)1377 2098 y Fu(n)1424 2131 y Fv(g)p Fw(.)226 2318 y(4.)79 b(\(a\))46 b(Set)33 b FA(B)d FB(=)25 b FA(B)f Fv(\001)d FB(2)1080 2285 y Fu(\033)1160 2318 y Fw(to)33 b(normalize)h FA(B)5 b Fw(.)384 2464 y(\(b\))45 b(Set)33 b FA(A)25 b FB(=)g FA(A)c Fv(\001)f FB(2)1069 2431 y Fu(\033)1149 2464 y Fw(to)33 b(shift)g FA(A)g Fw(by)g(the)g(same)g (amount)h(as)f FA(B)5 b Fw(.)226 2652 y(5.)45 b(Set)33 b FA(t)25 b FB(=)g Fw(min)7 b Fv(f)p FA(l)28 b Fv(\025)d FB(2)p Fv(j)p FA(A)h(<)f(\014)1327 2619 y Fu(l)q Ft(\001)p Fu(n)1416 2652 y FA(=)p FB(2)p Fv(g)p Fw(.)226 2840 y(6.)45 b(Split)39 b FA(A)f Fw(c)-5 b(onc)g(eptual)5 b(ly)40 b(into)e FA(t)g Fw(blo)-5 b(cks)38 b FB([)p FA(A)1809 2854 y Fu(t)p Ft(\000)p Fy(1)1929 2840 y FA(;)15 b(:)g(:)g(:)i(;)e(A) 2199 2854 y Fy(0)2239 2840 y FB(])2264 2855 y Fu(\014)2307 2836 y Fj(n)2388 2840 y FB(=)35 b FA(A)p Fw(.)57 b(Note)38 b(that)h(the)f(leftmost)i(bit)d(of)345 2953 y FA(A)413 2967 y Fu(t)p Ft(\000)p Fy(1)566 2953 y Fw(is)32 b FB(0)h Fw(by)g(our)g(choic)-5 b(e)33 b(of)g FA(t)p Fw(.)226 3140 y(7.)45 b(Set)33 b FA(Z)563 3154 y Fu(t)p Ft(\000)p Fy(2)708 3140 y FB(=)25 b([)p FA(A)897 3154 y Fu(t)p Ft(\000)p Fy(1)1017 3140 y FA(;)15 b(A)1125 3154 y Fu(t)p Ft(\000)p Fy(2)1246 3140 y FB(])p Fw(.)226 3328 y(8.)45 b(F)-7 b(or)34 b FA(i)f Fw(fr)-5 b(om)34 b FA(t)20 b Fv(\000)g FB(2)33 b Fw(downto)h FB(0)f Fw(do)379 3515 y(\(a\))46 b(Using)32 b(algorithm)j FA(D)1286 3534 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)1515 3515 y Fw(c)-5 b(ompute)33 b FA(Q)1944 3529 y Fu(i)1972 3515 y Fw(,)g FA(R)2102 3529 y Fu(i)2163 3515 y Fw(such)f(that)i FA(Z)2617 3529 y Fu(i)2671 3515 y FB(=)25 b FA(B)5 b(Q)2913 3529 y Fu(i)2960 3515 y FB(+)20 b FA(R)3120 3529 y Fu(i)3149 3515 y Fw(.)384 3662 y(\(b\))45 b(If)33 b FA(i)25 b(>)g FB(0)p Fw(,)33 b(set)g FA(Z)1103 3676 y Fu(i)p Ft(\000)p Fy(1)1247 3662 y FB(=)25 b([)p FA(R)1437 3676 y Fu(i)1465 3662 y FA(;)15 b(A)1573 3676 y Fu(i)p Ft(\000)p Fy(1)1692 3662 y FB(])p Fw(.)226 3849 y(9.)45 b(R)-5 b(eturn)34 b FA(Q)25 b FB(=)g([)p FA(Q)940 3863 y Fu(t)p Ft(\000)p Fy(2)1060 3849 y FA(;)15 b(:)g(:)g(:)h(;)f(Q)1333 3863 y Fy(0)1373 3849 y FB(])33 b Fw(and)g FA(R)26 b FB(=)f FA(R)1867 3863 y Fy(0)1927 3849 y Fv(\001)c FB(2)2018 3816 y Ft(\000)p Fu(\033)2120 3849 y Fw(.)259 4037 y FB(W)-8 b(e)42 b(pro)m(v)m(e)f(no)m(w)f(that)h (algorithm)e FA(D)1586 4055 y Fu(r)r(=s)1732 4037 y FB(is)g(correct.)72 b(The)40 b(n)m(um)m(b)s(er)e FA(Z)2801 4051 y Fu(t)p Ft(\000)p Fy(2)2961 4037 y FB(with)h(whic)m(h)g(w)m(e)i(start)118 4150 y(the)d(computation)f(is)g(b)s(ounded)f(b)m(y)h FA(\014)1486 4117 y Fy(2)p Fu(n)1568 4150 y FA(=)p FB(2)i(and)e(hence)h (that)g(precondition)e(of)h(algorithm)g FA(D)3485 4168 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)3718 4150 y FB(is)118 4263 y(ful\014lled)25 b(that)j(ensures)f(that)i(the)f(quotien)m(t)g(is)g (less)f(than)h FA(\014)2179 4230 y Fu(n)2226 4263 y FB(.)40 b(In)27 b(the)h(lo)s(op)g(o)m(v)m(er)h(the)f(index)f FA(i)p FB(,)i(the)f(same)118 4376 y(precondition)c(is)h(alw)m(a)m(ys)h (ful\014lled)c(b)s(ecause)k(the)g(remainders)e(that)i(w)m(e)h (propagate)g(are)f(all)e(smaller)h(than)118 4488 y FA(B)5 b FB(.)40 b(Rep)s(eated)28 b(application)f(of)h(Lemma)g(1)h(sho)m(w)f (that)h(our)f(w)m(a)m(y)h(of)f(successiv)m(ely)g(computing)f(the)i (parts)118 4601 y FA(Q)190 4615 y Fu(t)p Ft(\000)p Fy(2)310 4601 y FA(;)15 b(:)g(:)g(:)h(;)f(Q)583 4615 y Fy(0)663 4601 y FB(of)39 b FA(Q)h FB(and)f(propagating)g(the)h(remainders)e(is)g (correct)j(and)e(that)h(in)e(the)i(end)f(w)m(e)h(will)118 4714 y(get)h(the)g(o)m(v)m(erall)f(division)d(remainder)h (\(left-shifted)i(b)m(y)f(2)2212 4681 y Fu(\033)2260 4714 y FB(\).)70 b(This)38 b(sho)m(ws)i(that)h(algorithm)e FA(D)3584 4733 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)118 4827 y FB(computes)31 b(the)f(correct)i(v)-5 b(alues)29 b(of)i FA(Q)f FB(and)g FA(R)q FB(.)259 4940 y(Let)h(us)f(analyze)h(the)f (running)e(time.)40 b(Ho)m(w)31 b(man)m(y)g(iterations)f(do)g(w)m(e)h (ha)m(v)m(e?)118 5128 y FC(Claim)i(2.)46 b Fw(We)32 b(have)h FA(t)26 b Fv(\024)f Fw(max)11 b Fv(f)p FB(2)p FA(;)k Fv(d)p FB(\()p FA(r)25 b FB(+)20 b(1\))p FA(=s)p Fv(eg)34 b Fw(in)f(algorithm)i FA(D)2497 5146 y Fu(r)r(=s)2603 5128 y Fw(.)259 5315 y FC(Pro)s(of:)87 b FB(W)-8 b(e)32 b(ma)m(y)e(assume)g(that)g(the)g(highest)f(digit)g FA(b)2211 5329 y Fu(s)p Ft(\000)p Fy(1)2367 5315 y FB(of)h FA(B)35 b FB(is)29 b(nonzero.)40 b(Then)29 b(our)h(c)m(hoice)g(of)118 5428 y FA(t)j FB(ensures)f FA(t)d Fv(\024)g(d)p FB(\()p FA(r)c FB(+)c FA(n)h Fv(\000)f FA(s)h FB(+)f(1\))p FA(=n)p Fv(e)34 b FB(b)s(ecause,)g(after)f(shifting,)f FA(A)d(<)g(\014)2671 5395 y Fu(r)r Fy(+)p Fu(n)p Ft(\000)p Fu(s)p Fy(+1)2985 5428 y FA(=)p FB(2.)49 b(If)32 b FA(r)g Fv(\024)d FA(s)21 b FB(+)h(1,)34 b(w)m(e)1903 5841 y(10)p eop %%Page: 11 15 11 14 bop 118 399 a FB(clearly)30 b(ha)m(v)m(e)i FA(t)26 b FB(=)g(2.)42 b(Otherwise,)30 b(w)m(e)h(consider)f(the)h(estimate)h (\()p FA(u)20 b FB(+)h FA(x)p FB(\))p FA(=)p FB(\()p FA(v)k FB(+)20 b FA(x)p FB(\))26 b Fv(\024)g FA(u=v)34 b FB(whic)m(h)c(is)g(true)118 511 y(for)g(0)c FA(<)f(v)j Fv(\024)d FA(u;)15 b(x)26 b Fv(\025)f FB(0.)41 b(Using)30 b(this)f(with)g FA(u)c FB(=)g FA(r)e FB(+)d(1,)31 b FA(v)e FB(=)c FA(s)p FB(,)30 b FA(x)25 b FB(=)g FA(n)20 b Fv(\000)g FA(s)29 b FB(w)m(e)i(get)1105 685 y FA(r)23 b FB(+)c FA(n)h Fv(\000)g FA(s)g FB(+)g(1)p 1105 725 520 4 v 1337 809 a FA(n)1660 746 y FB(=)1765 685 y(\()p FA(r)k FB(+)19 b(1\))i(+)f(\()p FA(n)g Fv(\000)g FA(s)p FB(\))p 1765 725 661 4 v 1880 809 a FA(s)f FB(+)h(\()p FA(n)g Fv(\000)g FA(s)p FB(\))2462 746 y Fv(\024)2567 685 y FA(r)j FB(+)d(1)p 2567 725 201 4 v 2646 809 a FA(s)2778 746 y(;)118 982 y FB(sho)m(wing)30 b(our)f(claim)h(b)m(y)g(rounding)e(up)i(to)h(the)f (next)h(in)m(teger.)p 3714 982 4 62 v 3718 924 55 4 v 3718 982 V 3771 982 4 62 v 259 1095 a(Algorithm)23 b FA(D)765 1114 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)985 1095 y FB(is)f(executed)j FA(t)7 b Fv(\000)g FB(1)24 b(times)g(and,)g(b)s (ecause)g FA(n)h Fv(\024)g FB(2)7 b Fv(\001)g FA(s)p FB(,)26 b(ev)m(ery)e(execution)g(tak)m(es)i(time)118 1218 y FA(D)s FB(\()p FA(n)p FB(\))i Fv(\024)f FA(D)s FB(\(2)p FA(s)p FB(\))h Fv(\024)g FA(K)7 b FB(\(2)p FA(s)p FB(\))21 b(+)g FA(O)s FB(\(2)p FA(s)15 b FB(log)i(2)p FA(s)p FB(\).)45 b(With)32 b FA(K)7 b FB(\()p FA(s)p FB(\))27 b(=)h FA(c)2300 1232 y Fu(K)2389 1218 y Fv(\001)22 b FA(s)2479 1185 y Fy(log)12 b(3)2652 1218 y FB(w)m(e)33 b(conclude)e(that)h(the)g(o)m(v)m(erall)118 1331 y(running)g(time)j(is) f FA(O)s FB(\()p FA(r)s(=s)23 b Fv(\001)g FB(\()p FA(K)7 b FB(\()p FA(s)p FB(\))24 b(+)f FA(O)s FB(\()p FA(s)15 b FB(log)h FA(s)p FB(\)\)\))34 b(=)e FA(O)s FB(\()p FA(r)s(s)2205 1298 y Fy(log)q(\(3\))p Ft(\000)p Fy(1)2503 1331 y FB(+)23 b FA(r)18 b FB(log)f FA(s)p FB(\))34 b(whic)m(h)g(is)g(a)h(remark)-5 b(able)118 1443 y(asymptotic)42 b(impro)m(v)m(emen)m(t)f(o)m(v)m(er)i (the)e(\002\()p FA(r)s(s)p FB(\))g(time)g(b)s(ound)e(for)i(ordinary)e (sc)m(ho)s(ol)i(division.)70 b(Let)42 b(us)118 1556 y(summarize)29 b(this)h(result)f(in)g(the)i(follo)m(wing)118 1734 y FC(Theorem)j(2.)46 b Fw(A)n(n)34 b FA(s)p Fw(-digit)g(numb)-5 b(er)36 b(c)-5 b(an)35 b(b)-5 b(e)35 b(divide)-5 b(d)36 b(by)f(an)h FA(r)s Fw(-digit)e(numb)-5 b(er)35 b(\(including)g(the)h(c) -5 b(ompu-)118 1847 y(tation)34 b(of)f(the)g(r)-5 b(emainder\))34 b(with)g FA(O)s FB(\()p FA(r)s(s)1504 1814 y Fy(log\(3\))p Ft(\000)p Fy(1)1799 1847 y FB(+)20 b FA(r)e FB(log)e FA(s)p FB(\))33 b Fw(steps.)118 2131 y Fz(3)135 b(Division)46 b(without)f(remainder)118 2334 y FB(In)28 b(this)f(section)i(w)m(e)g (discuss)d(divisions)g(without)h(remainder.)39 b(The)28 b(problem)f(here)h(is)f(to)j(compute)e(only)118 2447 y(the)35 b(quotien)m(t)g FA(Q)e FB(=)f Fv(b)p FA(A=B)5 b Fv(c)36 b FB(of)f FA(A)f FB(and)h FA(B)k FB(but)34 b Fw(not)44 b FB(the)35 b(remainder)e FA(R)h FB(=)e FA(A)23 b Fv(\000)g FA(QB)5 b FB(.)53 b(Of)35 b(course,)h(our)118 2560 y(hop)s(e)26 b(is)g(that)h FA(Q)g FB(alone)g(can)g(b)s(e)f (computed)g(faster)h(than)g FA(Q)g FB(and)f FA(R)h FB(together.)41 b(It)27 b(will)d(turn)i(out)h(that)g(w)m(e)118 2673 y(can)k(impro)m(v)m (e)g(the)g(algorithm)f(for)h(recursiv)m(e)f(division)e(from)j(the)g (last)g(section)g(suc)m(h)f(that)i(it)e(computes)118 2786 y(quotien)m(ts)36 b(without)e(remainder)g(in)g(a)m(v)m(erage)k (time)d(3)p FA(=)p FB(2)p FA(K)7 b FB(\()p FA(n)p FB(\))25 b(+)e FA(O)s FB(\()p FA(n)15 b FB(log)i FA(n)p FB(\).)55 b(Ho)m(w)m(ev)m(er,)39 b(in)c(the)g(w)m(orst)118 2899 y(case,)d(namely)d(if)g(the)i(remainder)d(is)i(small,)f(the)h(running)e (time)i(ma)m(y)g(b)s(ecome)h(5)p FA(=)p FB(2)p FA(K)7 b FB(\()p FA(n)p FB(\))21 b(+)f FA(O)s FB(\()p FA(n)15 b FB(log)h FA(n)p FB(\).)118 3012 y(One)34 b(imp)s(ortan)m(t)f (application)f(of)i(division)d(without)i(remainder)f(is)h(the)h (computation)g(of)g(ro)s(ots)g(using)118 3125 y(Newton)29 b(iteration.)39 b(F)-8 b(or)29 b(the)f(exact)h(computation)f(of)g(the)g (signs)f(of)h(arithmetic)f(expressions)g(in)m(v)m(olving)118 3238 y(ro)s(ots,)45 b(these)d(ro)s(ots)g(ma)m(y)g(ha)m(v)m(e)h(to)f(b)s (e)f(computed)h(up)e(to)j(v)m(ery)f(high)e(precision,)j(see)f([2)q(].) 75 b(Hence)42 b(a)118 3351 y(sub)s(quadratic)28 b(metho)s(d)i(for)g (division)e(is)h(a)i(m)m(ust)f(for)g(this)f(application.)118 3592 y Fs(3.1)112 b(Pro)s(cedure)38 b Fl(D)999 3556 y Ft(\000)118 3764 y FB(Our)c(new)i(pro)s(cedure)e(for)h(computing)g (divisions)d(without)j(remainder)f(has)h(three)h(phases.)56 b(The)35 b(\014rst)118 3877 y(phase,)41 b(called)d FA(D)751 3844 y Ft(\000)810 3877 y FB(,)j(is)d(v)m(ery)h(similar)d(to)k(the)f (pro)s(cedure)e FA(D)2281 3895 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)2516 3877 y FB(whic)m(h)g(w)m(e)j(henceforth)e(denote)i(b)m(y)118 3990 y FA(D)196 3957 y Fy(+)285 3990 y FB(for)29 b(simplicit)m(y)-8 b(.)39 b(The)29 b(basic)g(idea)h(is)e(to)j(omit)f(the)g(computation)f (of)h(the)g(o)m(v)m(erall)g(remainder)f(in)f(the)118 4103 y(second)j(recursion.)39 b(Lo)s(ok)30 b(at)h(Figure)f(3)h(for)f (reference.)118 4280 y FC(Algorithm)35 b(4.)45 b Fw(\()p FA(D)865 4247 y Ft(\000)924 4280 y Fw(\))33 b FC(Pro)s(cedure)j FA(D)1578 4247 y Ft(\000)1637 4280 y FC(:)118 4393 y Fw(L)-5 b(et)26 b FA(A)f Fw(and)i FA(B)i Fw(b)-5 b(e)26 b(the)f(divisor)i(and)f(the)g(dividend,)h(and)g(let)e FA(A)h(<)e(\014)2401 4360 y Fu(n)2449 4393 y FA(B)29 b Fw(and)e FA(\014)2773 4360 y Fu(n)2820 4393 y FA(=)p FB(2)f Fv(\024)f FA(B)30 b(<)25 b(\014)3283 4360 y Fu(n)3330 4393 y Fw(.)39 b(Pr)-5 b(o)g(c)g(e)g(dur)g(e)118 4506 y FA(D)196 4473 y Ft(\000)287 4506 y Fw(c)g(omputes)34 b(an)g(appr)-5 b(oximation)1429 4483 y Fr(b)1411 4506 y FA(Q)32 b Fw(of)h(the)g(quotient)g Fv(b)p FA(A=B)5 b Fv(c)p Fw(.)226 4684 y(1.)45 b(If)33 b FA(n)f Fw(is)h(o)-5 b(dd)34 b(or)f(to)-5 b(o)34 b(smal)5 b(l,)34 b(c)-5 b(ompute)1707 4661 y Fr(b)1688 4684 y FA(Q)25 b FB(=)g Fv(b)p FA(A=B)5 b Fv(c)34 b Fw(by)e(scho)-5 b(ol)35 b(division.)226 4867 y(2.)45 b(Split)j FA(A)e Fw(into)h(four)g(p)-5 b(arts)49 b FA(A)i FB(=)f([)p FA(A)1669 4881 y Fy(1)1709 4867 y FA(;)15 b(:)g(:)g(:)h(;)f(A)1978 4881 y Fy(4)2018 4867 y FB(])47 b Fw(with)g FA(A)2369 4881 y Fu(i)2448 4867 y FA(<)j(\014)2625 4834 y Fu(n=)p Fy(2)2743 4867 y Fw(.)84 b(Split)47 b FA(B)k Fw(into)c(two)h(p)-5 b(arts)345 4980 y FA(B)30 b FB(=)25 b([)p FA(B)634 4994 y Fy(1)674 4980 y FA(;)15 b(B)783 4994 y Fy(2)823 4980 y FB(])32 b Fw(with)i FA(B)1147 4994 y Fu(i)1200 4980 y FA(<)25 b(\014)1352 4947 y Fu(n=)p Fy(2)1470 4980 y Fw(.)226 5164 y(3.)45 b(Compute)c(the)f(high)g(p)-5 b(art)41 b FA(Q)1366 5178 y Fy(1)1445 5164 y Fw(of)e Fv(b)p FA(A=B)5 b Fv(c)41 b Fw(as)f FA(Q)2061 5178 y Fy(1)2137 5164 y FB(=)e Fv(b)p FB([)p FA(A)2379 5178 y Fy(1)2419 5164 y FA(;)15 b(A)2527 5178 y Fy(2)2567 5164 y FA(;)g(A)2675 5178 y Fy(3)2715 5164 y FB(])p FA(=)p FB([)p FA(B)2879 5178 y Fy(1)2919 5164 y FA(;)g(B)3028 5178 y Fy(2)3068 5164 y FB(])p Fv(c)40 b Fw(with)h(r)-5 b(emainder)345 5277 y FA(R)414 5291 y Fy(1)479 5277 y FB(=)25 b([)p FA(R)669 5291 y Fy(1)p Fu(;)p Fy(1)764 5277 y FA(;)15 b(R)873 5291 y Fy(1)p Fu(;)p Fy(2)967 5277 y FB(])p Fw(,)33 b(using)f(algorithm)j FA(D)1775 5295 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)1971 5277 y Fw(.)226 5479 y(4.)45 b(Compute)33 b(an)g(appr)-5 b(oximation)1476 5456 y Fr(b)1457 5479 y FA(Q)1529 5493 y Fy(2)1600 5479 y Fw(of)32 b(the)h(low)f(p)-5 b(art)34 b FA(Q)2279 5493 y Fy(2)2350 5479 y Fw(of)e Fv(b)p FA(A=B)5 b Fv(c)p Fw(:)42 b(R)-5 b(e)g(cursively)33 b(set)3428 5456 y Fr(b)3410 5479 y FA(Q)3482 5493 y Fy(2)3553 5479 y Fw(to)f(the)345 5592 y(r)-5 b(esult)34 b(of)f(algorithm)h FA(D)1185 5559 y Ft(\000)1277 5592 y Fw(for)f(the)g(division)g Fv(b)p FA(R)2021 5606 y Fy(1)2061 5592 y FA(=B)2175 5606 y Fy(1)2215 5592 y Fv(c)p Fw(.)1903 5841 y FB(11)p eop %%Page: 12 16 12 15 bop 226 399 a Fw(5.)45 b(Conc)-5 b(atenate)35 b FA(Q)938 413 y Fy(1)1010 399 y Fw(and)1204 376 y Fr(b)1186 399 y FA(Q)1258 413 y Fy(2)1330 399 y Fw(to)e(the)g(appr)-5 b(oximate)36 b(quotient)2474 376 y Fr(b)2456 399 y FA(Q)p Fw(.)259 586 y FB(Steps)i(1,)i(2,)g(3)e(and)f(5)i(are)f(iden)m(tical)e (for)i FA(D)1838 553 y Ft(\000)1934 586 y FB(and)f FA(D)2196 553 y Fy(+)2255 586 y FB(.)63 b(Note)39 b(that)g(in)d(step)i(3)g(of)g FA(D)3360 553 y Ft(\000)3456 586 y FB(w)m(e)h(need)118 699 y(the)33 b(full)d(temp)s(orary)i(remainder)e FA(R)1385 713 y Fy(1)1457 699 y FB(to)j(pro)s(ceed)f(with)f(the)i(computation)f (of)2932 676 y Fr(b)2913 699 y FA(Q)2985 713 y Fy(2)3025 699 y FB(.)46 b(Here)33 b(w)m(e)g(call)e FA(D)3695 666 y Fy(+)3754 699 y FB(.)118 812 y(Later,)48 b(in)42 b(step)i(4)g(of)g FA(D)1013 779 y Ft(\000)1071 812 y FB(,)k(w)m(e)c(do)f Fw(not)53 b FB(compute)44 b(the)g(remainder.)79 b(Instead,)47 b(w)m(e)d(recursiv)m(ely)e(call)118 925 y FA(D)196 892 y Ft(\000)288 925 y FB(to)34 b(\014nd)e(an)h(appro)m(ximation)1344 902 y Fr(b)1325 925 y FA(Q)1397 939 y Fy(2)1470 925 y FB(of)g(the)h(lo)m(w)m(er)f(division)e(part)i FA(Q)2588 939 y Fy(2)2627 925 y FB(.)49 b(Compare)33 b(this)g(to)h(pro)s(cedure) 118 1038 y FA(D)196 1005 y Fy(+)293 1038 y FB(=)j FA(D)476 1056 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)710 1038 y FB(where)h(in)e(the)j (second)f(call)f(of)h FA(D)1920 1056 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)2154 1038 y FB(w)m(e)g(do)g(the)g(same)h(recursiv)m(e)e (division)e(of)j FA(R)3740 1052 y Fy(1)118 1170 y FB(b)m(y)j FA(B)324 1184 y Fy(1)364 1170 y FB(,)j(but)c(using)g FA(D)937 1137 y Fy(+)996 1170 y FB(,)k(giving)c(a)h(candidate)1875 1147 y Fr(b)1857 1170 y FA(Q)1929 1184 y Fy(2)2009 1170 y FB(for)g FA(Q)2231 1184 y Fy(2)2312 1170 y FB(that)h(migh)m(t)e(b)s (e)h(to)s(o)h(large)f(b)m(y)g(at)h(most)118 1283 y(2.)56 b(Another)35 b(m)m(ultiplication)d(of)1320 1260 y Fr(b)1302 1283 y FA(Q)1374 1297 y Fy(2)1448 1283 y FB(b)m(y)k FA(B)1649 1297 y Fy(2)1723 1283 y FB(is)f(needed)g(in)f(step)h(4)h(of)f (algorithm)f FA(D)3119 1301 y Fy(3)p Fu(n=)p Fy(2)p Fu(n)3350 1283 y FB(to)j(\014nd)c(the)118 1396 y(corrected)d(quotien)m(t)f FA(Q)940 1410 y Fy(2)1008 1396 y FB(and)f(the)g(division)e(remainder.) 39 b(The)28 b(basic)g(di\013erence)g(b)s(et)m(w)m(een)h FA(D)3380 1363 y Fy(+)3468 1396 y FB(and)f FA(D)3721 1363 y Ft(\000)118 1509 y FB(is)i(that)h(this)f(last)g(m)m (ultiplication)e(step)j(is)e(omitted)i(in)e FA(D)2148 1476 y Ft(\000)2238 1509 y FB(and)h(hence)2686 1486 y Fr(b)2668 1509 y FA(Q)2740 1523 y Fy(2)2810 1509 y FB(remains)f (uncorrected.)42 b(Of)118 1621 y(course,)29 b(the)e(result)842 1598 y Fr(b)824 1621 y FA(Q)e FB(=)g([)p FA(Q)1114 1635 y Fy(1)1153 1621 y FA(;)1212 1598 y Fr(b)1193 1621 y FA(Q)1265 1635 y Fy(2)1305 1621 y FB(])j(is)e(in)g(general)i(not)f (equal)g(to)h(the)g(exact)h(result)d FA(Q)p FB(.)40 b(As)27 b(the)h(follo)m(wing)118 1734 y(lemma)i(sho)m(ws,)g(the)h(error)f(of) 1199 1711 y Fr(b)1180 1734 y FA(Q)h FB(is)e(not)i(to)s(o)g(large.)118 1922 y FC(Lemma)i(3.)46 b FA(Q)25 b Fv(\024)827 1899 y Fr(b)809 1922 y FA(Q)g Fv(\024)g FA(Q)20 b FB(+)g(2)15 b(log)r(\()p FA(n)p FB(\))p Fw(.)259 2110 y FC(Pro)s(of:)70 b FB(Our)44 b(argumen)m(tation)h(is)e(based)i(on)f(the)h(observ)-5 b(ation)44 b(that)i(pro)s(cedure)d FA(D)3343 2077 y Ft(\000)3447 2110 y FB(is)g(called)118 2223 y(exactly)32 b(once)f(for)g(eac)m(h)h (depth)e(of)h(the)g(recursion.)41 b(Let)2112 2200 y Fr(b)2093 2223 y FA(Q)2165 2237 y Fu(i)2224 2223 y FB(b)s(e)30 b(the)i(appro)m(ximate)f(quotien)m(t)g(computed)118 2335 y(b)m(y)j FA(D)326 2302 y Ft(\000)418 2335 y FB(at)h(recursion)d(depth) h FA(i)p FB(.)51 b(Let)34 b FA(Q)1532 2349 y Fu(i)1594 2335 y FB(b)s(e)f(the)h(exact)h(quotien)m(t)f(that)2704 2312 y Fr(b)2686 2335 y FA(Q)2758 2349 y Fu(i)2820 2335 y FB(appro)m(ximates.)51 b(If)33 b(w)m(e)h(are)118 2448 y(in)k(the)g(b)s(ottom)i(of)e(the)h(recursion,)h(i.e.)66 b FA(i)39 b FB(=)g(log)17 b FA(n)p FB(,)40 b(w)m(e)f(ha)m(v)m(e)2423 2425 y Fr(b)2404 2448 y FA(Q)2476 2462 y Fu(i)2544 2448 y FB(=)g FA(Q)2726 2462 y Fu(i)2792 2448 y FB(since)f(w)m(e)i(use)e (here)h(sc)m(ho)s(ol)118 2561 y(division.)69 b(Inductiv)m(ely)-8 b(,)43 b(supp)s(ose)d(that)h(for)g(an)g(arbitrary)e(depth)h FA(i)i FB(the)f(computed)f(quotien)m(t)3596 2538 y Fr(b)3578 2561 y FA(Q)3650 2575 y Fu(i)3718 2561 y FB(is)118 2674 y(no)h(less)f(than)g(the)h(exact)h FA(Q)1144 2688 y Fu(i)1213 2674 y FB(and)e(no)g(more)h(than)g(2\(log)r(\()p FA(n)p FB(\))27 b Fv(\000)g FA(i)p FB(\))41 b(to)s(o)h(large.)71 b(A)m(t)42 b(recursion)d(depth)118 2787 y FA(i)24 b Fv(\000)f FB(1,)392 2764 y Fr(b)374 2787 y FA(Q)446 2801 y Fu(i)p Ft(\000)p Fy(1)599 2787 y FB(is)34 b(computed)h(as)h(the)f (concatenation)2001 2764 y Fr(b)1983 2787 y FA(Q)2055 2801 y Fu(i)p Ft(\000)p Fy(1)2206 2787 y FB(=)e([)p FA(Q)2407 2801 y Fy(1)p Fu(;i)2490 2787 y FA(;)2549 2764 y Fr(b)2530 2787 y FA(Q)2602 2801 y Fu(i)2631 2787 y FB(])i(of)g(its)g(exact)h(upp) s(er)e(half)g FA(Q)3697 2801 y Fy(1)p Fu(;i)118 2911 y FB(and)40 b(its)g(inexact)g(lo)m(w)m(er)h(half)1223 2888 y Fr(b)1204 2911 y FA(Q)1276 2925 y Fu(i)1304 2911 y FB(.)71 b(F)-8 b(rom)41 b(the)g(analysis)e(of)h(pro)s(cedure)f FA(D)2791 2878 y Fy(+)2891 2911 y FB(w)m(e)h(already)g(kno)m(w)h(that) 118 3023 y([)p FA(Q)215 3037 y Fy(1)p Fu(;i)298 3023 y FA(;)15 b(Q)410 3037 y Fu(i)439 3023 y FB(])35 b(is)f(larger)h(than)g FA(Q)1147 3037 y Fu(i)p Ft(\000)p Fy(1)1300 3023 y FB(b)m(y)g(at)g (most)h(2,)h(hence)e(b)m(y)g(induction)d(h)m(yp)s(othesis)3148 3001 y Fr(b)3130 3023 y FA(Q)3202 3037 y Fu(i)p Ft(\000)p Fy(1)3355 3023 y FB(is)i(no)h(more)118 3136 y(than)29 b(2)17 b(+)g(2\(log)r(\()p FA(n)p FB(\))h Fv(\000)e FA(i)p FB(\))26 b(=)f(2\(log)r(\()p FA(n)p FB(\))18 b Fv(\000)f FB(\()p FA(i)g Fv(\000)g FB(1\)\))30 b(to)s(o)f(large.)41 b(Figure)28 b(3)h(illustrates)e(the)i(situation.)39 b(This)118 3249 y(pro)m(v)m(es)31 b(the)g(lemma.)p 3714 3249 4 62 v 3718 3191 55 4 v 3718 3249 V 3771 3249 4 62 v 1004 4610 a @beginspecial 0 @llx 0 @lly 272 @urx 179 @ury 2267 @rwi @setspecial %%BeginDocument: DivWithoutRem.eps /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save -28.0 181.0 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /reencdict 12 dict def /ReEncode { reencdict begin /newcodesandnames exch def /newfontname exch def /basefontname exch def /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName newfontname put newcodesandnames aload pop 128 1 255 { newfont /Encoding get exch /.notdef put } for newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat newfontname newfont definefont pop end } def /isovec [ 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde 8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis 8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron 8#220 /dotlessi 8#230 /oe 8#231 /OE 8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot 8#255 /endash 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph 8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine 8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf 8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve 8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def /Times-Roman /Times-Roman-iso isovec ReEncode /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit n -1000 8507 m -1000 -1000 l 13469 -1000 l 13469 8507 l cp clip 0.02400 0.02400 sc 15.000 slw % Ellipse n 9600 4500 76 76 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr % Ellipse n 9600 4800 76 76 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr % Ellipse n 9600 5100 76 76 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr % Polyline n 1200 2100 m 10800 2100 l cp gs col0 s gr % Polyline n 10800 1800 m 10800 2400 l cp gs col0 s gr % Polyline n 1200 1800 m 1200 2400 l cp gs col0 s gr % Polyline n 6000 3000 m 6000 3600 l cp gs col0 s gr % Polyline n 6000 3300 m 10800 3300 l cp gs col0 s gr % Polyline n 10800 3000 m 10800 3900 l 10800 3600 l cp gs col0 s gr % Polyline n 8400 3000 m 8400 3300 l cp gs col0 s gr % Polyline n 6000 1800 m 6000 2100 l cp gs col0 s gr % Polyline n 8415 5985 m 8415 6585 l cp gs col0 s gr % Polyline n 8415 6285 m 10815 6285 l cp gs col0 s gr % Polyline n 10815 5985 m 10815 6585 l cp gs col0 s gr % Polyline n 9615 5985 m 9615 6285 l cp gs col0 s gr % Polyline n 9615 6885 m 9615 7485 l cp gs col0 s gr % Polyline n 9615 7185 m 10815 7185 l cp gs col0 s gr % Polyline n 10815 6885 m 10815 7485 l cp gs col0 s gr % Polyline [90] 0 sd n 1200 900 m 10800 900 l cp gs col7 0.00 shd ef gr gs col0 s gr [] 0 sd % Polyline [90] 0 sd n 1200 600 m 1200 1200 l cp gs col7 0.00 shd ef gr gs col0 s gr [] 0 sd % Polyline [90] 0 sd n 10800 600 m 10800 1200 l cp gs col7 0.00 shd ef gr gs col0 s gr [] 0 sd /Times-Roman-iso ff 540.00 scf sf 3180 1950 m gs 1 -1 sc (D+) col0 sh gr /Times-Roman-iso ff 540.00 scf sf 8205 1920 m gs 1 -1 sc (D-) col0 sh gr /Times-Roman-iso ff 540.00 scf sf 9330 3075 m gs 1 -1 sc (D-) col0 sh gr /Times-Roman-iso ff 540.00 scf sf 6810 3090 m gs 1 -1 sc (D+) col0 sh gr /Times-Roman-iso ff 270.00 scf sf 11100 2100 m gs 1 -1 sc (2log\(n\)) col0 sh gr /Times-Roman-iso ff 270.00 scf sf 11100 3300 m gs 1 -1 sc (2\(log\(n\)-1\)) col0 sh gr /Times-Roman-iso ff 270.00 scf sf 11100 1500 m gs 1 -1 sc (Error:) col0 sh gr /Times-Roman-iso ff 540.00 scf sf 9975 6150 m gs 1 -1 sc (D-) col0 sh gr /Times-Roman-iso ff 540.00 scf sf 8700 6150 m gs 1 -1 sc (D+) col0 sh gr /Times-Roman-iso ff 270.00 scf sf 9855 7110 m gs 1 -1 sc (School) col0 sh gr /Times-Roman-iso ff 270.00 scf sf 11100 7200 m gs 1 -1 sc (0) col0 sh gr /Times-Roman-iso ff 270.00 scf sf 11100 6300 m gs 1 -1 sc (2) col0 sh gr /Times-Roman-iso ff 540.00 scf sf 5700 600 m gs 1 -1 sc (Q) col0 sh gr $F2psEnd rs %%EndDocument @endspecial 1097 4893 a Fp(Figure)h(3:)k FD(The)28 b(error)d(of)1996 4872 y Fi(b)1980 4893 y Fk(Q)i FD(as)g(computed)h(b)n(y)f Fk(D)2744 4862 y Fh(\000)118 5178 y FC(Lemma)33 b(4.)46 b Fw(F)-7 b(or)33 b FA(n)25 b FB(=)g(2)1006 5145 y Fu(k)1049 5178 y Fw(,)33 b(the)g(running)f(time)h(of)g FA(D)1995 5145 y Ft(\000)2086 5178 y Fw(is)g(at)g(most)h FB(3)p FA(=)p FB(2)p FA(K)7 b FB(\()p FA(n)p FB(\))21 b(+)f FA(O)s FB(\()p FA(n)15 b FB(log)i FA(n)p FB(\))p Fw(.)259 5366 y FC(Pro)s(of:)41 b FB(W)-8 b(e)29 b(denote)g(the)f(running)e (time)h(of)i(algorithm)e FA(D)2314 5333 y Ft(\000)2401 5366 y FB(for)h(an)g(instance)g(of)g(size)g FA(n)g FB(b)m(y)g FA(D)3570 5333 y Ft(\000)3629 5366 y FB(\()p FA(n)p FB(\).)118 5479 y(Similarly)-8 b(,)26 b(w)m(e)j(denote)g(the)g(running)d(time)i (of)h(algorithm)e FA(D)2233 5446 y Fy(+)2320 5479 y FB(b)m(y)i FA(D)2523 5446 y Fy(+)2582 5479 y FB(\()p FA(n)p FB(\).)40 b(Remem)m(b)s(er)28 b(that)h FA(D)3499 5446 y Fy(+)3558 5479 y FB(\()p FA(n)p FB(\))d(=)118 5592 y(2)p FA(K)7 b FB(\()p FA(n)p FB(\).)80 b(T)-8 b(o)44 b(compute)f FA(D)1083 5559 y Ft(\000)1142 5592 y FB(\()p FA(n)p FB(\),)k(w)m(e)d (call)f(once)h FA(D)1964 5559 y Fy(+)2022 5592 y FB(\()p FA(n=)p FB(2\),)k(do)c(one)f(Karatsuba)g(m)m(ultiplication)e(on)1903 5841 y(12)p eop %%Page: 13 17 13 16 bop 118 399 a FB(in)m(tegers)38 b(with)e FA(n=)p FB(2)i(digits,)g(and)e(do)i(one)f(recursiv)m(e)g(call)g(to)h FA(D)2388 366 y Ft(\000)2447 399 y FB(\()p FA(n=)p FB(2\).)63 b(All)36 b(other)i(op)s(erations)e(ha)m(v)m(e)118 511 y(cost)31 b FA(O)s FB(\()p FA(n)p FB(\).)41 b(Hence)31 b(w)m(e)g(ha)m(v)m(e)h(the)e(recursion)885 687 y FA(D)963 649 y Ft(\000)1022 687 y FB(\()p FA(n)p FB(\))83 b(=)g FA(D)1462 649 y Fy(+)1521 687 y FB(\()p FA(n=)p FB(2\))21 b(+)f FA(K)7 b FB(\()p FA(n=)p FB(2\))21 b(+)f FA(D)2337 649 y Ft(\000)2396 687 y FB(\()p FA(n=)p FB(2\))h(+)f FA(O)s FB(\()p FA(n)p FB(\))1230 825 y(=)83 b(3)p FA(K)7 b FB(\()p FA(n=)p FB(2\))22 b(+)e FA(O)s FB(\()p FA(n)15 b FB(log)h FA(n)p FB(\))k(+)g FA(D)2429 787 y Ft(\000)2488 825 y FB(\()p FA(n=)p FB(2\))h(+)f FA(O)s FB(\()p FA(n)p FB(\))1230 963 y(=)83 b FA(K)7 b FB(\()p FA(n)p FB(\))20 b(+)g FA(D)1782 925 y Ft(\000)1841 963 y FB(\()p FA(n=)p FB(2\))h(+)f FA(O)s FB(\()p FA(n)15 b FB(log)i FA(n)p FB(\))1230 1100 y Fv(\024)83 b FA(K)7 b FB(\()p FA(n)p FB(\))20 b(+)g FA(D)1782 1063 y Ft(\000)1841 1100 y FB(\()p FA(n=)p FB(2\))h(+)f FA(c)h Fv(\001)f FA(n)15 b FB(log)i FA(n;)118 1276 y FB(where)30 b(in)f(the)i(last)f(equation)g(w)m(e)h (used)e FA(K)7 b FB(\()p FA(n=)p FB(2\))27 b(=)e(1)p FA(=)p FB(3)p FA(K)7 b FB(\()p FA(n)p FB(\).)42 b(Solving)28 b(the)j(recursion)e(w)m(e)i(get)788 1538 y FA(D)866 1501 y Ft(\000)925 1538 y FB(\()p FA(n)p FB(\))83 b Fv(\024)1333 1425 y Fu(k)1287 1452 y Fr(X)1296 1647 y Fu(i)p Fy(=0)1433 1538 y FA(K)7 b FB(\()p FA(n=)p FB(2)1697 1501 y Fu(i)1726 1538 y FB(\))21 b(+)f FA(D)1951 1501 y Ft(\000)2009 1538 y FB(\(1\))i(+)2283 1425 y Fu(k)2237 1452 y Fr(X)2245 1647 y Fu(i)p Fy(=0)2383 1538 y FA(c)f Fv(\001)f FB(\()p FA(n=)p FB(2)2668 1501 y Fu(i)2697 1538 y FB(\))15 b(log)r(\()p FA(n=)p FB(2)3045 1501 y Fu(i)3074 1538 y FB(\))1133 1858 y Fv(\024)1333 1745 y Fu(k)1287 1772 y Fr(X)1296 1967 y Fu(i)p Fy(=0)1433 1858 y FA(K)7 b FB(\()p FA(n=)p FB(2)1697 1821 y Fu(i)1726 1858 y FB(\))21 b(+)f FA(O)s FB(\(1\))h(+)f(2)p FA(c)h Fv(\001)f FA(n)15 b FB(log)i FA(n)1133 2179 y FB(=)1333 2065 y Fu(k)1287 2092 y Fr(X)1296 2288 y Fu(i)p Fy(=0)1433 2179 y FA(K)7 b FB(\()p FA(n)p FB(\))p FA(=)p FB(3)1732 2141 y Fu(i)1782 2179 y FB(+)20 b FA(O)s FB(\()p FA(n)15 b FB(log)h FA(n)p FB(\))1133 2481 y Fv(\024)83 b FA(K)7 b FB(\()p FA(n)p FB(\))1542 2368 y Ft(1)1511 2395 y Fr(X)1520 2590 y Fu(i)p Fy(=0)1658 2481 y FB(1)p FA(=)p FB(3)1793 2444 y Fu(i)1842 2481 y FB(+)20 b FA(O)s FB(\()p FA(n)15 b FB(log)i FA(n)p FB(\))1133 2701 y(=)83 b(3)p FA(=)p FB(2)p FA(K)7 b FB(\()p FA(n)p FB(\))22 b(+)d FA(O)s FB(\()p FA(n)c FB(log)i FA(n)p FB(\))p FA(:)p 2264 2701 4 62 v 2268 2643 55 4 v 2268 2701 V 2322 2701 4 62 v 118 2940 a Fs(3.2)112 b(Division)36 b(without)g(remainder:)49 b(General)38 b(outline)118 3111 y FB(Because)29 b(in)e(general)h FA(D)956 3078 y Ft(\000)1043 3111 y FB(do)s(es)g(not)g(giv)m(e)g(us)g(the)g (exact)h(division)c(result,)j(further)f(correction)h(steps)g(are)118 3224 y(required)k(to)j(adjust)891 3201 y Fr(b)873 3224 y FA(Q)f FB(un)m(til)e(w)m(e)j(are)f(left)g(with)f(the)h(correct)i FA(Q)p FB(.)52 b(The)33 b(follo)m(wing)g(lemma)h(sho)m(ws)f(ho)m(w)118 3337 y(w)m(e)e(can)g(do)f(this.)40 b(Let)939 3314 y Fr(e)920 3337 y FA(Q)31 b FB(no)m(w)f(b)s(e)g(an)m(y)g(appro)m(ximate)h(quotien) m(t)f(of)h FA(A)g FB(and)e FA(B)5 b FB(.)229 3501 y(1.)46 b FA(R)q FB(\()469 3478 y Fr(e)450 3501 y FA(Q;)15 b(A;)g(B)5 b FB(\))26 b(:=)g FA(A)10 b Fv(\000)g FA(B)1178 3478 y Fr(e)1160 3501 y FA(Q)25 b FB(is)f(the)i(remainder)e(that)i(corresp)s (onds)e(to)i(an)f(appro)m(ximate)h(quotien)m(t)3726 3478 y Fr(e)3708 3501 y FA(Q)345 3614 y FB(of)j FA(A)f FB(and)g FA(B)5 b FB(.)39 b(In)28 b(the)g(sp)s(ecial)f(case)j(of)1726 3591 y Fr(e)1708 3614 y FA(Q)25 b FB(=)g Fv(b)p FA(A=B)5 b Fv(c)p FB(,)30 b(it)e(is)f(the)i(ordinary)d(division)f(remainder.)39 b(If)345 3727 y(the)31 b(division)c(op)s(erands)i FA(A)h FB(and)g FA(B)35 b FB(are)30 b(ob)m(vious)g(from)g(the)g(con)m(text,)j (w)m(e)e(write)e FA(R)q FB(\()3293 3704 y Fr(e)3275 3727 y FA(Q)p FB(\))h(for)g(short.)345 3840 y(Moreo)m(v)m(er,)j(w)m(e)e (write)f FA(R)h FB(instead)e(of)i FA(R)q FB(\()p Fv(b)p FA(A=B)5 b Fv(c)p FB(\).)229 4018 y(2.)46 b FA(\016)s FB(\()443 3995 y Fr(e)423 4018 y FA(Q)q(;)15 b(A;)g(B)5 b FB(\))35 b(:=)f Fv(b)p FA(A=B)5 b Fv(c)25 b(\000)1322 3995 y Fr(e)1304 4018 y FA(Q)p FB(.)56 b(Again,)37 b(if)d FA(A)i FB(and)f FA(B)40 b FB(are)c(ob)m(vious)f(from)g(the)h(con)m (text)h(w)m(e)f(write)345 4131 y FA(\016)s FB(\()443 4108 y Fr(e)423 4131 y FA(Q)q FB(\))31 b(for)f(short.)118 4294 y(The)g(follo)m(wing)f(lemma)h(states)h(some)g(useful)e(relations) g(b)s(et)m(w)m(een)i(these)g(quan)m(tities.)118 4458 y FC(Lemma)i(5.)46 b Fw(F)-7 b(or)33 b(any)h(inte)-5 b(gr)g(al)34 b(nonne)-5 b(gative)33 b FA(A)p Fw(,)g FA(B)5 b Fw(,)2064 4435 y Fr(e)2046 4458 y FA(Q)32 b Fw(we)h(have)226 4622 y(1.)45 b FA(\016)s FB(\()443 4599 y Fr(e)423 4622 y FA(Q)q(;)15 b(A;)g(B)5 b FB(\))27 b(=)e Fv(b)p FA(R)q FB(\()1039 4599 y Fr(e)1021 4622 y FA(Q;)15 b(A;)g(B)5 b FB(\))p FA(=B)g Fv(c)226 4800 y Fw(2.)45 b FA(R)q FB(\()p Fv(b)p FA(A=B)5 b Fv(c)p FA(;)15 b(A;)g(B)5 b FB(\))28 b(=)c FA(R)q FB(\()p FA(\016)s FB(\()1300 4777 y Fr(e)1280 4800 y FA(Q)r(;)15 b(A;)g(B)5 b FB(\))p FA(;)15 b(R)q FB(\()1775 4777 y Fr(e)1756 4800 y FA(Q)q(;)g(A;)g(B)5 b FB(\))p FA(;)15 b(B)5 b FB(\))226 4978 y Fw(3.)45 b Fv(j)p FA(R)q FB(\()494 4955 y Fr(e)475 4978 y FA(Q)q(;)15 b(A;)g(B)5 b FB(\))p Fv(j)26 b FA(<)f FB(\(1)c(+)f Fv(j)p FA(\016)s FB(\()1267 4955 y Fr(e)1247 4978 y FA(Q)q(;)15 b(A;)g(B)5 b FB(\))p Fv(j)p FB(\))p FA(B)g Fw(.)259 5141 y FC(Pro)s(of:)88 b FB(The)30 b(quan)m(tit)m(y)h FA(q)d FB(=)d FA(\016)s FB(\()1442 5118 y Fr(e)1423 5141 y FA(Q)q(;)15 b(A;)g(B)5 b FB(\))31 b(satis\014es)893 5317 y FA(R)q FB(\()p FA(q)s(;)15 b(R)q FB(\()1206 5294 y Fr(e)1187 5317 y FA(Q;)g(A;)g(B)5 b FB(\))p FA(;)15 b(B)5 b FB(\))84 b(=)f FA(R)q FB(\()2026 5294 y Fr(e)2008 5317 y FA(Q;)15 b(A;)g(B)5 b FB(\))21 b Fv(\000)f FA(\016)s FB(\()2546 5294 y Fr(e)2527 5317 y FA(Q)q(;)15 b(A;)g(B)5 b FB(\))p FA(B)1749 5455 y FB(=)83 b(\()p FA(A)21 b Fv(\000)f FA(B)2209 5432 y Fr(e)2192 5455 y FA(Q)o FB(\))h Fv(\000)f FB(\()p Fv(b)p FA(A=B)5 b Fv(c)21 b(\000)2842 5432 y Fr(e)2824 5455 y FA(Q)p FB(\))p FA(B)1749 5592 y FB(=)83 b FA(A)20 b Fv(\000)g(b)p FA(A=B)5 b Fv(c)p FA(B)1245 b FB(\(3\))1903 5841 y(13)p eop %%Page: 14 18 14 17 bop 118 399 a FB(whic)m(h)21 b(is)g(equal)g(to)i FA(R)q FB(\()p Fv(b)p FA(A=B)5 b Fv(c)p FA(;)15 b(A;)g(B)5 b FB(\))24 b(and)d(hence)h(is)f(con)m(tained)i(in)d(the)j(in)m(terv)-5 b(al)21 b([0)p FA(;)15 b(:)g(:)g(:)i(;)e(B)8 b Fv(\000)s FB(1].)39 b(Because)118 511 y Fv(b)p FA(R)q FB(\()282 488 y Fr(e)263 511 y FA(Q;)15 b(A;)g(B)5 b FB(\))p FA(=B)g Fv(c)26 b FB(is)d(the)i(only)e(in)m(teger)i(with)e(this)g(prop)s(ert)m (y)-8 b(,)25 b(the)g(\014rst)e(t)m(w)m(o)j(parts)e(of)g(our)g(lemma)g (follo)m(w.)118 624 y(The)30 b(third)f(part)h(follo)m(ws)f(b)m(y)h (using)f(Equation)h(3)h(again:)726 824 y Fv(j)p FA(R)q FB(\()875 801 y Fr(e)856 824 y FA(Q)q(;)15 b(A;)g(B)5 b FB(\))p Fv(j)84 b(\024)e(j)p FA(R)q FB(\()1597 801 y Fr(e)1578 824 y FA(Q)q(;)15 b(A;)g(B)5 b FB(\))21 b Fv(\000)f FA(\016)s FB(\()2117 801 y Fr(e)2098 824 y FA(Q)q(;)15 b(A;)g(B)5 b FB(\))p FA(B)g Fv(j)20 b FB(+)g Fv(j)p FA(\016)s FB(\()2761 801 y Fr(e)2741 824 y FA(Q)r(;)15 b(A;)g(B)5 b FB(\))p Fv(j)p FA(B)1295 962 y FB(=)82 b Fv(j)p FA(A)21 b Fv(\000)f(b)p FA(A=B)5 b Fv(c)p FA(B)g Fv(j)21 b FB(+)f Fv(j)p FA(\016)s FB(\()2253 939 y Fr(e)2234 962 y FA(Q)q(;)15 b(A;)g(B)5 b FB(\))p Fv(j)p FA(B)1295 1100 y(<)82 b FB(\(1)21 b(+)f Fv(j)p FA(\016)s FB(\()1763 1077 y Fr(e)1743 1100 y FA(Q)r(;)15 b(A;)g(B)5 b FB(\))p Fv(j)p FB(\))p FA(B)g(:)p 2330 1100 4 62 v 2334 1041 55 4 v 2334 1100 V 2387 1100 4 62 v 118 1299 a FB(Lemma)38 b(5)g(can)g(b)s(e)f(applied)e(as)j(follo)m(ws.)61 b(Supp)s(ose)36 b(that)i(w)m(e)g(w)m(an)m(t)h(to)f(compute)g(the)g(quotien)m(t)g FA(Q)f FB(=)118 1412 y Fv(b)p FA(A=B)5 b Fv(c)34 b FB(but)e(w)m(e)i (only)e(kno)m(w)h(an)g(appro)m(ximation)1923 1389 y Fr(b)1905 1412 y FA(Q)g FB(of)g FA(Q)g FB(and)f(its)h(remainder)e FA(R)q FB(\()3085 1389 y Fr(b)3067 1412 y FA(Q;)15 b(A;)g(B)5 b FB(\),)35 b(whic)m(h)c(is)118 1525 y(b)s(ounded)f(b)m(y)i(\(1)23 b(+)e Fv(j)p FA(\016)s FB(\()937 1502 y Fr(b)917 1525 y FA(Q)q(;)15 b(A;)g(B)5 b FB(\))p Fv(j)p FB(\))p FA(B)38 b FB(according)33 b(to)g(lemma.)46 b(If)32 b FA(\016)s FB(\()2463 1502 y Fr(b)2444 1525 y FA(Q)q(;)15 b(A;)g(B)5 b FB(\))33 b(is)e(not)i(to)s(o)g(large,)g(sa)m(y)g(if)e(it)118 1638 y(is)i(b)s(ounded)e(b)m(y)j(a)g(constan)m(t,)i(then)e(w)m(e)g(can) g(compute)g(the)g(quotien)m(t)g FA(\016)s FB(\()2701 1615 y Fr(b)2682 1638 y FA(Q)q(;)15 b(A;)g(B)5 b FB(\))31 b(=)g Fv(b)p FA(R)q FB(\()3309 1615 y Fr(b)3290 1638 y FA(Q;)15 b(A;)g(B)5 b FB(\))p FA(=B)g Fv(c)118 1751 y FB(b)m(y)29 b(ordinary)f(sc)m(ho)s(ol)g(division.)38 b(By)29 b(the)g(second)h(part)f(of)g(the)g(lemma,)g(the)h(remainder)d (of)i(this)f(division)118 1864 y(is)g(the)h(w)m(an)m(ted)h FA(R)q FB(\()p Fv(b)p FA(A=B)5 b Fv(c)p FA(;)15 b(A;)g(B)5 b FB(\).)42 b(If)29 b FA(B)k FB(has)c(at)h(most)f FA(n)g FB(digits,)f(the)h(sc)m(ho)s(ol)g(division)d(tak)m(es)31 b(only)d(time)118 1977 y FA(O)s FB(\()p FA(n)p FB(\))h(b)s(ecause)f (all)g(w)m(e)h(ha)m(v)m(e)h(to)f(do)g(is)e(to)j(compute)e(a)h(\(b)s (ounded\))f(n)m(um)m(b)s(er)f(of)i(bits)e(and)h(eac)m(h)i(iteration)118 2089 y(tak)m(es)i(time)e FA(O)s FB(\()p FA(n)p FB(\).)259 2202 y(With)c(this)f(lemma)h(at)i(hands)d(our)h(algorithm)f(for)h (division)e(without)h(remainder)g(has)h(the)h(follo)m(wing)118 2315 y(outline.)118 2499 y FC(Algorithm)35 b(5.)45 b(Division)28 b(without)d(remainder)g(\(Outline\):)80 b Fw(L)-5 b(et)26 b FA(A)f Fw(and)i FA(B)j Fw(b)-5 b(e)26 b(as)g(in)g(A)n(lgorithm)118 2612 y(4.)42 b(Pr)-5 b(o)g(c)g(e)g(e)g(d)35 b(in)d(thr)-5 b(e)g(e)34 b(phases.)226 2796 y(1.)45 b(Cal)5 b(l)34 b FA(D)619 2763 y Ft(\000)710 2796 y Fw(to)f(c)-5 b(ompute)34 b(an)f(appr)-5 b(oximation)1924 2773 y Fr(b)1906 2796 y FA(Q)32 b Fw(of)h(the)g(exact)g(quotient)g FA(Q)25 b FB(=)g Fv(b)p FA(A=B)5 b Fv(c)p Fw(.)226 2982 y(2.)45 b(T)-7 b(ry)34 b(to)g(c)-5 b(ompute)34 b FA(\016)s FB(\()1084 2959 y Fr(b)1065 2982 y FA(Q)q FB(\))27 b(=)e FA(Q)c Fv(\000)1498 2959 y Fr(b)1480 2982 y FA(Q)33 b Fw(in)g(line)-5 b(ar)34 b(time.)44 b(This)33 b(phase)i(may)f(fail)f(with)h(a)g(smal)5 b(l)34 b(pr)-5 b(ob)g(a-)345 3095 y(bility.)226 3281 y(3.)45 b(If)31 b(phase)i(2)e(fails,)h(c)-5 b(ompute)32 b(the)g(r)-5 b(emainder)33 b FA(R)q FB(\()2050 3258 y Fr(b)2032 3281 y FA(Q)p FB(\))25 b(=)g FA(A)17 b Fv(\000)g FA(B)k Fv(\001)2583 3258 y Fr(b)2565 3281 y FA(Q)p Fw(,)31 b(using)g(Kar)-5 b(atsub)g(a)33 b(multiplic)-5 b(a-)345 3394 y(tion.)43 b(Then)33 b(c)-5 b(ompute)33 b FA(\016)s FB(\()1263 3371 y Fr(b)1243 3394 y FA(Q)r FB(\))25 b(=)g Fv(b)p FA(R)q FB(\()1637 3371 y Fr(b)1618 3394 y FA(Q)p FB(\))p FA(=B)5 b Fv(c)34 b Fw(using)e(scho)-5 b(ol)35 b(division.)226 3580 y(4.)45 b(Set)33 b FA(Q)25 b FB(=)712 3557 y Fr(b)694 3580 y FA(Q)20 b FB(+)g FA(\016)s FB(\()975 3557 y Fr(b)955 3580 y FA(Q)q FB(\))p Fw(.)259 3763 y FB(W)-8 b(e)29 b(describ)s(e)d(the)i(simpler)e(phase)h(3)h(\014rst.)39 b(This)26 b(is)h(the)h(bad)f(case)i(but)e(as)h(w)m(e)g(will)d(see)j(it) g(will)d(o)s(ccur)118 3876 y(only)30 b(with)f(a)h(v)m(ery)h(small)e (probabilit)m(y)-8 b(.)118 4060 y FC(Lemma)33 b(6.)46 b Fw(Phase)33 b(3)g(has)g(running)g(time)g FA(K)7 b FB(\()p FA(n)p FB(\))20 b(+)g FA(O)s FB(\()p FA(n)15 b FB(log)h(log)h FA(n)p FB(\))p Fw(.)259 4244 y FC(Pro)s(of:)40 b FB(The)25 b(Karatsuba)i(m)m(ultiplication)c(in)i(phase)h(3)h(tak)m(es)g(time)g FA(K)7 b FB(\()p FA(n)p FB(\).)39 b(By)26 b(Lemma)h(5)g(w)m(e)f(kno)m (w)118 4357 y(that)40 b(in)e(fact)i FA(\016)s FB(\()724 4334 y Fr(b)705 4357 y FA(Q)q FB(\))g(=)g FA(Q)26 b Fv(\000)1177 4334 y Fr(b)1158 4357 y FA(Q)40 b FB(=)g Fv(b)p FA(R)q FB(\()1545 4334 y Fr(b)1526 4357 y FA(Q)p FB(\))p FA(=B)5 b Fv(c)40 b FB(and)f(b)m(y)g(Lemma)g(3)g(w)m(e)h(kno)m(w)f(that)h(this) e(quotien)m(t)h(is)118 4470 y(b)s(ounded)c(b)m(y)j(2)15 b(log)r(\()p FA(n)p FB(\).)61 b(Hence)39 b FA(\016)s FB(\()1394 4447 y Fr(b)1375 4470 y FA(Q)q FB(\))e(\014ts)g(in)m(to)h (one)f(digit)f(for)i(all)e(practical)h(v)-5 b(alues)36 b(of)i FA(\014)k FB(and)37 b(of)h FA(n)p FB(.)118 4582 y(Under)f(the)g(assumption)f(of)i(2)15 b(log)i FA(n)37 b(<)f(\014)5 b FB(,)40 b(w)m(e)e(can)g(compute)g Fv(b)p FA(R)q FB(\()2530 4559 y Fr(b)2512 4582 y FA(Q)p FB(\))p FA(=B)5 b Fv(c)38 b FB(in)e(linear)g(time)h(b)m(y)h(sc)m(ho)s(ol)118 4695 y(division.)f(In)26 b(general,)i FA(\016)s FB(\()1033 4672 y Fr(b)1013 4695 y FA(Q)r FB(\))f(has)g(size)g FA(O)s FB(\(log)17 b(log)g FA(n)p FB(\))27 b(and)f(the)i(division)c(tak)m(es) 29 b(time)e FA(O)s FB(\()p FA(n)15 b FB(log)h(log)h FA(n)p FB(\).)p 3714 4695 V 3718 4637 55 4 v 3718 4695 V 3771 4695 4 62 v 118 4938 a Fs(3.3)112 b(Probabilistic)34 b(quotien)m(t)j(correction:)48 b(The)38 b(algorithm)118 5110 y FB(In)26 b(this)g(section)h(w)m(e)g(explain)e(the)i(algorithm)f (that)h(implemen)m(ts)e(phase)i(2)g(of)g(Algorithm)e(5.)40 b(Henceforth)118 5223 y(w)m(e)23 b(mak)m(e)g(t)m(w)m(o)g(\(realistic\)) e(assumptions)g(on)h(out)g(mac)m(hine)g(and)f(the)h(n)m(um)m(b)s(ers)f (with)g(whic)m(h)f(w)m(e)j(compute.)118 5406 y FC(Assumption)35 b(1.)153 b Fw(1.)46 b(The)33 b(digit)f(length)i FA(\014)j Fw(is)c(at)g(le)-5 b(ast)34 b FB(2)2259 5373 y Fy(32)2334 5406 y Fw(.)226 5592 y(2.)45 b(The)33 b(numb)-5 b(er)33 b(of)g(digits)g(is)g(b)-5 b(ounde)g(d)34 b(by)e FA(n)25 b(<)g(\014)5 b(=)p FB(2)p Fw(.)1903 5841 y FB(14)p eop %%Page: 15 19 15 18 bop 259 399 a FB(Assumption)21 b(1.2)j(is)d(justi\014ed)g(b)s (ecause)i(already)f(for)g FA(n)j(>)g FB(2)2310 366 y Fy(20)2408 399 y FB(it)d(is)f(b)s(etter)i(to)h(use)e(Newton's)h(metho)s (d)118 511 y(in)d(com)m(bination)h(with)f(a)i(FFT)g(t)m(yp)s(e)g(m)m (ultiplication,)e(see)i(section)g(4.)38 b(Assumption)20 b(1.1)i(implies)d(that)j(the)118 624 y(follo)m(wing)27 b(pro)s(cedure)h(do)s(es)g(not)h(w)m(ork)g(for)g(8)g(bit)f(or)g(16)i (bit)e(systems.)40 b(Straigh)m(tforw)m(ard)28 b(mo)s(di\014cations)118 737 y(are)j(required.)259 850 y(Phase)49 b(2)f(basically)f(do)s(es)h (the)g(same)h(job)f(as)g(phase)g(3,)53 b(but)48 b(it)g(a)m(v)m(oids)g (the)h(exp)s(ensiv)m(e)e(bac)m(k{)118 963 y(m)m(ultiplication)28 b FA(B)d Fv(\001)860 940 y Fr(b)842 963 y FA(Q)p FB(.)43 b(Instead,)31 b(here)g(w)m(e)h(only)e(appro)m(ximate)h(this)f(pro)s (duct.)42 b(F)-8 b(or)31 b(tec)m(hnical)g(reasons)118 1076 y(that)i(will)c(b)s(ecome)k(clear)f(later,)h(w)m(e)f(c)m(ho)s(ose) h FA(Q)1774 1043 y Ft(0)1826 1076 y FB(:=)28 b Fw(max)12 b FB(\(0)p FA(;)2263 1053 y Fr(b)2244 1076 y FA(Q)22 b Fv(\000)f FB(2)15 b(log)j FA(n)p FB(\))31 b(for)h(the)h(bac)m(km)m (ultiplication)118 1189 y(and)38 b(appro)m(ximate)h(the)g(pro)s(duct)f FA(P)52 b FB(=)39 b FA(B)31 b Fv(\001)26 b FA(Q)1795 1156 y Ft(0)1818 1189 y FB(.)66 b(This)37 b(giv)m(es)i(us)f(upp)s(er)f (and)h(lo)m(w)m(er)h(b)s(ounds)e(for)h(the)118 1302 y(remainder)26 b FA(R)q FB(\()p FA(Q)722 1269 y Ft(0)745 1302 y FB(\))g(=)e FA(A)14 b Fv(\000)g FA(Q)1140 1269 y Ft(0)1177 1302 y Fv(\001)g FA(B)5 b FB(,)27 b(whic)m(h)f(in)g(turn)g(giv)m(e)h(us)g(upp) s(er)e(and)h(lo)m(w)m(er)i(b)s(ounds)d FA(\016)3216 1317 y Fu(l)3267 1302 y Fv(\024)g FA(\016)s FB(\()p FA(Q)3513 1269 y Ft(0)3538 1302 y FB(\))g Fv(\024)g FA(\016)3734 1317 y Fu(h)118 1415 y FB(for)35 b(the)g(desired)e(quan)m(tit)m(y)j FA(\016)s FB(\()p FA(Q)1255 1382 y Ft(0)1279 1415 y FB(\))d(=)g Fv(b)p FA(A=B)5 b Fv(c)24 b(\000)f FA(Q)1908 1382 y Ft(0)1931 1415 y FB(.)55 b(Our)34 b(appro)m(ximations)f(will)g(b)s(e)h(go)s(o)s (d)h(enough)g(to)118 1528 y(guaran)m(tee)29 b FA(\016)572 1543 y Fu(h)632 1528 y Fv(\000)14 b FA(\016)757 1543 y Fu(l)809 1528 y Fv(\024)25 b FB(1.)40 b(Phase)27 b(2)h(is)f (successful)f(if)g(and)h(only)g(if)f FA(\016)2419 1543 y Fu(h)2490 1528 y FB(=)f FA(\016)2626 1543 y Fu(l)2652 1528 y FB(.)40 b(As)27 b(w)m(e)h(will)d(pro)m(v)m(e,)k(the)f(ev)m(en)m (t)118 1641 y FA(\016)158 1656 y Fu(h)229 1641 y Fv(6)p FB(=)d FA(\016)365 1656 y Fu(l)420 1641 y FB(that)31 b(causes)f(phase)f(2)h(to)g(fail)e(is)h(v)m(ery)h(unlik)m(ely)-8 b(.)38 b(W)-8 b(e)31 b(start)f(no)m(w)f(with)g(the)g(details)g(of)h (phase)f(2.)259 1753 y(With)h(resp)s(ect)g(to)i(the)e(base)h FA(\014)5 b FB(,)30 b(the)h(n)m(um)m(b)s(ers)e FA(A)p FB(,)i FA(B)j FB(and)c FA(Q)2387 1720 y Ft(0)2441 1753 y FB(read)g(as)1065 2034 y FA(A)25 b FB(=)1254 1921 y Fy(2)p Fu(n)p Ft(\000)p Fy(1)1273 1948 y Fr(X)1281 2143 y Fu(i)p Fy(=0)1438 2034 y FA(a)1486 2048 y Fu(i)1514 2034 y FA(\014)1570 1997 y Fu(i)1598 2034 y FA(;)86 b(B)30 b FB(=)1904 1921 y Fu(n)p Ft(\000)p Fy(1)1905 1948 y Fr(X)1914 2143 y Fu(i)p Fy(=0)2052 2034 y FA(b)2091 2048 y Fu(i)2120 2034 y FA(\014)2176 1997 y Fu(i)2204 2034 y FA(;)86 b(Q)2387 1997 y Ft(0)2436 2034 y FB(=)2532 1921 y Fu(n)p Ft(\000)p Fy(1)2532 1948 y Fr(X)2541 2143 y Fu(i)p Fy(=0)2680 2034 y FA(q)2724 1997 y Ft(0)2721 2057 y Fu(i)2748 2034 y FA(\014)2804 1997 y Fu(i)118 2326 y FB(In)26 b(the)g(sc)m(ho)s(ol)h(m)m(ultiplication)c(of)k FA(B)j FB(and)c FA(Q)1673 2293 y Ft(0)1696 2326 y FB(,)i(there)e(are)h FA(n)2180 2293 y Fy(2)2245 2326 y FB(pro)s(ducts)e(of)i(digits)e FA(b)3001 2340 y Fu(i)3029 2326 y FA(q)3073 2293 y Ft(0)3070 2351 y Fu(j)3106 2326 y FB(.)40 b(W)-8 b(e)27 b(group)f(these)118 2439 y(pro)s(ducts)j(b)m(y)h(the)h(sum)e(of)i(the)f(exp)s(onen)m(ts)h FA(i)20 b FB(+)g FA(j)5 b FB(.)41 b(F)-8 b(or)32 b(0)25 b Fv(\024)g FA(k)k(<)c FB(2)p FA(n)20 b Fv(\000)g FB(1)31 b(w)m(e)f(set)1590 2649 y FA(w)1655 2664 y Fu(k)1723 2649 y FB(=)1856 2563 y Fr(X)1819 2761 y Fu(i)p Fy(+)p Fu(j)t Fy(=)p Fu(k)2039 2649 y FA(b)2078 2663 y Fu(i)2106 2649 y FA(q)2150 2612 y Ft(0)2147 2672 y Fu(j)2183 2649 y FA(\014)2239 2612 y Fu(k)2282 2649 y FA(:)118 2965 y FB(It)h(is)g(easy)g(to)h(see)g(that)g FA(P)39 b FB(=)26 b FA(Q)1234 2932 y Ft(0)1278 2965 y Fv(\001)21 b FA(B)36 b FB(is)30 b(the)h(sum)f(of)i(the)f FA(w)2198 2980 y Fu(k)2241 2965 y FB(,)g(i.e.,)h FA(P)40 b FB(=)2665 2897 y Fr(P)2761 2923 y Fy(2)p Fu(n)p Ft(\000)p Fy(2)2761 2992 y Fu(k)r Fy(=0)2948 2965 y FA(w)3013 2980 y Fu(k)3056 2965 y FB(.)j(The)31 b(next)g(lemma)118 3078 y(sho)m(ws)k(that)g(the)g (parts)f FA(w)1048 3092 y Fy(0)1088 3078 y FA(;)15 b(:)g(:)g(:)h(;)f(w) 1354 3092 y Fu(n)p Ft(\000)p Fy(4)1527 3078 y FB(only)34 b(con)m(tribute)g(a)h(small)e(amoun)m(t)j(to)f FA(P)13 b FB(,)36 b(hence)f(w)m(e)g(will)d(not)118 3191 y(compute)f(them.)40 b(Recall)30 b(that)h(w)m(e)g(w)m(an)m(t)g(to)h(p)s(erform)d(phase)h(2)g (in)f(linear)g(time.)118 3377 y FC(Lemma)k(7.)46 b Fw(F)-7 b(or)33 b(any)h FA(l)g Fw(with)f FB(0)26 b Fv(\024)f FA(l)i(<)e FB(2)p FA(l)r Fw(,)1589 3547 y Fu(l)q Ft(\000)p Fy(1)1579 3575 y Fr(X)1581 3772 y Fu(k)r Fy(=0)1726 3661 y FA(w)1791 3676 y Fu(k)1859 3661 y FA(<)g FB(2)p FA(n)20 b Fv(\001)h FA(\014)2177 3623 y Fu(l)q Fy(+1)2293 3661 y FA(:)259 3942 y FC(Pro)s(of:)423 4095 y Fu(l)q Ft(\000)p Fy(1)413 4122 y Fr(X)414 4320 y Fu(k)r Fy(=0)560 4208 y FA(w)625 4223 y Fu(k)693 4208 y Fv(\024)798 4095 y Fu(l)q Ft(\000)p Fy(1)788 4122 y Fr(X)790 4320 y Fu(k)r Fy(=0)920 4208 y FB(\()p FA(k)j FB(+)19 b(1\))p FA(\014)1252 4171 y Fu(k)r Fy(+2)1412 4208 y Fv(\024)25 b FA(l)d Fv(\001)e FA(\014)1658 4171 y Fy(2)1718 4208 y Fv(\001)1773 4095 y Fu(l)q Ft(\000)p Fy(1)1763 4122 y Fr(X)1765 4320 y Fu(k)r Fy(=0)1910 4208 y FA(\014)1966 4171 y Fu(k)2034 4208 y FB(=)25 b FA(l)d Fv(\001)2293 4147 y FA(\014)2349 4114 y Fy(2)p 2234 4188 213 4 v 2234 4271 a FA(\014)k Fv(\000)20 b FB(1)2477 4208 y Fv(\001)h FB(\()p FA(\014)2614 4171 y Fu(l)2661 4208 y Fv(\000)f FB(1\))26 b FA(<)f(l)d Fv(\001)e FB(2)p FA(\014)26 b Fv(\001)20 b FA(\014)3271 4171 y Fu(l)3298 4208 y FA(:)p 3419 4208 4 62 v 3423 4150 55 4 v 3423 4208 V 3477 4208 4 62 v 259 4490 a FB(W)-8 b(e)32 b(no)m(w)e(apply)f(the)i(previous)e(lemma)h(with)f FA(l)e FB(=)e FA(n)20 b Fv(\000)f FB(3,)31 b(whic)m(h)f(giv)m(es)g(the) h(b)s(ound)1343 4657 y Fu(n)p Ft(\000)p Fy(4)1343 4684 y Fr(X)1345 4882 y Fu(k)r Fy(=0)1491 4770 y FA(w)1556 4785 y Fu(k)1624 4770 y FA(<)25 b FB(2\()p FA(n)20 b Fv(\000)g FB(3\))p FA(\014)2102 4733 y Fu(n)p Ft(\000)p Fy(2)2266 4770 y FA(<)25 b(\014)2418 4733 y Fu(n)p Ft(\000)p Fy(1)3663 4770 y FB(\(4\))118 5051 y(b)s(ecause)i(of)g(assumption)f (1.2.)41 b(If)26 b(w)m(e)i(omit)e(in)g FA(P)40 b FB(the)27 b(terms)g FA(w)2305 5065 y Fy(0)2345 5051 y FA(;)15 b(:)g(:)g(:)h(;)f (w)2611 5065 y Fu(n)p Ft(\000)p Fy(4)2749 5051 y FB(,)28 b(w)m(e)f(get)i(an)e(appro)m(ximation)118 5164 y FA(P)189 5131 y Ft(0)241 5164 y FB(:=)366 5096 y Fr(P)462 5122 y Fy(2)p Fu(n)p Ft(\000)p Fy(2)462 5191 y Fu(k)r Fy(=)p Fu(n)p Ft(\000)p Fy(3)708 5164 y FA(w)773 5179 y Fu(k)848 5164 y FB(of)32 b FA(P)13 b FB(.)47 b(Remem)m(b)s(er)32 b(that)i(w)m(e)f(c)m(hose)g FA(Q)2204 5131 y Ft(0)2260 5164 y FB(as)f(the)h(maxim)m(um)e(of)i(0)g(and)3339 5141 y Fr(b)3321 5164 y FA(Q)21 b Fv(\000)h FB(2)15 b(log)i FA(n)p FB(.)118 5277 y(W)-8 b(e)34 b(sho)m(w)g(no)m(w)f(that)h FA(P)969 5244 y Ft(0)1022 5277 y Fv(\024)29 b FA(A)p FB(.)50 b(F)-8 b(or)34 b FA(Q)1503 5244 y Ft(0)1556 5277 y FB(=)29 b(0)34 b(w)m(e)g(ha)m(v)m(e)g FA(P)43 b FB(=)30 b FA(P)2357 5244 y Ft(0)2410 5277 y FB(=)g(0)j(and)g(so)g(our)g (statemen)m(t)i(is)d(clear.)118 5390 y(Otherwise)d(w)m(e)i(ha)m(v)m(e)h (b)m(y)e(Lemma)g(3)1134 5592 y(0)25 b Fv(\024)g FA(P)1371 5555 y Ft(0)1420 5592 y Fv(\024)g FA(P)38 b FB(=)25 b(\()1762 5569 y Fr(b)1743 5592 y FA(Q)20 b Fv(\000)g FB(2)15 b(log)i FA(n)p FB(\))p FA(B)30 b Fv(\024)25 b FA(QB)30 b Fv(\024)25 b FA(A:)1903 5841 y FB(15)p eop %%Page: 16 20 16 19 bop 118 399 a FB(This)32 b(implies)f(that)k(the)f(appro)m(ximate) f(remainder)g FA(R)2034 366 y Ft(0)2057 399 y FB(\()p FA(Q)2164 366 y Ft(0)2187 399 y FB(\))f(:=)f FA(A)22 b Fv(\000)g FA(P)2635 366 y Ft(0)2692 399 y FB(is)33 b(nonnegativ)m(e.)52 b(Equation)33 b(4)118 511 y(giv)m(es)e(us)f(an)g (inclusion)d(for)j FA(R)q FB(\()p FA(Q)1279 478 y Ft(0)1302 511 y FB(\))h(in)e(terms)h(of)h FA(R)1901 478 y Ft(0)1924 511 y FB(\()p FA(Q)2031 478 y Ft(0)2055 511 y FB(\):)780 708 y FA(R)850 671 y Ft(0)873 708 y FB(\()p FA(Q)980 671 y Ft(0)1004 708 y FB(\))25 b Fv(\024)g FA(R)q FB(\()p FA(Q)1337 671 y Ft(0)1360 708 y FB(\))h Fv(\024)f FA(R)1587 671 y Ft(0)1610 708 y FB(\()p FA(Q)1717 671 y Ft(0)1741 708 y FB(\))20 b(+)g(2\()p FA(n)h Fv(\000)f FB(3\))p FA(\014)2270 671 y Fu(n)p Ft(\000)p Fy(2)2433 708 y FA(<)25 b(R)2599 671 y Ft(0)2622 708 y FB(\()p FA(Q)2729 671 y Ft(0)2752 708 y FB(\))c(+)f FA(\014)2955 671 y Fu(n)p Ft(\000)p Fy(1)3092 708 y FA(:)546 b FB(\(5\))118 905 y(T)-8 b(o)32 b(simplify)27 b(the)k(computations,)h(w)m(e)f(only)f(use) h(the)g(highest)g(t)m(w)m(o)h(digits)e FA(r)2776 872 y Ft(0)2825 905 y FB(=)c([)p FA(r)2991 872 y Ft(0)2988 927 y Fu(n)3035 905 y FA(;)15 b(r)3119 872 y Ft(0)3116 929 y Fu(n)p Ft(\000)p Fy(1)3254 905 y FB(])31 b(of)g FA(R)3484 872 y Ft(0)3507 905 y FB(\()p FA(Q)3614 872 y Ft(0)3637 905 y FB(\))h(in)118 1018 y(the)i(follo)m(wing.)48 b(The)33 b(situation)g(is)f(illustrated)f(b)m(y)j(Figure)f(4.)100 b(T)-8 b(runcating)33 b(the)g(last)h FA(n)21 b Fv(\000)h FB(1)34 b(digits)e(of)664 2424 y @beginspecial 0 @llx 0 @lly 366 @urx 155 @ury 3660 @rwi @setspecial %%BeginDocument: ProbCorrection.pstex /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save -26.0 208.0 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /reencdict 12 dict def /ReEncode { reencdict begin /newcodesandnames exch def /newfontname exch def /basefontname exch def /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName newfontname put newcodesandnames aload pop 128 1 255 { newfont /Encoding get exch /.notdef put } for newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat newfontname newfont definefont pop end } def /isovec [ 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde 8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis 8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron 8#220 /dotlessi 8#230 /oe 8#231 /OE 8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot 8#255 /endash 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph 8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine 8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf 8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve 8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def /Times-Roman /Times-Roman-iso isovec ReEncode /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit n -1000 7933 m -1000 -1000 l 14057 -1000 l 14057 7933 l cp clip 0.03000 0.03000 sc % Polyline 30.000 slw n 4800 3900 m 900 3900 l 900 4500 l 4800 4500 l gs 0.85 setgray ef gr gs col0 s gr % Polyline n 4800 4500 m 6600 4500 l 6600 3900 l 4800 3900 l gs 0.70 setgray ef gr gs col0 s gr % Polyline n 4800 6300 m 4800 6900 l 6000 6900 l 6000 6300 l 4800 6300 l cp gs 0.70 setgray ef gr gs col0 s gr % Polyline 7.500 slw [60] 0 sd n 6000 3900 m 6000 4500 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 4800 3900 m 4800 4500 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 4200 3900 m 4200 4500 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 3600 3900 m 3600 4500 l gs col0 s gr [] 0 sd % Polyline gs clippath 4298 4830 m 4218 4800 l 4298 4770 l 4185 4770 l 4185 4830 l cp clip n 4575 4800 m 4200 4800 l gs col0 s gr gr % arrowhead n 4298 4830 m 4218 4800 l 4298 4770 l col0 s % Polyline gs clippath 5302 4770 m 5382 4800 l 5302 4830 l 5415 4830 l 5415 4770 l cp clip n 5025 4800 m 5400 4800 l gs col0 s gr gr % arrowhead n 5302 4770 m 5382 4800 l 5302 4830 l col0 s % Polyline [60] 0 sd n 7200 3900 m 7200 4500 l gs col0 s gr [] 0 sd % Polyline gs clippath 6502 5370 m 6582 5400 l 6502 5430 l 6615 5430 l 6615 5370 l cp clip n 6225 5400 m 6600 5400 l gs col0 s gr gr % arrowhead n 6502 5370 m 6582 5400 l 6502 5430 l col0 s % Polyline gs clippath 5498 5430 m 5418 5400 l 5498 5370 l 5385 5370 l 5385 5430 l cp clip n 5775 5400 m 5400 5400 l gs col0 s gr gr % arrowhead n 5498 5430 m 5418 5400 l 5498 5370 l col0 s % Polyline gs clippath 7102 5670 m 7182 5700 l 7102 5730 l 7215 5730 l 7215 5670 l cp clip n 6825 5700 m 7200 5700 l gs col0 s gr gr % arrowhead n 7102 5670 m 7182 5700 l 7102 5730 l col0 s % Polyline [60] 0 sd n 6600 3900 m 6600 4500 l gs col0 s gr [] 0 sd % Polyline gs clippath 6098 5730 m 6018 5700 l 6098 5670 l 5985 5670 l 5985 5730 l cp clip n 6375 5700 m 6000 5700 l gs col0 s gr gr % arrowhead n 6098 5730 m 6018 5700 l 6098 5670 l col0 s % Polyline 30.000 slw n 900 1800 m 10200 1800 l 10200 2400 l 900 2400 l 900 1800 l cp gs col0 s gr % Polyline 7.500 slw [60] 0 sd n 3600 1800 m 3600 2400 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 4200 1800 m 4200 2400 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 4800 1800 m 4800 3000 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 6000 1800 m 6000 3000 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 6600 1800 m 6600 3300 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 7200 1800 m 7200 3000 l gs col0 s gr [] 0 sd % Polyline 30.000 slw n 6600 3900 m 10200 3900 l 10200 4500 l 6600 4500 l 6600 3900 l cp gs col0 s gr % Polyline 7.500 slw [60] 0 sd n 7800 1800 m 7800 2400 l gs col0 s gr [] 0 sd % Polyline 30.000 slw n 900 6300 m 10200 6300 l 10200 6900 l 900 6900 l 900 6300 l cp gs col0 s gr % Polyline 7.500 slw gs clippath 5752 5070 m 5832 5100 l 5752 5130 l 5865 5130 l 5865 5070 l cp clip n 5475 5100 m 5850 5100 l gs col0 s gr gr % arrowhead n 5752 5070 m 5832 5100 l 5752 5130 l col0 s % Polyline gs clippath 5227 5070 m 5307 5100 l 5227 5130 l 5340 5130 l 5340 5070 l cp clip n 5175 5100 m 5325 5100 l gs col0 s gr gr % arrowhead n 5227 5070 m 5307 5100 l 5227 5130 l col0 s % Polyline 15.000 slw n 5400 3900 m 5400 4500 l gs col0 s gr % Polyline 30.000 slw n 7800 3900 m 7800 4500 l gs col0 s gr % Polyline 7.500 slw [60] 0 sd n 5400 1800 m 5400 3300 l gs col0 s gr [] 0 sd % Polyline gs clippath 4898 5130 m 4818 5100 l 4898 5070 l 4785 5070 l 4785 5130 l cp clip n 5175 5100 m 4800 5100 l gs col0 s gr gr % arrowhead n 4898 5130 m 4818 5100 l 4898 5070 l col0 s $F2psEnd rs %%EndDocument @endspecial 2997 1403 a gsave 0 0 0 setrgbcolor 2997 1403 a Fn(a)3038 1411 y Fg(0)3072 1403 y grestore 3072 1403 a 3203 1235 a gsave 0 0 0 setrgbcolor 3203 1235 a Fl(A)3276 1235 y grestore 3276 1235 a 3203 1760 a gsave 0 0 0 setrgbcolor 3203 1760 a Fl(P)3280 1723 y Ft(0)3303 1760 y grestore 3303 1760 a 3184 2359 a gsave 0 0 0 setrgbcolor 3184 2359 a Fl(R)3259 2323 y Ft(0)3310 2359 y FE(=)c Fl(A)22 b Ff(\000)h Fl(P)3686 2323 y Ft(0)3709 2359 y grestore 3709 2359 a 1628 1928 a gsave 0 0 0 setrgbcolor 1628 1928 a Fn(w)1683 1936 y Fj(n)1726 1928 y grestore 1726 1928 a 1760 2003 a gsave 0 0 0 setrgbcolor 1760 2003 a Fn(w)1815 2011 y Fj(n)p Fe(\000)p Fg(1)1936 2003 y grestore 1936 2003 a 1910 2078 a gsave 0 0 0 setrgbcolor 1910 2078 a Fn(w)1965 2086 y Fj(n)p Fe(\000)p Fg(2)2086 2078 y grestore 2086 2078 a 2060 2153 a gsave 0 0 0 setrgbcolor 2060 2153 a Fn(w)2115 2161 y Fj(n)p Fe(\000)p Fg(3)2236 2153 y grestore 2236 2153 a 1760 2378 a gsave 0 0 0 setrgbcolor 1760 2378 a Fl(r)1807 2342 y Ft(0)1830 2378 y grestore 1830 2378 a 1610 1497 a gsave 0 0 0 setrgbcolor 1610 1497 a Fn(a)1651 1505 y Fj(n)p Fg(+1)1770 1497 y grestore 1770 1497 a 1910 1497 a gsave 0 0 0 setrgbcolor 1910 1497 a Fn(a)1951 1505 y Fj(n)p Fe(\000)p Fg(1)2071 1497 y grestore 2071 1497 a 1816 1553 a gsave 0 0 0 setrgbcolor 1816 1553 a Fn(a)1857 1561 y Fj(n)1899 1553 y grestore 1899 1553 a 2116 1553 a gsave 0 0 0 setrgbcolor 2116 1553 a Fn(a)2157 1561 y Fj(n)p Fe(\000)p Fg(2)2277 1553 y grestore 2277 1553 a 2228 1497 a gsave 0 0 0 setrgbcolor 2228 1497 a Fn(a)2269 1505 y Fj(n)p Fe(\000)p Fg(3)2390 1497 y grestore 2390 1497 a 284 2607 a Fp(Figure)31 b(4:)37 b FD(W)-7 b(e)31 b(compute)g(only)f (the)h(dark)f(shaded)h(region)e(of)i Fk(P)2406 2576 y Fh(0)2460 2607 y FD(b)r(ecause)g(the)g(ligh)n(t)f(shaded)h(region)698 2706 y(is)g(equal)h(to)f(the)i(corresp)r(onding)d(region)g(of)i Fk(A)g FD(and)g(the)g(unshaded)g(region)f(is)g(to)r(o)h(small)698 2806 y(an)n(yw)n(a)n(y)-7 b(.)41 b(F)-7 b(rom)29 b(the)i(di\013erence)e Fk(R)1830 2776 y Fh(0)1880 2806 y FD(=)d Fk(A)21 b Fd(\000)e Fk(P)2203 2776 y Fh(0)2256 2806 y FD(w)n(e)29 b(truncate)h(the)g(last)g Fk(n)19 b Fd(\000)h FD(1)29 b(digits;)i(the)698 2905 y(remaining)26 b(t)n(w)n(o)h(digits)h(form)f Fk(r)1704 2875 y Fh(0)1728 2905 y FD(.)118 3214 y FA(R)188 3181 y Ft(0)211 3214 y FB(\()p FA(Q)318 3181 y Ft(0)342 3214 y FB(\))j(causes)h(an)f(error)g(of)h(at)g(most)g FA(\014)1529 3181 y Fu(n)p Ft(\000)p Fy(1)1666 3214 y FB(,)g(hence)1312 3410 y FA(r)1356 3373 y Ft(0)1379 3410 y FA(\014)1435 3373 y Fu(n)p Ft(\000)p Fy(1)1597 3410 y Fv(\024)25 b FA(R)1763 3373 y Ft(0)1786 3410 y FB(\()p FA(Q)1893 3373 y Ft(0)1917 3410 y FB(\))g Fv(\024)g FB(\()p FA(r)2152 3373 y Ft(0)2196 3410 y FB(+)20 b(1\))p FA(\014)2423 3373 y Fu(n)p Ft(\000)p Fy(1)2561 3410 y FA(:)118 3607 y FB(T)-8 b(ogether)32 b(with)d(Equation)g(5)i(this)e(implies)f (another)j(inclusion)c(for)j FA(R)q FB(\()p FA(Q)2690 3574 y Ft(0)2713 3607 y FB(\))h(that)g(in)m(v)m(olv)m(es)f(only)g FA(r)3561 3574 y Ft(0)3584 3607 y FB(:)1323 3804 y FA(r)1367 3766 y Ft(0)1390 3804 y FA(\014)1446 3766 y Fu(n)p Ft(\000)p Fy(1)1609 3804 y Fv(\024)25 b FA(R)q FB(\()p FA(Q)1882 3766 y Ft(0)1905 3804 y FB(\))h Fv(\024)f FB(\()p FA(r)2141 3766 y Ft(0)2184 3804 y FB(+)20 b(2\))p FA(\014)2411 3766 y Fu(n)p Ft(\000)p Fy(1)2549 3804 y FA(:)1089 b FB(\(6\))118 4001 y(There)30 b(is)f(a)i(similar)d(inclusion)f(for)j (the)h(divisor)d FA(B)35 b FB(if)29 b(w)m(e)i(use)f(only)g(the)g (highest)g(digit)f FA(b)3217 4015 y Fu(n)p Ft(\000)p Fy(1)3384 4001 y FB(of)i FA(B)5 b FB(:)1295 4197 y FA(b)1334 4211 y Fu(n)p Ft(\000)p Fy(1)1471 4197 y FA(\014)1527 4160 y Fu(n)p Ft(\000)p Fy(1)1690 4197 y Fv(\024)25 b FA(B)30 b Fv(\024)25 b FB(\()p FA(b)2055 4211 y Fu(n)p Ft(\000)p Fy(1)2212 4197 y FB(+)20 b(1\))p FA(\014)2439 4160 y Fu(n)p Ft(\000)p Fy(1)2577 4197 y FA(:)118 4394 y FB(Putting)30 b(the)g(last)g(t)m(w)m(o)i(inclusions)27 b(together)32 b(w)m(e)f(obtain)1482 4574 y FA(r)1526 4541 y Ft(0)p 1349 4614 333 4 v 1349 4698 a FA(b)1388 4712 y Fu(n)p Ft(\000)p Fy(1)1545 4698 y FB(+)20 b(1)1742 4635 y Fv(\024)1873 4574 y FA(R)q FB(\()p FA(Q)2050 4541 y Ft(0)2073 4574 y FB(\))p 1873 4614 236 4 v 1954 4698 a FA(B)2169 4635 y Fv(\024)2300 4574 y FA(r)2344 4541 y Ft(0)2387 4574 y FB(+)g(2)p 2300 4614 224 4 v 2324 4698 a FA(b)2363 4712 y Fu(n)p Ft(\000)p Fy(1)2534 4635 y FA(:)118 4880 y FB(Remem)m(b)s(er)35 b(that)g(w)m(e)g(w)m(an)m(t)h (to)f(compute)g(the)g(quan)m(tit)m(y)g FA(\016)s FB(\()p FA(Q)2312 4847 y Ft(0)2337 4880 y FB(\))e(=)f FA(Q)23 b Fv(\000)g FA(Q)2769 4847 y Ft(0)2792 4880 y FB(,)36 b(whic)m(h)e(is)f Fv(b)p FA(R)q FB(\()p FA(Q)3430 4847 y Ft(0)3454 4880 y FB(\))p FA(=B)5 b Fv(c)36 b FB(b)m(y)118 4993 y(Lemma)31 b(5.)41 b(Rounding)28 b(do)m(wn)i(to)h(the)g(next)f(in) m(teger)h(in)e(the)i(last)f(estimate)h(w)m(e)g(\014nally)d(get)1084 5234 y FA(\016)1124 5249 y Fu(l)1175 5234 y FB(:=)e Fv(b)1480 5173 y FA(r)1524 5140 y Ft(0)p 1347 5214 333 4 v 1347 5297 a FA(b)1386 5311 y Fu(n)p Ft(\000)p Fy(1)1543 5297 y FB(+)20 b(1)1690 5234 y Fv(c)51 b(\024)f FA(\016)s FB(\()p FA(Q)2052 5197 y Ft(0)2076 5234 y FB(\))26 b Fv(\024)f(b)2283 5173 y FA(r)2327 5140 y Ft(0)2370 5173 y FB(+)20 b(2)p 2283 5214 224 4 v 2307 5297 a FA(b)2346 5311 y Fu(n)p Ft(\000)p Fy(1)2516 5234 y Fv(c)26 b FB(=:)f FA(\016)2743 5249 y Fu(h)2789 5234 y FA(:)849 b FB(\(7\))118 5479 y(If)30 b(the)h(lo)m(w)m(er)g(b)s(ound)d FA(\016)924 5494 y Fu(l)981 5479 y FB(is)h(equal)h(to)i(the)e(upp)s(er)f(b)s(ound)f FA(\016)2161 5494 y Fu(h)2207 5479 y FB(,)i(then)h FA(\016)2510 5494 y Fu(l)2561 5479 y FB(=)26 b FA(\016)2698 5494 y Fu(h)2768 5479 y FB(=)f FA(\016)s FB(\()p FA(Q)3014 5446 y Ft(0)3039 5479 y FB(\))31 b(and)f(w)m(e)h(are)f(done.)118 5592 y(Otherwise)f(w)m(e)i(declare)f(phase)g(2)h(as)g(failed.)1903 5841 y(16)p eop %%Page: 17 21 17 20 bop 118 399 a FC(Lemma)33 b(8.)46 b Fw(The)32 b(quantities)h FA(\016)1257 414 y Fu(h)1335 399 y Fw(and)h FA(\016)1552 414 y Fu(l)1611 399 y Fw(c)-5 b(an)33 b(b)-5 b(e)32 b(c)-5 b(ompute)g(d)35 b(in)d(line)-5 b(ar)34 b(time)f(fr)-5 b(om)34 b FA(Q)3151 366 y Ft(0)3174 399 y Fw(.)259 582 y FC(Pro)s(of:)50 b FB(W)-8 b(e)36 b(need)f(to)g(compute)g FA(r)1501 549 y Ft(0)1524 582 y FB(.)54 b(Because)36 b(of)f(our)f(assumptions)f FA(\014)38 b Fv(\025)32 b FB(2)2987 549 y Fy(32)3097 582 y FB(and)i FA(n)e(<)g(\014)5 b(=)p FB(2,)37 b(w)m(e)118 695 y(ha)m(v)m(e)1513 808 y FA(\016)s FB(\()p FA(Q)1663 771 y Ft(0)1687 808 y FB(\))26 b Fv(\024)f FB(2)15 b(log)r(\()p FA(n)p FB(\))25 b Fv(\024)g FB(64)p FA(:)1280 b FB(\(8\))118 973 y(By)31 b(Lemma)f(5,)h FA(R)756 940 y Ft(0)779 973 y FB(\()p FA(Q)886 940 y Ft(0)910 973 y FB(\))f(is)g(b)s(ounded)e(b)m(y)975 1172 y FA(R)1045 1135 y Ft(0)1068 1172 y FB(\()p FA(Q)1175 1135 y Ft(0)1198 1172 y FB(\))e Fv(\024)f FA(R)q FB(\()p FA(Q)1532 1135 y Ft(0)1555 1172 y FB(\))h FA(<)f Fv(j)p FB(1)c(+)f FA(\016)s FB(\()p FA(Q)2044 1135 y Ft(0)2068 1172 y FB(\))p Fv(j)p FA(B)30 b Fv(\024)25 b FB(65)c Fv(\001)g FA(\014)2536 1135 y Fu(n)2608 1172 y FA(<)k(\014)2760 1135 y Fu(n)p Fy(+1)2898 1172 y FA(:)118 1372 y FB(Hence,)32 b(setting)e FA(M)35 b FB(=)25 b FA(\014)987 1339 y Fu(n)p Fy(+1)1155 1372 y FB(w)m(e)31 b(ha)m(v)m(e)g FA(R)1568 1339 y Ft(0)1591 1372 y FB(\()p FA(Q)1698 1339 y Ft(0)1722 1372 y FB(\))26 b(=)f FA(R)1949 1339 y Ft(0)1972 1372 y FB(\()p FA(Q)2079 1339 y Ft(0)2102 1372 y FB(\))h Fw(mo)-5 b(d)36 b FA(M)k FB(and)30 b(therefore)1082 1649 y FA(R)1152 1611 y Ft(0)1175 1649 y FB(\()p FA(Q)1282 1611 y Ft(0)1305 1649 y FB(\))51 b(=)1512 1493 y Fr( )1629 1535 y Fu(n)1584 1563 y Fr(X)1593 1758 y Fu(i)p Fy(=0)1731 1649 y FA(a)1779 1663 y Fu(i)1807 1649 y FA(\014)1863 1611 y Fu(i)1912 1649 y Fv(\000)2087 1535 y Fu(n)2043 1563 y Fr(X)2003 1758 y Fu(i)p Fy(=)p Fu(n)p Ft(\000)p Fy(3)2230 1649 y FA(w)2295 1664 y Fu(k)2337 1493 y Fr(!)2500 1649 y Fw(mo)-5 b(d)37 b FA(M)5 b(:)118 1932 y FB(This)26 b(means)h(that)h (the)g(parts)f FA(w)1241 1946 y Fu(n)p Fy(+1)1379 1932 y FA(;)15 b(w)1484 1946 y Fu(n)p Fy(+3)1621 1932 y FA(;)g(:)g(:)g(:)i (;)e(w)1888 1946 y Fy(2)p Fu(n)p Ft(\000)p Fy(2)2088 1932 y FB(need)28 b(not)f(b)s(e)g(computed)h(b)s(ecause)f(they)h(v)-5 b(anish)118 2045 y(in)42 b(the)h(reduction)e(mo)s(dulo)h FA(M)10 b FB(.)78 b(Therefore)42 b(only)g(the)h(4)h(quan)m(tities)e FA(w)2753 2059 y Fu(n)p Ft(\000)p Fy(3)2890 2045 y FA(;)15 b(:)g(:)g(:)i(;)e(w)3157 2059 y Fu(n)3247 2045 y FB(remain)42 b(to)h(b)s(e)118 2158 y(computed.)d(Ev)m(ery)30 b(term)f FA(w)1114 2173 y Fu(k)1185 2158 y FB(tak)m(es)i FA(k)21 b FB(+)c(1)29 b(digit)f(m)m(ultiplications.)37 b(All)28 b(other)h(op)s(erations)f(are)i(done)f(in)118 2271 y(constan)m(t)j (time.)40 b(This)29 b(pro)m(v)m(es)i(our)f(lemma.)p 3714 2271 4 62 v 3718 2213 55 4 v 3718 2271 V 3771 2271 4 62 v 259 2384 a(W)-8 b(e)32 b(summarize)d(the)i(discussion)c(in)j(the)g (follo)m(wing)f(algorithm.)118 2568 y FC(Algorithm)35 b(6.)45 b Fw(\(Pr)-5 b(ob)g(abilistic)33 b(quotient)e(c)-5 b(orr)g(e)g(ction\))34 b(L)-5 b(et)31 b FA(A)p Fw(,)h FA(B)j Fw(b)-5 b(e)31 b(as)h(in)f(algorithm)i FA(D)3316 2535 y Ft(\000)3406 2568 y Fw(and)f(let)3726 2545 y Fr(b)3708 2568 y FA(Q)118 2681 y Fw(b)-5 b(e)32 b(the)g(appr)-5 b(oximate)35 b(quotient)d(of)h FA(A)f Fw(and)g FA(B)37 b Fw(as)32 b(c)-5 b(ompute)g(d)34 b(by)e(algorithm)i FA(D)2848 2648 y Ft(\000)2906 2681 y Fw(.)42 b(Either)32 b(the)g(algorithm)118 2793 y(r)-5 b(eturns)34 b FA(Q)25 b FB(=)g Fv(b)p FA(A=B)5 b Fv(c)33 b Fw(or)h(it)e(de)-5 b(clar)g(es)35 b(the)e(c)-5 b(omputation)35 b(as)e(faile)-5 b(d.)226 2977 y(1.)45 b(Set)33 b FA(Q)573 2944 y Ft(0)621 2977 y FB(=)25 b Fw(max)12 b Fv(f)p FB(0)p FA(;)1041 2954 y Fr(b)1021 2977 y FA(Q)22 b Fv(\000)e FB(2)15 b(log)i FA(n)p Fv(g)p Fw(.)226 3163 y(2.)45 b(Set)33 b FA(R)571 3130 y Ft(0)594 3163 y FB(\()p FA(Q)701 3130 y Ft(0)725 3163 y FB(\))25 b(=)881 3095 y Fr(P)977 3121 y Fu(n)977 3190 y(i)p Fy(=0)1111 3163 y FA(a)1159 3177 y Fu(i)1207 3163 y Fv(\000)1298 3095 y Fr(P)1394 3121 y Fu(n)1394 3190 y(i)p Fy(=)p Fu(n)p Ft(\000)p Fy(3)1625 3163 y FA(w)1690 3178 y Fu(k)1733 3163 y Fw(.)226 3361 y(3.)45 b(Set)33 b FA(r)545 3328 y Ft(0)593 3361 y FB(=)25 b Fv(b)p FA(R)799 3328 y Ft(0)823 3361 y FB(\()p FA(Q)930 3328 y Ft(0)953 3361 y FB(\))c Fv(\001)f FA(\014)1110 3328 y Ft(\000)p Fy(\()p Fu(n)p Ft(\000)p Fy(1\))1357 3361 y Fv(c)33 b Fw(and)h FA(b)1646 3375 y Fu(n)p Ft(\000)p Fy(1)1808 3361 y FB(=)25 b Fv(b)p FA(B)g Fv(\001)c FA(\014)2140 3328 y Ft(\000)p Fy(\()p Fu(n)p Ft(\000)p Fy(1\))2387 3361 y Fv(c)p Fw(.)226 3548 y(4.)45 b(Set)33 b FA(\016)541 3563 y Fu(h)612 3548 y FB(=)24 b Fv(b)p FB(\()p FA(r)826 3515 y Ft(0)870 3548 y FB(+)c(2\))p FA(=b)1125 3562 y Fu(n)p Ft(\000)p Fy(1)1264 3548 y Fv(c)33 b Fw(and)g FA(\016)1553 3563 y Fu(l)1605 3548 y FB(=)25 b Fv(b)p FA(r)1785 3515 y Ft(0)1808 3548 y FA(=)p FB(\()p FA(b)1927 3562 y Fu(n)p Ft(\000)p Fy(1)2085 3548 y FB(+)20 b(1\))p Fv(c)p Fw(.)226 3734 y(5.)45 b(If)33 b FA(\016)481 3749 y Fu(h)551 3734 y FB(=)25 b FA(\016)687 3749 y Fu(l)746 3734 y Fw(r)-5 b(eturn)34 b FA(Q)25 b FB(=)g FA(Q)1288 3701 y Ft(0)1331 3734 y FB(+)20 b FA(\016)1462 3749 y Fu(h)1507 3734 y Fw(,)33 b(otherwise)h(de)-5 b(clar)g(e)34 b(the)f(c)-5 b(omputation)35 b(as)e(faile)-5 b(d.)259 3917 y FB(Our)30 b(algorithmic)f(description)g(of)h(phase)h(2)g(is)e (no)m(w)i(complete.)42 b(What)31 b(remains)e(is)h(to)h(giv)m(e)h(a)f (go)s(o)s(d)118 4030 y(estimate)g(for)f(the)h(probabilit)m(y)d(of)i (failure)f(to)i(sho)m(w)f(the)h(p)s(o)m(w)m(er)f(of)h(the)f(metho)s(d.) 118 4273 y Fs(3.4)112 b(Probabilistic)34 b(quotien)m(t)j(correction:)48 b(The)38 b(analysis)118 4445 y FC(Lemma)33 b(9.)46 b Fw(We)38 b(supp)-5 b(ose)40 b(that)g(for)g(every)e(\014xe)-5 b(d)40 b(divisor)g FA(B)j Fw(every)c(p)-5 b(ossible)40 b(dividend)f FA(A)g Fw(is)g(e)-5 b(qual)5 b(ly)118 4558 y(likely.)42 b(Then)33 b(the)g(pr)-5 b(ob)g(ability)35 b(for)e(the)g(c)-5 b(ase)33 b FA(\016)1747 4573 y Fu(l)1799 4558 y FA(<)25 b(\016)1935 4573 y Fu(h)2013 4558 y Fw(is)32 b(b)-5 b(ounde)g(d)34 b(by)1529 4757 y(pr)-5 b(ob)7 b FB(\()p FA(\016)1778 4772 y Fu(l)1830 4757 y FA(<)25 b(\016)1966 4772 y Fu(h)2012 4757 y FB(\))g Fv(\024)g FB(2)2213 4720 y Ft(\000)p Fy(23)2343 4757 y FA(:)259 4957 y FC(Pro)s(of:)57 b FB(W)-8 b(e)39 b(split)d(the)i(pro)s(of)f(of)h (our)g(lemma)f(in)m(to)h(sev)m(eral)h(claims.)62 b(The)37 b(k)m(ey)i(quan)m(tit)m(y)f(in)f(our)118 5070 y(pro)s(of)27 b(is)f FA(r)482 5084 y Fu(n)p Ft(\000)p Fy(1)619 5070 y FB(,)i(the)g(highest)f(digit)f(of)h(the)h(exact)h(remainder)d FA(R)i FB(of)f(the)h(division)c Fv(b)p FA(A=B)5 b Fv(c)p FB(.)41 b(Since)26 b FA(R)g(<)f(B)118 5183 y FB(w)m(e)31 b(ha)m(v)m(e)h(0)25 b Fv(\024)g FA(r)669 5197 y Fu(n)p Ft(\000)p Fy(1)832 5183 y Fv(\024)g FA(b)967 5197 y Fu(n)p Ft(\000)p Fy(1)1104 5183 y FB(.)118 5367 y FC(Claim)33 b(3.)46 b Fw(Every)28 b(value)f FB(0)f Fv(\024)f FA(r)1244 5381 y Fu(n)p Ft(\000)p Fy(1)1406 5367 y FA(<)g(b)1541 5381 y Fu(n)p Ft(\000)p Fy(1)1706 5367 y Fw(is)j(e)-5 b(qual)5 b(ly)28 b(likely)g(for)g FA(r)2507 5381 y Fu(n)p Ft(\000)p Fy(1)2644 5367 y Fw(.)40 b(Only)28 b(the)g(value)g FA(r)3345 5381 y Fu(n)p Ft(\000)p Fy(1)3507 5367 y FB(=)d FA(b)3642 5381 y Fu(n)p Ft(\000)p Fy(1)118 5479 y Fw(is)h(less)g (likely)g(than)h(the)f(others.)41 b(In)26 b(p)-5 b(articular,)29 b(e)-5 b(ach)27 b(value)f FA(r)2271 5493 y Fu(n)p Ft(\000)p Fy(1)2433 5479 y Fv(2)f FB([0)p FA(;)15 b(:)g(:)g(:)i(;)e(b)2830 5493 y Fu(n)p Ft(\000)p Fy(1)2973 5479 y Fv(\000)5 b FB(1])27 b Fw(has)g(a)f(pr)-5 b(ob)g(ability)118 5592 y FA(p)32 b Fw(with)i FA(p)25 b(<)g FB(1)p FA(=b)690 5606 y Fu(n)p Ft(\000)p Fy(1)828 5592 y Fw(.)1903 5841 y FB(17)p eop %%Page: 18 22 18 21 bop 259 399 a FC(Pro)s(of)44 b(of)f(claim:)53 b FB(Recall)37 b(that)h(w)m(e)f(assumed)g(0)g FA(<)f(B)41 b(<)c(\014)2468 366 y Fu(n)2552 399 y FB(and)g(0)g Fv(\024)f FA(A)h(<)f(\014)3193 366 y Fu(n)3240 399 y FA(B)5 b FB(.)61 b(F)-8 b(or)38 b(ev)m(ery)118 511 y(p)s(ossible)28 b(remainder)h FA(R)q FB(,)h(0)c Fv(\024)f FA(R)h(<)f(B)34 b FB(there)d(are)g(exactly) g FA(\014)2230 478 y Fu(n)2307 511 y FB(v)-5 b(alues)30 b(of)g FA(A)h FB(that)g(generate)h(this)d FA(R)q FB(,)h(one)118 624 y(for)j(eac)m(h)i(quotien)m(t)e FA(Q)p FB(,)i(0)30 b Fv(\024)g FA(Q)g(<)g(\014)1396 591 y Fu(n)1443 624 y FB(.)50 b(Hence)34 b(ev)m(ery)g(remainder)e FA(R)i FB(is)f(equally)f(lik)m(ely)-8 b(.)48 b(F)-8 b(urthermore,)118 737 y(to)40 b(ev)m(ery)f(0)h Fv(\024)g FA(r)723 751 y Fu(n)p Ft(\000)p Fy(1)899 737 y FA(<)f(b)1048 751 y Fu(n)p Ft(\000)p Fy(1)1224 737 y FB(corresp)s(ond)f(exactly)i FA(\014)2074 704 y Fu(n)p Ft(\000)p Fy(1)2250 737 y FB(p)s(ossible)c(v) -5 b(alues)38 b(of)i FA(R)f FB(ha)m(ving)g(\014rst)f(digit)118 850 y FA(r)159 864 y Fu(n)p Ft(\000)p Fy(1)296 850 y FB(,)33 b(namely)e(all)g FA(R)d FB(=)g FA(r)1036 864 y Fu(n)p Ft(\000)p Fy(1)1173 850 y FA(\014)1229 817 y Fu(n)p Ft(\000)p Fy(1)1388 850 y FB(+)21 b FA(z)36 b FB(with)31 b(0)d Fv(\024)f FA(z)33 b(<)27 b(\014)2167 817 y Fu(n)p Ft(\000)p Fy(1)2305 850 y FB(.)45 b(Only)30 b(for)i FA(r)2783 864 y Fu(n)p Ft(\000)p Fy(1)2948 850 y FB(=)c FA(b)3086 864 y Fu(n)p Ft(\000)p Fy(1)3255 850 y FB(there)k(are)g(less)118 963 y(remainders)e(that)i(generate)h(the)f (\014rst)e(digit)h FA(b)1747 977 y Fu(n)p Ft(\000)p Fy(1)1884 963 y FB(.)44 b(These)31 b(are)h(of)g(the)f(form)g FA(R)d FB(=)f FA(b)3082 977 y Fu(n)p Ft(\000)p Fy(1)3219 963 y FA(\014)3275 930 y Fu(n)p Ft(\000)p Fy(1)3433 963 y FB(+)21 b FA(z)36 b FB(with)118 1076 y FA(R)21 b FB(+)f FA(z)29 b(<)c(B)5 b FB(,)31 b(whic)m(h)e(is)g(equiv)-5 b(alen)m(t)30 b(to)1209 1344 y FA(R)20 b Fv(\000)g FA(r)1430 1358 y Fu(n)p Ft(\000)p Fy(1)1568 1344 y FA(\014)1624 1306 y Fu(n)p Ft(\000)p Fy(1)1786 1344 y FB(=)25 b FA(z)30 b(<)2050 1230 y Fu(n)p Ft(\000)p Fy(2)2050 1257 y Fr(X)2059 1453 y Fu(i)p Fy(=0)2198 1344 y FA(b)2237 1358 y Fu(i)2265 1344 y FA(\014)2321 1306 y Fu(i)2375 1344 y FA(<)25 b(\014)2527 1306 y Fu(n)p Ft(\000)p Fy(1)2664 1344 y FA(:)118 1622 y FB(Hence)38 b(in)d(this)h(case)i(there)f(are)g(less)g(than)f FA(\014)1736 1589 y Fu(n)p Ft(\000)p Fy(1)1910 1622 y FB(p)s(ossible)f(v)-5 b(alues)36 b(for)h FA(z)k FB(and,)d(consequen)m (tly)-8 b(,)39 b(for)e FA(R)q FB(.)118 1735 y(Moreo)m(v)m(er,)c(since)d (the)g(v)-5 b(alues)30 b FA(r)1234 1749 y Fu(n)p Ft(\000)p Fy(1)1396 1735 y FA(<)25 b(b)1531 1749 y Fu(n)p Ft(\000)p Fy(1)1699 1735 y FB(are)30 b(all)g(equally)f(lik)m(ely)g(w)m(e)i(ha)m (v)m(e)1286 2017 y(1)26 b FA(>)1453 1895 y Fu(b)1483 1904 y Fj(n)p Fe(\000)p Fg(1)1604 1895 y Ft(\000)p Fy(1)1508 1930 y Fr(X)1509 2125 y Fu(x)p Fy(=0)1709 2017 y FA(p)p FB(\()p FA(r)1831 2031 y Fu(n)p Ft(\000)p Fy(1)1994 2017 y FB(=)f FA(x)p FB(\))g(=)g FA(p)20 b Fv(\001)h FA(b)2449 2031 y Fu(n)p Ft(\000)p Fy(1)2586 2017 y FA(:)118 2281 y FB(whic)m(h)29 b(implies)f(the)i(desired)f(b)s(ound)g(on)h FA(p)p FB(.)40 b(This)29 b(pro)m(v)m(es)i(our)f(claim.)p 3714 2281 4 62 v 3718 2223 55 4 v 3718 2281 V 3771 2281 4 62 v 118 2456 a FC(Claim)j(4.)46 b FA(\016)591 2471 y Fu(h)657 2456 y Fv(\000)20 b FA(\016)788 2471 y Fu(l)839 2456 y Fv(2)25 b(f)p FB(0)p FA(;)15 b FB(1)p Fv(g)p Fw(.)259 2631 y FC(Pro)s(of)36 b(of)f(claim:)40 b FB(W)-8 b(e)32 b(set)967 2794 y FA(r)1011 2761 y Fy(+)1153 2794 y FB(:=)83 b(\()p FA(r)1411 2761 y Ft(0)1454 2794 y FB(+)20 b(2\))h Fv(\000)f FA(\016)1777 2809 y Fu(l)1803 2794 y FA(b)1842 2808 y Fu(n)p Ft(\000)p Fy(1)2062 2794 y FB(=)83 b FA(Q)p FB(\()p FA(\016)2363 2809 y Fu(l)2390 2794 y FA(;)15 b(r)2474 2761 y Ft(0)2517 2794 y FB(+)20 b(2)p FA(;)15 b(b)2732 2808 y Fu(n)p Ft(\000)p Fy(1)2870 2794 y FB(\))967 2907 y FA(r)1011 2874 y Ft(\000)1153 2907 y FB(:=)83 b FA(r)1376 2874 y Ft(0)1419 2907 y Fv(\000)19 b FA(\016)1549 2922 y Fu(l)1576 2907 y FB(\()p FA(b)1650 2921 y Fu(n)p Ft(\000)p Fy(1)1808 2907 y FB(+)h(1\))83 b(=)g FA(Q)p FB(\()p FA(\016)2363 2922 y Fu(l)2390 2907 y FA(;)15 b(r)2474 2874 y Ft(0)2497 2907 y FA(;)g(b)2576 2921 y Fu(n)p Ft(\000)p Fy(1)2734 2907 y FB(+)20 b(1\))p FA(:)118 3099 y FB(Clearly)-8 b(,)29 b(w)m(e)i(ha)m(v)m(e)g FA(r)838 3066 y Fy(+)916 3099 y Fv(\000)19 b FA(r)1050 3066 y Ft(\000)1134 3099 y FB(=)25 b(2)20 b(+)f FA(\016)1425 3114 y Fu(l)1477 3099 y Fv(\024)25 b FB(2)19 b(+)h FA(\016)s FB(\()p FA(Q)1878 3066 y Ft(0)1902 3099 y FB(\).)41 b(F)-8 b(urthermore,)30 b(since)f FA(r)2821 3066 y Fy(+)2905 3099 y FB(=)c FA(Q)p FB(\()p FA(\016)3148 3114 y Fu(l)3175 3099 y FA(;)15 b(r)3259 3066 y Ft(0)3302 3099 y FB(+)k(2)p FA(;)c(b)3516 3113 y Fu(n)p Ft(\000)p Fy(1)3654 3099 y FB(\))30 b(it)118 3212 y(follo)m(ws)g(b)m(y)g(lemma)g(5)h(that)1542 3324 y Fv(b)p FA(r)1626 3287 y Fy(+)1685 3324 y FA(=b)1769 3338 y Fu(n)p Ft(\000)p Fy(1)1906 3324 y Fv(c)26 b FB(=)f FA(\016)2108 3339 y Fu(h)2173 3324 y Fv(\000)20 b FA(\016)2304 3339 y Fu(l)2331 3324 y FA(:)1307 b FB(\(9\))118 3484 y(Since)36 b FA(\016)402 3499 y Fu(l)466 3484 y FB(=)g Fv(b)p FA(r)657 3451 y Ft(0)680 3484 y FA(=)p FB(\()p FA(b)799 3498 y Fu(n)p Ft(\000)p Fy(1)962 3484 y FB(+)25 b(1\))p Fv(c)38 b FB(w)m(e)g(ha)m(v)m(e)h FA(r)1618 3451 y Ft(\000)1713 3484 y FB(=)e FA(Q)p FB(\()p FA(\016)1968 3499 y Fu(l)1994 3484 y FA(;)15 b(r)2078 3451 y Ft(0)2102 3484 y FA(;)g(b)2181 3498 y Fu(n)p Ft(\000)p Fy(1)2343 3484 y FB(+)24 b(1\))38 b Fv(2)f FB([0)p FA(;)15 b(:)g(:)g(:)i(;)e(b) 2965 3498 y Fu(n)p Fy(+1)3102 3484 y FB(].)62 b(T)-8 b(ogether)39 b(with)118 3597 y(Equation)30 b(8)h(and)e(the)i (assumption)e FA(b)1440 3611 y Fu(n)p Ft(\000)p Fy(1)1602 3597 y Fv(\025)c FA(\014)5 b(=)p FB(2)26 b Fv(\025)f FB(2)2011 3564 y Fy(31)2087 3597 y FB(,)30 b(this)f(giv)m(es)655 3786 y FA(r)699 3748 y Fy(+)783 3786 y Fv(\024)c FA(r)923 3748 y Ft(\000)1002 3786 y FB(+)20 b(\(2)h(+)f FA(\016)s FB(\()p FA(Q)1435 3748 y Ft(0)1459 3786 y FB(\)\))26 b Fv(\024)f FA(b)1690 3800 y Fu(n)p Ft(\000)p Fy(1)1847 3786 y FB(+)20 b(\(2)h(+)f FA(\016)s FB(\()p FA(Q)2280 3748 y Ft(0)2304 3786 y FB(\)\))26 b Fv(\024)f FA(b)2535 3800 y Fu(n)p Ft(\000)p Fy(1)2693 3786 y FB(+)20 b(66)26 b FA(<)f FB(2)p FA(b)3080 3800 y Fu(n)p Ft(\000)p Fy(1)3217 3786 y FA(:)118 3975 y FB(In)30 b(view)f(of)i(Equation)f(9,)h(this)e (implies)e(that)k FA(\016)1761 3990 y Fu(h)1827 3975 y Fv(\000)20 b FA(\016)1958 3990 y Fu(l)2009 3975 y FA(<)25 b FB(2,)31 b(pro)m(ving)f(our)g(claim.)p 3714 3975 V 3718 3917 55 4 v 3718 3975 V 3771 3975 4 62 v 118 4149 a FC(Claim)j(5.)46 b Fw(If)33 b FA(\016)s FB(\()p FA(Q)797 4116 y Ft(0)821 4149 y FB(\))26 b(=)f FA(\016)1018 4164 y Fu(l)1069 4149 y FA(<)g(\016)1205 4164 y Fu(h)1250 4149 y Fw(,)33 b(then)g FA(r)1557 4116 y Ft(\000)1641 4149 y Fv(\024)25 b FA(r)1778 4163 y Fu(n)p Ft(\000)p Fy(1)1940 4149 y Fv(\024)g FA(r)2080 4116 y Fy(+)2139 4149 y Fw(.)259 4324 y FC(Pro)s(of)36 b(of)f(claim:)40 b FB(The)30 b(t)m(w)m(o)i(estimates)593 4488 y FA(r)637 4455 y Ft(\000)696 4488 y FA(\014)752 4455 y Fu(n)p Ft(\000)p Fy(1)972 4488 y FB(=)83 b(\()p FA(r)1205 4455 y Ft(0)1248 4488 y Fv(\000)20 b FA(\016)1379 4503 y Fu(l)1406 4488 y FB(\()p FA(b)1480 4502 y Fu(n)p Ft(\000)p Fy(1)1637 4488 y FB(+)g(1\)\))p FA(\014)1899 4455 y Fu(n)p Ft(\000)p Fy(1)2302 4488 y FB(b)m(y)30 b(de\014nition)e(of)j FA(r)2980 4455 y Ft(\000)972 4601 y Fv(\024)83 b FA(R)q FB(\()p FA(Q)1303 4568 y Ft(0)1326 4601 y FB(\))21 b Fv(\000)f FA(\016)1513 4616 y Fu(l)1539 4601 y FB(\()p FA(b)1613 4615 y Fu(n)p Ft(\000)p Fy(1)1771 4601 y FB(+)g(1\))p FA(\014)1998 4568 y Fu(n)p Ft(\000)p Fy(1)2302 4601 y FB(b)m(y)30 b(left)g(part)g(of)h(equation)f(6)972 4714 y Fv(\024)83 b FA(R)q FB(\()p FA(Q)1303 4681 y Ft(0)1326 4714 y FB(\))21 b Fv(\000)f FA(\016)1513 4729 y Fu(l)1539 4714 y FA(B)118 4895 y FB(and)647 4982 y FA(r)691 4949 y Fy(+)750 4982 y FA(\014)806 4949 y Fu(n)p Ft(\000)p Fy(1)1026 4982 y FB(=)83 b(\()p FA(r)1259 4949 y Ft(0)1302 4982 y FB(+)20 b(2)h Fv(\000)f FA(\016)1590 4997 y Fu(l)1616 4982 y FA(b)1655 4996 y Fu(n)p Ft(\000)p Fy(1)1792 4982 y FB(\))p FA(\014)1883 4949 y Fu(n)p Ft(\000)p Fy(1)2187 4982 y FB(b)m(y)30 b(de\014nition)e(of)j FA(r)2865 4949 y Fy(+)1026 5095 y Fv(\025)83 b FA(R)q FB(\()p FA(Q)1357 5062 y Ft(0)1380 5095 y FB(\))21 b Fv(\000)e FA(\016)1566 5110 y Fu(l)1593 5095 y FA(b)1632 5109 y Fu(n)p Ft(\000)p Fy(1)1769 5095 y FA(\014)1825 5062 y Fu(n)p Ft(\000)p Fy(1)2187 5095 y FB(b)m(y)30 b(righ)m(t)g(part)g(of)h(equation)f(6)1026 5208 y Fv(\025)83 b FA(R)q FB(\()p FA(Q)1357 5175 y Ft(0)1380 5208 y FB(\))21 b Fv(\000)e FA(\016)1566 5223 y Fu(l)1593 5208 y FA(B)118 5367 y FB(giv)m(e)32 b(us)f(an)h(upp)s(er)e(b)s(ound)f (and)i(a)h(lo)m(w)m(er)g(b)s(ound)e(on)i FA(R)q FB(\()p FA(Q)2176 5334 y Ft(0)2199 5367 y FB(\))21 b Fv(\000)g FA(\016)2387 5382 y Fu(l)2414 5367 y FA(B)5 b FB(.)44 b(W)-8 b(riting)31 b(the)h(estimates)g(together)118 5479 y(in)m(to)e(one,)h(w)m(e)g(get)1276 5592 y FA(r)1320 5555 y Ft(\000)1378 5592 y FA(\014)1434 5555 y Fu(n)p Ft(\000)p Fy(1)1597 5592 y Fv(\024)25 b FA(R)q FB(\()p FA(Q)1870 5555 y Ft(0)1893 5592 y FB(\))c Fv(\000)f FA(\016)2080 5607 y Fu(l)2106 5592 y FA(B)30 b Fv(\024)25 b FA(r)2345 5555 y Fy(+)2403 5592 y FA(\014)2459 5555 y Fu(n)p Ft(\000)p Fy(1)2597 5592 y FA(:)996 b FB(\(10\))1903 5841 y(18)p eop %%Page: 19 23 19 22 bop 118 399 a FB(Because)34 b FA(\016)508 414 y Fu(l)563 399 y FB(=)29 b FA(\016)s FB(\()p FA(Q)813 366 y Ft(0)837 399 y FB(\),)34 b(w)m(e)f(ha)m(v)m(e)h FA(R)c FB(=)e FA(R)q FB(\()p FA(Q)1654 366 y Ft(0)1677 399 y FB(\))22 b Fv(\000)g FA(\016)s FB(\()p FA(Q)1977 366 y Ft(0)2001 399 y FB(\))p FA(B)34 b FB(=)29 b FA(R)q FB(\()p FA(Q)2416 366 y Ft(0)2439 399 y FB(\))22 b Fv(\000)f FA(\016)2628 414 y Fu(l)2655 399 y FA(B)37 b FB(and)32 b(so)g(Equation)g(10)i(reads)118 511 y FA(r)162 478 y Ft(\000)221 511 y FA(\014)277 478 y Fu(n)p Ft(\000)p Fy(1)462 511 y Fv(\024)47 b FA(R)i Fv(\024)f FA(r)861 478 y Fy(+)919 511 y FA(\014)975 478 y Fu(n)p Ft(\000)p Fy(1)1113 511 y FB(.)81 b(Our)43 b(claim)g(follo)m(ws)g(b)m(y)h (dividing)c(this)j(equation)h(b)m(y)g FA(\014)3264 478 y Fu(n)p Ft(\000)p Fy(1)3401 511 y FB(,)j(b)s(ecause)118 624 y Fv(b)p FA(R)q(=\014)329 591 y Fu(n)p Ft(\000)p Fy(1)467 624 y Fv(c)26 b FB(=)f FA(r)670 638 y Fu(n)p Ft(\000)p Fy(1)807 624 y FB(.)p 3714 624 4 62 v 3718 566 55 4 v 3718 624 V 3771 624 4 62 v 118 785 a FC(Claim)33 b(6.)46 b Fw(If)33 b FA(\016)687 800 y Fu(l)738 785 y FA(<)25 b(\016)s FB(\()p FA(Q)984 752 y Ft(0)1009 785 y FB(\))g(=)g FA(\016)1205 800 y Fu(h)1250 785 y Fw(,)33 b FA(r)1355 752 y Ft(\000)1434 785 y Fv(\000)20 b FB(1)25 b Fv(\024)g FA(r)1732 799 y Fu(n)p Ft(\000)p Fy(1)1890 785 y FB(+)19 b FA(b)2019 799 y Fu(n)p Ft(\000)p Fy(1)2182 785 y Fv(\024)25 b FA(r)2322 752 y Fy(+)2380 785 y Fw(.)259 946 y FC(Pro)s(of)36 b(of)f(claim:)40 b FB(Because)32 b FA(\016)1367 961 y Fu(l)1418 946 y FB(=)25 b FA(\016)s FB(\()p FA(Q)1664 913 y Ft(0)1689 946 y FB(\))20 b Fv(\000)g FB(1,)31 b(w)m(e)g(ha)m(v)m(e)966 1118 y FA(R)q FB(\()p FA(Q)1143 1081 y Ft(0)1166 1118 y FB(\))21 b Fv(\000)f FA(\016)1353 1133 y Fu(l)1379 1118 y FA(B)30 b FB(=)25 b FA(R)q FB(\()p FA(Q)1751 1081 y Ft(0)1774 1118 y FB(\))c Fv(\000)e FA(\016)s FB(\()p FA(Q)2070 1081 y Ft(0)2095 1118 y FB(\))p FA(B)25 b FB(+)20 b FA(B)30 b FB(=)25 b FA(R)q FB(\()p FA(Q)p FB(\))20 b(+)g FA(B)5 b(:)118 1291 y FB(Equation)30 b(10)i(reads)f(no)m(w)g FA(r)1106 1258 y Ft(\000)1165 1291 y FA(\014)1221 1258 y Fu(n)p Ft(\000)p Fy(1)1385 1291 y Fv(\024)26 b FA(R)21 b FB(+)g FA(B)30 b Fv(\024)d FA(r)1905 1258 y Fy(+)1963 1291 y FA(\014)2019 1258 y Fu(n)p Ft(\000)p Fy(1)2157 1291 y FA(:)k FB(Again)g(w)m(e)g(divide)e(this)h(equation)h(b)m(y)g FA(\014)3617 1258 y Fu(n)p Ft(\000)p Fy(1)3754 1291 y FB(.)118 1404 y(Because)813 1517 y Fv(b)p FB(\()p FA(R)22 b FB(+)e FA(B)5 b FB(\))p FA(=\014)1280 1479 y Fu(n)p Ft(\000)p Fy(1)1417 1517 y Fv(c)26 b(\025)f(b)p FA(R)q(=\014)1790 1479 y Fu(n)p Ft(\000)p Fy(1)1928 1517 y Fv(c)c FB(+)e Fv(b)p FA(B)5 b(=\014)2294 1479 y Fu(n)p Ft(\000)p Fy(1)2432 1517 y Fv(c)26 b FB(=)f FA(r)2635 1531 y Fu(n)p Ft(\000)p Fy(1)2792 1517 y FB(+)20 b FA(b)2922 1531 y Fu(n)p Ft(\000)p Fy(1)3059 1517 y FA(;)118 1667 y FB(the)31 b(upp)s(er)d(b)s(ound)g(of)j (our)f(claim)f(follo)m(ws.)40 b(Similarly)-8 b(,)27 b(the)k(lo)m(w)m (er)f(b)s(ound)f(follo)m(ws)g(b)s(ecause)576 1840 y Fv(b)p FB(\()p FA(R)21 b FB(+)f FA(B)5 b FB(\))p FA(=\014)1042 1802 y Fu(n)p Ft(\000)p Fy(1)1180 1840 y Fv(c)26 b(\024)f(b)p FA(R)q(=\014)1553 1802 y Fu(n)p Ft(\000)p Fy(1)1691 1840 y Fv(c)20 b FB(+)g Fv(b)p FA(B)5 b(=\014)2057 1802 y Fu(n)p Ft(\000)p Fy(1)2195 1840 y Fv(c)20 b FB(+)g(1)26 b(=)f FA(r)2554 1854 y Fu(n)p Ft(\000)p Fy(1)2711 1840 y FB(+)20 b FA(b)2841 1854 y Fu(n)p Ft(\000)p Fy(1)2999 1840 y FB(+)g(1)p FA(:)p 3256 1840 V 3260 1782 55 4 v 3260 1840 V 3314 1840 4 62 v 118 2012 a FC(Claim)33 b(7.)46 b FA(\016)591 2027 y Fu(l)643 2012 y FA(<)25 b(\016)779 2027 y Fu(h)857 2012 y Fw(is)32 b(only)i(p)-5 b(ossible)34 b(if)e(either)226 2173 y(1.)45 b FA(\016)s FB(\()p FA(Q)495 2140 y Ft(0)520 2173 y FB(\))25 b(=)g FA(\016)716 2188 y Fu(h)794 2173 y Fw(and)34 b FB(0)25 b Fv(\024)g FA(r)1178 2187 y Fu(n)p Ft(\000)p Fy(1)1341 2173 y Fv(\024)g FB(2)20 b(+)g FA(\016)s FB(\()p FA(Q)1743 2140 y Ft(0)1768 2173 y FB(\))226 2350 y Fw(2.)45 b FA(\016)s FB(\()p FA(Q)495 2317 y Ft(0)520 2350 y FB(\))25 b(=)g FA(\016)716 2365 y Fu(l)775 2350 y Fw(and)34 b FA(b)991 2364 y Fu(n)p Ft(\000)p Fy(1)1148 2350 y Fv(\000)20 b FB(\(2)h(+)f FA(\016)s FB(\()p FA(Q)1581 2317 y Ft(0)1605 2350 y FB(\)\))26 b Fv(\024)f FA(r)1838 2364 y Fu(n)p Ft(\000)p Fy(1)2001 2350 y Fv(\024)g FA(b)2136 2364 y Fu(n)p Ft(\000)p Fy(1)2273 2350 y Fw(.)259 2511 y FC(Pro)s(of)34 b(of)e(claim:)39 b FB(First)28 b(note)h(that)g(b)s(ecause)f FA(\016)1962 2526 y Fu(l)2014 2511 y FA(<)d(\016)2150 2526 y Fu(h)2223 2511 y FB(w)m(e)k(ha)m(v)m(e)g FA(r)2606 2478 y Fy(+)2690 2511 y Fv(\025)c FA(b)2825 2525 y Fu(n)p Ft(\000)p Fy(1)2962 2511 y FB(.)40 b(This)27 b(follo)m(ws)g(b)m(y)h(the)118 2624 y(represen)m(tation)j(of)f FA(r)860 2591 y Fy(+)949 2624 y FB(as)h FA(r)1105 2591 y Fy(+)1188 2624 y FB(=)25 b FA(Q)p FB(\()p FA(\016)1431 2639 y Fu(l)1458 2624 y FA(;)15 b(r)1542 2591 y Ft(0)1585 2624 y FB(+)20 b(2)p FA(;)15 b(b)1800 2638 y Fu(n)p Ft(\000)p Fy(1)1938 2624 y FB(\).)41 b(If)30 b FA(\016)s FB(\()p FA(Q)2280 2591 y Ft(0)2305 2624 y FB(\))25 b(=)g FA(\016)2501 2639 y Fu(l)2528 2624 y FB(,)30 b(it)g(follo)m(ws)g(b)m(y)g(Claim)f(5)h(that) 939 2796 y FA(r)980 2810 y Fu(n)p Ft(\000)p Fy(1)1143 2796 y Fv(\025)25 b FA(r)1283 2758 y Ft(\000)1366 2796 y Fv(\025)g FA(r)1506 2758 y Fy(+)1585 2796 y Fv(\000)20 b FB(\(2)h(+)f FA(\016)s FB(\()p FA(Q)2018 2758 y Ft(0)2042 2796 y FB(\)\))26 b Fv(\025)f FA(b)2273 2810 y Fu(n)p Ft(\000)p Fy(1)2431 2796 y Fv(\000)19 b FB(\(2)i(+)f FA(\016)s FB(\()p FA(Q)2863 2758 y Ft(0)2888 2796 y FB(\)\))118 2968 y(as)31 b(desired.)39 b(Next,)31 b(if)f FA(\016)s FB(\()p FA(Q)1055 2935 y Ft(0)1079 2968 y FB(\))c(=)f FA(\016)1276 2983 y Fu(h)1346 2968 y FB(=)g FA(\016)1482 2983 y Fu(l)1529 2968 y FB(+)20 b(1)30 b(it)g(follo)m(ws)g(b)m(y)g (Claim)f(6)h(that)783 3140 y FA(r)824 3154 y Fu(n)p Ft(\000)p Fy(1)981 3140 y FB(+)20 b FA(b)1111 3154 y Fu(n)p Ft(\000)p Fy(1)1274 3140 y Fv(\024)25 b FA(r)1414 3103 y Fy(+)1497 3140 y Fv(\024)g FA(r)1637 3103 y Ft(\000)1716 3140 y FB(+)20 b(\(2)h(+)f FA(\016)s FB(\()p FA(Q)2149 3103 y Ft(0)2173 3140 y FB(\)\))26 b Fv(\024)f FA(b)2404 3154 y Fu(n)p Ft(\000)p Fy(1)2562 3140 y FB(+)19 b(\(2)i(+)f FA(\016)s FB(\()p FA(Q)2994 3103 y Ft(0)3019 3140 y FB(\)\))p FA(:)118 3313 y FB(F)-8 b(rom)31 b(this)e(w)m(e)i(get)h FA(r)861 3327 y Fu(n)p Ft(\000)p Fy(1)1023 3313 y Fv(\024)25 b FB(2)c(+)f FA(\016)s FB(\()p FA(Q)1426 3280 y Ft(0)1450 3313 y FB(\).)p 3714 3313 V 3718 3255 55 4 v 3718 3313 V 3771 3313 4 62 v 118 3474 a FC(Claim)33 b(8.)46 b Fw(Claims)34 b(7)f(and)g(3)g(pr)-5 b(ove)34 b(L)-5 b(emma)34 b(9.)259 3634 y FC(Pro)s(of)h(of)g(claim)e(and)h(lemma:)k FB(Of)30 b(all)e(1)20 b(+)e FA(b)1961 3648 y Fu(n)p Ft(\000)p Fy(1)2128 3634 y FB(p)s(ossible)27 b(v)-5 b(alues)29 b(of)h FA(r)2883 3648 y Fu(n)p Ft(\000)p Fy(1)3020 3634 y FB(,)h(only)d(2)p FA(\016)s FB(\()p FA(Q)3469 3601 y Ft(0)3494 3634 y FB(\))19 b(+)g(6)26 b Fv(\024)118 3747 y FB(2)21 b Fv(\001)g FB(66)g(+)f(6)26 b FA(<)g FB(2)645 3714 y Fy(8)715 3747 y FB(v)-5 b(alues)30 b(cause)i(phase)e(2) h(to)g(fail)f(b)m(y)g(Claim)f(7.)42 b(By)31 b(Claim)e(3,)j(the)f (probabilit)m(y)d(for)i(eac)m(h)118 3860 y(v)-5 b(alue)30 b(is)f(at)i(most)g(1)p FA(=b)907 3874 y Fu(n)p Ft(\000)p Fy(1)1045 3860 y FB(.)41 b(Hence)31 b(w)m(e)g(\014nd)e(that)1129 4033 y Fw(pr)-5 b(ob)8 b FB(\()p FA(\016)1379 4048 y Fu(l)1431 4033 y FA(<)25 b(\016)1567 4048 y Fu(h)1612 4033 y FB(\))g Fv(\024)g FB(2)1813 3995 y Fy(8)1853 4033 y FA(=b)1937 4047 y Fu(n)p Ft(\000)p Fy(1)2100 4033 y Fv(\024)g FB(2)2241 3995 y Fy(8)2281 4033 y FA(=)p FB(2)2371 3995 y Fy(31)2472 4033 y FB(=)g(2)2613 3995 y Ft(\000)p Fy(23)2743 4033 y FA(:)118 4205 y FB(This)k(concludes)g(the)i(pro)s(of) e(of)i(Lemma)g(9.)p 3714 4205 V 3718 4147 55 4 v 3718 4205 V 3771 4205 4 62 v 118 4486 a Fz(4)135 b(Other)45 b(division)h(metho)t(ds)118 4689 y FB(In)31 b(this)g(section)h(w)m(e)g (lo)s(ok)f(at)i(other)f(sub)s(quadratic)d(metho)s(ds)i(for)h(division)d (that)j(migh)m(t)f(b)s(e)h(applicable)118 4802 y(for)25 b(large)h(n)m(um)m(b)s(ers)d(in)h(practice.)40 b(Neglecting)26 b(the)f(F)-8 b(ast)27 b(F)-8 b(ourier)24 b(T)-8 b(ransformation)25 b(b)s(ecause)g(of)h(its)e(h)m(uge)118 4915 y(constan)m(t)35 b(o)m(v)m(erhead)f(w)m(e)g(consider)e(Karatsuba's)h(metho)s(d)f(as)i (the)f(fastest)h(m)m(ultiplication)c(in)i(practice)118 5028 y(for)25 b(n)m(um)m(b)s(ers)f(with)g(reasonable)h(length.)39 b(With)24 b(this)h(assumption)e(w)m(e)j(dev)m(elop)f(another)h(fast)f (algorithm)118 5141 y(for)d(division)d(b)m(y)j(com)m(bining)e(three)i (w)m(ell)f(kno)m(wn)h(metho)s(ds)f(\(Barrett's)i(metho)s(d)f(and)f(in)m (v)m(erses)h(computed)118 5254 y(b)m(y)36 b(Newtonian)h(iteration)f (com)m(bined)f(with)g(Karatsuba)i(m)m(ultiplication\))c(and)j(argue)h (that)g(recursiv)m(e)118 5367 y(division)d(is)h(still)f(sup)s(erior)g (ev)m(en)j(if)f(w)m(e)h(assume)f(that)h(an)f(actual)h(implemen)m (tation)e(of)i(the)f(com)m(bined)118 5479 y(metho)s(ds)24 b(uses)f(all)h(kno)m(wn)f(tric)m(ks)i(and)e(shortcuts.)39 b(So)24 b(to)h(sp)s(eak,)g(w)m(e)g(tak)m(e)h(the)e(b)s(est)g(ingredien) m(ts)f(kno)m(wn)118 5592 y(so)31 b(far)f(to)h(mak)m(e)g(a)g(mix)e(of)i (algorithms)e(for)h(division.)1903 5841 y(19)p eop %%Page: 20 24 20 23 bop 118 399 a Fs(4.1)112 b(Barrett's)37 b(metho)s(d)118 570 y FB(Barrett's)d(metho)s(d)f(is)f(kno)m(wn)h(in)f(applied)e (cryptograph)m(y)k(as)f(an)g(algorithm)f(for)h(mo)s(dular)e(reduction.) 118 683 y(Here)25 b(the)f(goal)h(is)e(to)i(reduce)f(a)h(n)m(um)m(b)s (er)e FA(A)h FB(mo)s(dulo)f(another)h(n)m(um)m(b)s(er)f FA(M)10 b FB(,)26 b(whic)m(h)d(means)h(that)h(only)e(the)118 796 y(remainder)32 b(of)i(the)g(quotien)m(t)g Fv(b)p FA(A=)-5 b(M)10 b Fv(c)35 b FB(is)d(imp)s(ortan)m(t)h(but)g(not)h(the)g (quotien)m(t)g(itself.)49 b(As)33 b(it)h(turns)e(out,)118 909 y(mo)s(dular)38 b(reduction)h(is)g(no)h(easier)g(than)g(division)d (with)i(remainder.)68 b(Ho)m(w)m(ev)m(er,)45 b(Barrett's)c(metho)s(d) 118 1022 y(pro\014ts)h(m)m(uc)m(h)h(from)f(the)h(fact)h(that)f(in)e (some)j(applications)c(man)m(y)j(mo)s(dular)e(reductions)h(are)h(done) 118 1135 y(mo)s(dulo)26 b(the)h(same)h(n)m(um)m(b)s(er,)e(in)g(whic)m (h)g(case)j(it)d(is)h(advisable)e(to)j(precompute)f(the)h(\(shifted\))e (in)m(v)m(erse)h(of)118 1248 y FA(M)35 b FB(up)25 b(to)h(a)g(certain)f (precision.)37 b(Let)26 b(us)f(sk)m(etc)m(h)h(Barrett's)h(algorithm)d (as)i(found)e(in)g([3)q(])h(in)f(our)h(notation.)118 1394 y FC(Algorithm)35 b(7.)45 b Fw(\(Barr)-5 b(ett)43 b(division\))e(L)-5 b(et)41 b FA(A)g Fw(and)g FA(M)51 b Fw(b)-5 b(e)40 b(nonne)-5 b(gative)42 b(inte)-5 b(gers)41 b(such)g(that)h FA(\014)3532 1361 y Fu(n)p Ft(\000)p Fy(1)3709 1394 y Fv(\024)118 1507 y FA(M)35 b(<)25 b(\014)393 1474 y Fu(n)473 1507 y Fw(and)34 b FA(A)25 b(<)g(\014)895 1474 y Fy(2)p Fu(n)978 1507 y Fw(.)41 b(The)33 b(algorithm)i(r)-5 b(eturns)33 b(the)g(quotient)g FA(Q)25 b FB(=)g Fv(b)p FA(A=)-5 b(M)10 b Fv(c)34 b Fw(with)g(r)-5 b(emainder)34 b FA(R)q Fw(.)226 1654 y(1.)45 b(Pr)-5 b(e)g(c)g(ompute)35 b(the)e(shifte)-5 b(d)33 b(inverse)g(of)g FA(M)42 b Fw(as)34 b FA(\026)25 b FB(=)g Fv(b)p FA(\014)2211 1621 y Fy(2)p Fu(n)2293 1654 y FA(=)-5 b(M)10 b Fv(c)27 b FA(<)e(\014)2650 1621 y Fu(n)p Fy(+1)2787 1654 y Fw(.)226 1825 y(2.)45 b(Set)33 b FA(A)569 1839 y Fy(1)634 1825 y FB(=)25 b Fv(b)p FA(A)c Fv(\001)f FA(\014)960 1792 y Ft(\000)p Fy(\()p Fu(n)p Ft(\000)p Fy(1\))1207 1825 y Fv(c)p Fw(.)226 1996 y(3.)45 b(Set)519 1973 y Fr(b)501 1996 y FA(Q)25 b FB(=)g Fv(b)p FA(A)802 2010 y Fy(1)862 1996 y Fv(\001)c FA(\026)f Fv(\001)g FA(\014)1084 1963 y Ft(\000)p Fy(\()p Fu(n)p Fy(+1\))1331 1996 y Fv(c)p Fw(.)226 2168 y(4.)45 b(Set)33 b FA(R)q FB(\()624 2145 y Fr(b)606 2168 y FA(Q)p FB(\))26 b(=)f FA(A)20 b Fv(\000)g FA(M)30 b Fv(\001)1196 2145 y Fr(b)1178 2168 y FA(Q)o Fw(.)226 2339 y(5.)45 b(Compute)34 b FA(\016)s FB(\()828 2316 y Fr(b)809 2339 y FA(Q)q FB(\))26 b(=)f Fv(b)p FA(R)q FB(\()1202 2316 y Fr(b)1184 2339 y FA(Q)p FB(\))p FA(=)-5 b(M)10 b Fv(c)34 b Fw(by)e(scho)-5 b(ol)35 b(division)e(and)g(the)g(over)-5 b(al)5 b(l)34 b(r)-5 b(emainder)34 b FA(R)26 b FB(=)f FA(R)q FB(\()3600 2316 y Fr(b)3581 2339 y FA(Q)p FB(\))c Fv(\000)345 2452 y FA(M)10 b(\016)s FB(\()541 2429 y Fr(b)521 2452 y FA(Q)r FB(\))p Fw(.)226 2623 y(6.)45 b(R)-5 b(eturn)34 b FA(R)f Fw(and)h FA(Q)25 b FB(=)1140 2600 y Fr(b)1122 2623 y FA(Q)20 b FB(+)g FA(\016)s FB(\()1402 2600 y Fr(b)1383 2623 y FA(Q)q FB(\))p Fw(.)259 2770 y FB(This)k(form)m(ulation)h(of)g(Barrett's)i(algorithm)e(requires)f(a) i(few)g(explanations.)38 b(First,)26 b(the)g(precompu-)118 2883 y(tation)h(of)f FA(\026)g FB(is)f(not)i(strictly)e(a)i(part)f(of)g (the)g(algorithm;)h(w)m(e)g(will)d(discuss)g(this)h(step)h(in)f(the)i (next)f(section.)118 2995 y(Next,)45 b(if)c(w)m(e)h(omitted)f(the)h(do) m(wn)m(w)m(ards-rounding)d(in)h(steps)i(1{3)h(and)d(computed)i(ev)m (ery)g(op)s(eration)118 3108 y(exactly)-8 b(,)35 b(the)e(resulting)e (quotien)m(t)i(w)m(ould)e(b)s(e)h(exact.)49 b(W)-8 b(e)34 b(omit)f(the)g(error)f(analysis)f(here;)j(details)e(can)118 3221 y(b)s(e)g(found)f(in)g([1)q(].)47 b(It)32 b(su\016ces)h(to)g(kno)m (w)f(that)h(only)f(the)g(least)h(signi\014can)m(t)e(digit)h(of)3087 3198 y Fr(b)3069 3221 y FA(Q)g FB(is)g(not)g(exact,)j(so)118 3334 y(w)m(e)c(\014nd)e(that)i FA(\016)s FB(\()728 3311 y Fr(b)709 3334 y FA(Q)q FB(\))f(is)g(computable)g(in)f(linear)g(time)h (b)m(y)g(sc)m(ho)s(ol)g(division,)e(see)j(Lemma)f(5.)259 3447 y(The)35 b(running)d(time)j(of)g(Barrett's)i(algorithm)d(dep)s (ends)f(on)i(the)g(c)m(hosen)h(m)m(ultiplication)c(metho)s(d.)118 3560 y(There)j(are)g(only)f(t)m(w)m(o)j(m)m(ultiplications)32 b(that)j(are)h(not)f(mere)h(digit{shifts,)e(namely)g(the)i(computation) 118 3673 y(of)45 b FA(A)304 3687 y Fy(1)373 3673 y Fv(\001)30 b FA(\026)44 b FB(in)f(step)h(3)h(and)f(the)g(computation)g(of)h FA(M)39 b Fv(\001)2167 3650 y Fr(b)2148 3673 y FA(Q)44 b FB(in)f(step)i(4.)83 b(All)43 b(op)s(erations)h(b)s(eside)e(the)118 3786 y(precomputation)33 b(of)h FA(\026)f FB(can)h(b)s(e)f(done)g(in)f (linear)g(time.)50 b(W)-8 b(e)35 b(conclude)d(that)i(Barrett's)h (algorithm)e(has)118 3899 y(running)26 b(time)i(2)p FA(M)10 b FB(\()p FA(n)p FB(\).)41 b(Used)28 b(with)f(Karatsuba)i(m)m (ultiplication,)d(Barrett's)k(algorithm)d(has)h(the)h(same)118 4012 y(running)c(time)j(as)g FA(D)843 4030 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)1039 4012 y FB(.)40 b(In)27 b(other)h(w)m(ords,)g (Barrett's)h(algorithm)e(is)g(asymptotically)h(no)f(faster)i(than)118 4125 y(our)36 b(recursiv)m(e)f(division)e Fw(even)k(if)g(the)h(pr)-5 b(e)g(c)g(omputation)42 b(of)c(the)g(divisor's)h(inverse)e(is)h(ne)-5 b(gle)g(cte)g(d)p FB(.)58 b(This)118 4237 y(statemen)m(t)33 b(is)e(true)g(ev)m(en)h(if)e(sp)s(ecial)g(v)m(ersions)g(of)i(Karatsuba) f(m)m(ultiplication)d(are)k(used)e(that)i(are)g(\014ne-)118 4350 y(tuned)37 b(for)h(the)h(particular)d(situation)h(inside)f (Barrett's)j(algorithm.)63 b(The)38 b(k)m(ey)h(for)e(the)i(sp)s(eed-up) d(of)118 4463 y(the)30 b(m)m(ultiplication)d(in)h(step)i(3)g(is)e(that) j(here)e(w)m(e)h(only)f(need)h(the)g FA(n)18 b FB(+)g(1)30 b(most)h(signi\014can)m(t)d(digits)g(of)i(the)118 4576 y(result.)60 b(Similarly)-8 b(,)36 b(in)g(step)h(4)h(w)m(e)f(only)f (need)h(\(roughly\))g(the)g FA(n)25 b FB(+)f(1)38 b(least)f (signi\014can)m(t)f(digits)g(of)h(the)118 4689 y(result)f FA(M)f Fv(\001)570 4666 y Fr(b)551 4689 y FA(Q)p FB(,)40 b(b)s(ecause)d(the)g(higher)f FA(n)25 b FB(+)f(1)38 b(digits)e(are)i (kno)m(wn)f(to)h(b)s(e)e(equal)h(to)h(those)g(of)g FA(A)f FB(b)m(y)g(the)118 4802 y(error)d(analysis.)50 b(Unfortunately)-8 b(,)35 b(the)f(adv)-5 b(an)m(tage)36 b(w)m(e)f(get)g(from)f(using)e (these)j(sp)s(ecial)d(m)m(ultiplication)118 4915 y(routines)d(o)m(v)m (er)j(normal)d(Karatsuba)i(tends)f(to)h(zero)g(as)f FA(n)g FB(increases;)h(for)f(details)f(see)i([6)q(].)259 5028 y(It)38 b(should)d(b)s(e)i(remark)m(ed)h(that)g(in)e(cryptograph)m(y)i (Barrett's)h(algorithm)d(is)h(curren)m(tly)f(used)h(with)118 5141 y(sp)s(ecial)d(v)m(ersions)g(of)h(sc)m(ho)s(ol)g(m)m (ultiplication.)52 b(Then)34 b(the)i(n)m(um)m(b)s(er)d(of)j(digit)d(m)m (ultiplications)f(for)j Fw(b)-5 b(oth)118 5254 y FB(pro)s(ducts)36 b(in)h(Barrett's)i(algorithm)d(together)k(is)c FA(n)1948 5221 y Fy(2)2012 5254 y FB(+)25 b FA(O)s FB(\()p FA(n)p FB(\),)40 b(the)e(same)g(n)m(um)m(b)s(er)e(of)i(steps)g(that)g(are)118 5367 y(needed)27 b(for)g Fw(one)34 b FB(ordinary)26 b(sc)m(ho)s(ol)h(m) m(ultiplication)d(of)j FA(n)p FB(-digit)f(n)m(um)m(b)s(ers.)38 b(This)26 b(classical)g(implemen)m(ta-)118 5479 y(tion)e(of)g (Barrett's)h(algorithm)e(is)g(ab)s(out)h(as)g(fast)h(as)f(sc)m(ho)s(ol) g(division,)f(but)g(it)h(a)m(v)m(oids)g(division)d(op)s(erations)118 5592 y(altogether)32 b([8].)1903 5841 y(20)p eop %%Page: 21 25 21 24 bop 118 399 a Fs(4.2)112 b(In)m(v)m(erses)38 b(b)m(y)g(Newtonian) f(iteration)118 570 y FB(Giv)m(en)30 b(a)h(real)f(n)m(um)m(b)s(er)f FA(v)g Fv(2)c FB(\(1)p FA(=)p FB(2)p FA(;)15 b FB(1])33 b(and)d(an)g(appropriate)f(start)i(v)-5 b(alue)30 b(for)g FA(x)p FB(,)h(the)f(iteration)1613 774 y FA(x)25 b Fv( )g FB(2)c Fv(\001)f FA(x)g Fv(\000)g FA(v)k Fv(\001)c FA(x)2245 737 y Fy(2)118 979 y FB(con)m(v)m(erges)38 b(to)g(the)e(in)m(v)m(erse)g (1)p FA(=v)s FB(.)60 b(Kn)m(uth)36 b([5)q(])g(describ)s(es)f(an)h (implemen)m(tation)f(of)i(this)e(iteration)h(that)118 1092 y(can)43 b(b)s(e)f(easily)f(adapted)h(to)i(compute)e(the)h(in)m (tegral)f(shifted)f(in)m(v)m(erse)h Fv(b)p FA(\014)2788 1059 y Fu(k)2831 1092 y FA(=v)s Fv(c)i FB(for)e(an)m(y)h(v)-5 b(alue)42 b(of)g FA(k)s FB(.)118 1204 y(Note)31 b(ho)m(w)m(ev)m(er)f (that)g(the)f(in)m(v)m(erse)g(here)g(is)g(not)g(computed)g(with)f (exact)i(rounding)d(to)j(the)g(next)f(smaller)118 1317 y(in)m(teger;)38 b(the)d(algorithm)f(only)g(guaran)m(tees)j(a)e (precision)e(of)j FA(k)i FB(digits)33 b(for)i(its)f(result.)54 b(Kn)m(uth's)34 b(imple-)118 1430 y(men)m(tation)28 b(is)e(made)h (e\016cien)m(t)h(b)m(y)f(starting)g(with)f(a)h(small)f(precision)f(of)j FA(x)f FB(and)f(doubling)f(the)i(precision)118 1543 y(after)37 b(eac)m(h)g(iteration.)56 b(It)36 b(can)h(b)s(e)e(sho)m(wn)g(that)i (the)f(time)f(to)i(\014nd)d FA(n)i FB(digits)e(of)i(1)p FA(=v)k FB(b)m(y)c(this)f(metho)s(d)118 1656 y(using)f(Karatsuba)i(m)m (ultiplication)d(is)i(2)p FA(K)7 b FB(\()p FA(n)p FB(\).)57 b(This)34 b(is)h(still)e(not)j(the)g(b)s(est)g(one)g(can)g(do;)j(half) 34 b(of)i(the)118 1769 y(m)m(ultiplications)27 b(actually)j(compute)g (squares,)g(whic)m(h)f(is)g(considerably)g(simpler)e(than)j(p)s (erforming)e(or-)118 1882 y(dinary)37 b(m)m(ultiplications.)62 b(Seeking)38 b(for)g(the)h(b)s(est)f(p)s(erformance)g(one)g(can)h (implemen)m(t)e(the)i(squaring)118 1995 y(b)m(y)32 b(a)g(straigh)m (tforw)m(ard)f(v)-5 b(arian)m(t)32 b(of)g(Karatsuba)g(m)m (ultiplication,)d(whose)j(running)d(time)i(w)m(e)h(denote)h(b)m(y)118 2108 y FA(K)195 2122 y Fu(sq)266 2108 y FB(\()p FA(n)p FB(\).)57 b(One)35 b(should)f(exp)s(ect)i(1)p FA(=)p FB(2)p FA(K)7 b FB(\()p FA(n)p FB(\))35 b FA(<)f(K)1818 2122 y Fu(sq)1889 2108 y FB(\()p FA(n)p FB(\))g FA(<)g(K)7 b FB(\()p FA(n)p FB(\))35 b(in)g(practice.)57 b(There)35 b(are)h(more)g(tric)m(ks)118 2221 y(one)k(could)e(use)h(to)h(sp)s(eed)f (up)f(the)h(computation,)j(to)s(o)e(di\016cult)e(for)h(us)f(to)i (describ)s(e)e(in)g(this)g(pap)s(er.)118 2334 y(Ho)m(w)m(ev)m(er,)d (the)e(running)d(time)i(of)h(the)f Fw(last)k(step)d FB(of)f(the)h(ab)s (o)m(v)m(e)h(iteration)e(is)f(certainly)h(a)h(lo)m(w)m(er)g(b)s(ound) 118 2446 y(for)k(the)g(running)d(time)j(of)g(an)m(y)g(implemen)m (tation)f(that)i(uses)e(this)g(iteration.)60 b(The)37 b(cost)h(for)e(the)i(last)118 2559 y(iteration)26 b(step)h(is)e FA(K)7 b FB(\()p FA(n)p FB(\))13 b(+)g FA(K)1142 2573 y Fu(sq)1212 2559 y FB(\()p FA(n=)p FB(2\),)29 b(since)d(the)g(old)g (iteration)g(v)-5 b(alue)26 b FA(x)h FB(that)g(w)m(e)g(square)f(has)g (only)g FA(n=)p FB(2)118 2672 y(digits.)55 b(T)-8 b(ogether)37 b(with)d(our)i(analysis)e(of)i(Barrett's)g(algorithm)f(from)g(the)h (last)g(section)f(w)m(e)i(consider)118 2785 y(3)p FA(K)7 b FB(\()p FA(n)p FB(\))23 b(+)f FA(K)565 2799 y Fu(sq)636 2785 y FB(\()p FA(n=)p FB(2\))35 b(as)e(a)h(lo)m(w)m(er)g(b)s(ound)e (for)h(the)h(running)d(time)i(of)h(Barrett)g(division,)e(including)e (the)118 2898 y(time)23 b(for)g(computing)f(the)i(in)m(v)m(erse)f(b)m (y)g(Newtonian)g(iteration.)38 b(This)22 b(sho)m(ws)g(that)i(the)g (recursiv)m(e)e(division)118 3011 y(algorithm)33 b FA(D)611 3029 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)841 3011 y FB(is)g(clearly)g(sup)s (erior.)49 b(Only)32 b(for)i(applications)e(where)h(the)h(cost)h(for)f (the)g(in)m(v)m(ersion)118 3124 y(is)c(negligible,)e(b)s(oth)h(metho)s (ds)h(of)h(division)c(are)k(ab)s(out)f(equally)f(fast.)118 3367 y Fs(4.3)112 b(The)38 b(fastest)g(kno)m(wn)g(metho)s(d)118 3539 y FB(If)29 b(w)m(e)g(use)g(the)g(fastest)h(kno)m(wn)f(m)m (ultiplication)d(metho)s(d)i(b)m(y)h(Sc)m(h\177)-45 b(onhage)30 b(and)e(Strassen,)h(whic)m(h)f(has)h(an)118 3652 y(asymptotic)35 b(running)d(time)j(of)g FA(O)s FB(\()p FA(n)15 b FB(log)h FA(n)f FB(log)h(log)h FA(n)p FB(\),)36 b(the)f(sum)f(for)g(the)h (running)d(time)j(of)g(Algorithm)118 3765 y FA(D)193 3783 y Fy(2)p Fu(n=)p Fy(1)p Fu(n)420 3765 y FB(ev)-5 b(aluates)32 b(to)g FA(O)s FB(\()p FA(n)15 b FB(log)1219 3728 y Fy(2)1274 3765 y FA(n)g FB(log)h(log)h FA(n)p FB(\).)43 b(This)30 b(is)g Fw(not)41 b FB(the)31 b(fastest)h(kno)m(wn)f (division)d(time)j(\(whic)m(h)118 3878 y(is)g(ac)m(hiev)m(ed)i(b)m(y)f (com)m(bining)e(Sc)m(h\177)-45 b(onhage's)33 b(metho)s(d)f(with)e (Newtonian)i(iteration,)g(yielding)e(a)i(running)118 3991 y(time)d(asymptotically)f(equal)h(to)h(the)g(m)m(ultiplication)c (time,)j(see)h([5)q(]\).)41 b(Unfortunately)28 b(this)g(result)g(only) 118 4103 y(pa)m(ys)j(for)f(h)m(uge)g(n)m(um)m(b)s(ers)f(b)s(ecause)i (the)f(constan)m(ts)i(in)m(v)m(olv)m(ed)e(in)f(this)g(metho)s(ds)h(are) h(v)m(ery)f(large.)118 4390 y Fz(5)135 b(Concrete)46 b(running)e(times)118 4593 y FB(Our)27 b(testing)h(en)m(vironmen)m(t)g (w)m(as)g(a)h(SP)-8 b(AR)m(C)28 b(Ultra-1.)40 b(On)27 b(this)g(mac)m(hine)h(w)m(e)g(ha)m(v)m(e)i FA(\014)g FB(=)25 b(2)3286 4560 y Fy(32)3361 4593 y FB(,)k(so)f(a)h(digit)118 4706 y(length)24 b(of)g FA(y)k FB(corresp)s(onds)23 b(to)i(a)g(decimal) e(n)m(um)m(b)s(er)g(with)g FA(y)12 b Fv(\001)c FB(32)p FA(=)p FB(log)2424 4728 y Fy(2)2479 4706 y FB(10)26 b Fv(\031)f FB(9)p FA(:)p FB(63)8 b Fv(\001)g FA(y)30 b FB(digits.)37 b(W)-8 b(e)26 b(ha)m(v)m(e)f(used)118 4819 y(and)33 b(mo)s(di\014ed)e(LED)m(As)i Fx(integer)e FB(class)i(for)g (our)g(exp)s(erimen)m(ts.)48 b(During)32 b(the)h(implemen)m(tation)f (phase)118 4932 y(w)m(e)i(substan)m(tially)e(sp)s(eeded)g(up)h(this)f (in)m(teger)i(library)-8 b(.)48 b(A)m(t)35 b(the)e(time)h(of)f(this)g (writing)e(w)m(e)j(kno)m(w)g(of)g(no)118 5045 y(other)23 b(in)m(teger)g(pac)m(k)-5 b(age)25 b(faster)e(than)g(ours)f(on)h(a)g (SP)-8 b(AR)m(C)23 b(arc)m(hitecture.)38 b(The)23 b(co)s(de)g (including)c(complete)118 5157 y(do)s(cumen)m(tation)37 b(is)f(found)g(in)g([9].)62 b(Basically)36 b(w)m(e)h(ha)m(v)m(e)i(t)m (w)m(o)f(v)m(ersions)f(of)g(our)f(library)-8 b(.)59 b(One)37 b(v)m(ersion)118 5270 y(uses)31 b(only)g(p)s(ortable)g(C/C++)f(co)s(de) i(whereas)g(the)g(other)f(v)m(ersion)h(has)f(a)h(few)f(additional)f (hand-tuned)118 5383 y(assem)m(bler)g(routines)f(for)h(the)h(innermost) e(arithmetic)h(lo)s(ops)f(.)1903 5841 y(21)p eop %%Page: 22 26 22 25 bop 118 399 a Fs(5.1)112 b(P)m(ortable)37 b(C/C++)g(co)s(de)118 570 y FB(Figures)c(5,)h(6,)g(7,)h(8,)f(and)f(9)g(sho)m(w)g(exp)s (erimen)m(tal)f(running)e(times)j(measured)f(with)g(p)s(ortable)g (C/C++)118 683 y(co)s(de.)58 b(The)36 b(tests)h(consisted)f(of)g (dividing)d(a)j(2)p FA(n)p FB(-digit)f(n)m(um)m(b)s(er)g(b)m(y)h(an)g FA(n)p FB(-digit)f(n)m(um)m(b)s(er)g(1000)j(times.)118 796 y(F)-8 b(rom)33 b(Figure)f(5)h(w)m(e)g(see)g(that)g(the)g(break-ev) m(en)g(p)s(oin)m(t)f(is)f(ab)s(out)i(26)g(digits,)f(i.e.,)h Fx(FastDivision)c FB(pa)m(ys)118 909 y(for)j(n)m(um)m(b)s(ers)f(with)g (more)h(than)h(250)g(decimal)e(digits)g(or)i(832)g(bits.)46 b(Figure)31 b(6)i(sho)m(ws)f(the)h(sp)s(eedup)d(w)m(e)118 1022 y(gain)g(as)g(the)g(n)m(um)m(b)s(ers)f(get)i(larger)e(and)h (larger.)40 b(Figure)29 b(7)i(sho)m(ws)e(the)i(running)c(times)i(for)h (m)m(ultiplying)118 1135 y(t)m(w)m(o)k FA(n)p FB(-digit)d(n)m(um)m(b)s (ers)f(with)h(Karatsuba's)h(metho)s(d)g(compared)g(to)h Fx(FastDivision)p FB(.)43 b(Figure)32 b(9)h(sho)m(ws)118 1248 y(the)k(quotien)m(t)h(of)f(the)g(running)e(times)i(of)g(Figure)f (7.)62 b(It)37 b(con\014rms)f(the)i(theoretical)f(running)d(time)j(of) 118 1360 y(2)p FA(K)7 b FB(\()p FA(n)p FB(\))f(+)g FA(O)s FB(\()p FA(n)15 b FB(log)h FA(n)p FB(\))23 b(for)g Fx(FastDivision)p FB(.)35 b(Figure)23 b(8)h(sho)m(ws)f(ho)m(w)g(the)g(running)e(time)h (of)i Fx(FastDivision)118 1473 y FB(v)-5 b(aries)30 b(with)f (di\013eren)m(t)h(lengths)f(of)i(the)g(t)m(w)m(o)g(input)e(n)m(um)m(b)s (ers.)768 3244 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 2834 @rwi @setspecial %%BeginDocument: SmallRange.eps /gnudict 120 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /UL { gnulinewidth mul /userlinewidth exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def end gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 560 420 M 63 0 V 6409 0 R -63 0 V 476 420 M (0) Rshow 560 915 M 63 0 V 6409 0 R -63 0 V 476 915 M (0.5) Rshow 560 1409 M 63 0 V 6409 0 R -63 0 V -6493 0 R (1) Rshow 560 1904 M 63 0 V 6409 0 R -63 0 V -6493 0 R (1.5) Rshow 560 2399 M 63 0 V 6409 0 R -63 0 V -6493 0 R (2) Rshow 560 2893 M 63 0 V 6409 0 R -63 0 V -6493 0 R (2.5) Rshow 560 3388 M 63 0 V 6409 0 R -63 0 V -6493 0 R (3) Rshow 560 3883 M 63 0 V 6409 0 R -63 0 V -6493 0 R (3.5) Rshow 560 4377 M 63 0 V 6409 0 R -63 0 V -6493 0 R (4) Rshow 560 4872 M 63 0 V 6409 0 R -63 0 V -6493 0 R (4.5) Rshow 560 420 M 0 63 V 0 4389 R 0 -63 V 560 280 M (0) Cshow 1485 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (10) Cshow 2409 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (20) Cshow 3334 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (30) Cshow 4258 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (40) Cshow 5183 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (50) Cshow 6107 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (60) Cshow 7032 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (70) Cshow 1.000 UL LTb 560 420 M 6472 0 V 0 4452 V -6472 0 V 560 420 L 0 2646 M currentpoint gsave translate 90 rotate 0 0 M (sec) Cshow grestore 3796 140 M (Digits) Cshow 1.000 UP 1.000 UL LT0 1400 4739 M (FastDiv) Rshow 1300 509 Pls 1485 549 Pls 1669 588 Pls 1854 638 Pls 2039 687 Pls 2224 766 Pls 2409 836 Pls 2594 915 Pls 2779 1004 Pls 2964 1063 Pls 3149 1192 Pls 3334 1261 Pls 3519 1409 Pls 3704 1449 Pls 3888 1518 Pls 4073 1597 Pls 4258 1686 Pls 4443 1924 Pls 4628 2003 Pls 4813 2082 Pls 4998 2112 Pls 5183 2507 Pls 5368 2547 Pls 5553 2616 Pls 5738 2715 Pls 5923 2992 Pls 6107 3052 Pls 6292 3131 Pls 6477 3240 Pls 6662 3586 Pls 6847 3744 Pls 7032 3843 Pls 1683 4739 Pls 1.000 UP 1.000 UL LT1 1400 4599 M (SchoolDiv) Rshow 1300 509 Crs 1485 539 Crs 1669 598 Crs 1854 638 Crs 2039 697 Crs 2224 746 Crs 2409 826 Crs 2594 895 Crs 2779 984 Crs 2964 1073 Crs 3149 1182 Crs 3334 1271 Crs 3519 1380 Crs 3704 1498 Crs 3888 1627 Crs 4073 1746 Crs 4258 1894 Crs 4443 2003 Crs 4628 2132 Crs 4813 2320 Crs 4998 2498 Crs 5183 2666 Crs 5368 2844 Crs 5553 3052 Crs 5738 3200 Crs 5923 3388 Crs 6107 3635 Crs 6292 3774 Crs 6477 4041 Crs 6662 4229 Crs 6847 4437 Crs 7032 4694 Crs 1683 4599 Crs stroke grestore end showpage %%EndDocument @endspecial 653 3527 a Fp(Figure)i(5:)36 b FD(Comparing)27 b(F)-7 b(astDivision)27 b(to)g(Sc)n(ho)r(ol)g(Division)h(in)g(a)f (small)g(range)118 3868 y Fs(5.2)112 b(Hand-co)s(ded)39 b(assem)m(bler)e(routines)118 4040 y FB(Using)e(handwritten)e(assem)m (bler)i(co)s(de)h(for)f(the)g(innermost)f(lo)s(ops)h(lo)m(w)m(ers)g (the)h(running)c(times)j(signif-)118 4153 y(ican)m(tly)-8 b(,)46 b(but)c(also)h(mo)m(v)m(es)h(up)e(the)h(break-ev)m(en)h(p)s(oin) m(t)d(of)i Fx(FastDivision)d FB(with)h(resp)s(ect)i(to)h(sc)m(ho)s(ol) 118 4266 y(division)34 b(to)j(ab)s(out)f(64)i(digits.)58 b(In)36 b(this)f(con)m(text)k(it)d(is)f(more)i(useful)e(to)i(compare)g Fx(FastDivision)d FB(to)118 4378 y(other)26 b(in)m(teger)g(pac)m(k)-5 b(ages.)41 b(These)26 b(other)g(pac)m(k)-5 b(ages)28 b(w)m(ere)e(CLN)f([12)q(]\),)j(libI)23 b([11)q(],)28 b(and)d(LIP)g([13)q(])h(a)m(v)-5 b(ailable)118 4491 y(to)39 b(us)f(in)e(the)j(LiDIA)e(library)f([15)q(].)65 b(Figure)37 b(10)i(sho)m(ws)f(that)h(for)f(n)m(um)m(b)s(ers)f(less)g(than)h(100)i (mac)m(hine)118 4604 y(digits)30 b(there)i(is)f(no)h(signi\014can)m(t)e (di\013erence)i(in)e(the)i(running)d(times)i(compared)h(to)g(CLN)g (\(whic)m(h)f(is)f(the)118 4717 y(fastest)k(public)c(domain)h(library)f (for)j(in)m(teger)g(arithmetic)e(b)s(eside)g(ours)h(at)i(the)e(time)h (of)f(this)g(writing\).)118 4830 y(These)27 b(\014gures)g(sho)m(w)h (the)g(a)m(v)m(erage)i(running)25 b(time)i(p)s(er)g(division.)36 b(Ho)m(w)m(ev)m(er,)31 b(Figure)c(11)h(sho)m(ws)g(that)g(w)m(e)118 4943 y(are)i(m)m(uc)m(h)g(faster)g(as)g(the)f(digits)g(b)s(ecome)h (larger.)40 b(W)-8 b(e)31 b(exp)s(ect)f(that)g(w)m(e)g(can)g(lo)m(w)m (er)g(our)f(running)e(times)118 5056 y(ev)m(en)k(more)g(if)e(w)m(e)i (ha)m(v)m(e)g(more)g(time)f(to)h(\014ne-tune)f(our)g(assem)m(bler)g(co) s(de.)118 5299 y Fs(5.3)112 b(F)-9 b(ast)38 b(mo)s(dular)f(m)m (ultiplication)118 5471 y FB(The)29 b(e\013ectiv)m(eness)i(of)f(public) d(k)m(ey)k(cryptosystems)f(dep)s(ends)e(hea)m(vily)h(on)g(the)h(abilit) m(y)e(to)j(quic)m(kly)d(ev)-5 b(al-)118 5584 y(uate)28 b(expressions)e(of)h(the)h(form)e FA(x)1305 5551 y Fu(e)1367 5584 y Fw(mo)-5 b(d)37 b FA(m)p FB(,)27 b(where)g FA(x)g FB(is)f(the)i Fw(message)34 b FB(to)28 b(b)s(e)f(encrypted)g(or)g (decrypted)1903 5841 y(22)p eop %%Page: 23 27 23 26 bop 768 2289 a @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 2834 @rwi @setspecial %%BeginDocument: BigRange.eps /gnudict 120 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /UL { gnulinewidth mul /userlinewidth exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def end gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 476 420 M 63 0 V 6493 0 R -63 0 V 392 420 M (0) Rshow 476 825 M 63 0 V 6493 0 R -63 0 V 392 825 M (5) Rshow 476 1229 M 63 0 V 6493 0 R -63 0 V -6577 0 R (10) Rshow 476 1634 M 63 0 V 6493 0 R -63 0 V -6577 0 R (15) Rshow 476 2039 M 63 0 V 6493 0 R -63 0 V -6577 0 R (20) Rshow 476 2444 M 63 0 V 6493 0 R -63 0 V -6577 0 R (25) Rshow 476 2848 M 63 0 V 6493 0 R -63 0 V -6577 0 R (30) Rshow 476 3253 M 63 0 V 6493 0 R -63 0 V -6577 0 R (35) Rshow 476 3658 M 63 0 V 6493 0 R -63 0 V -6577 0 R (40) Rshow 476 4063 M 63 0 V 6493 0 R -63 0 V -6577 0 R (45) Rshow 476 4467 M 63 0 V 6493 0 R -63 0 V -6577 0 R (50) Rshow 476 4872 M 63 0 V 6493 0 R -63 0 V -6577 0 R (55) Rshow 840 420 M 0 63 V 0 4389 R 0 -63 V 840 280 M (80) Cshow 1569 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (100) Cshow 2297 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (120) Cshow 3026 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (140) Cshow 3754 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (160) Cshow 4482 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (180) Cshow 5211 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (200) Cshow 5939 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (220) Cshow 6668 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (240) Cshow 1.000 UL LTb 476 420 M 6556 0 V 0 4452 V -6556 0 V 476 420 L 0 2646 M currentpoint gsave translate 90 rotate 0 0 M (sec) Cshow grestore 3754 140 M (Digits) Cshow 1.000 UP 1.000 UL LT0 1316 4739 M (FastDiv) Rshow 476 700 Pls 549 711 Pls 622 705 Pls 695 712 Pls 767 724 Pls 840 729 Pls 913 783 Pls 986 790 Pls 1059 811 Pls 1132 816 Pls 1204 832 Pls 1277 838 Pls 1350 839 Pls 1423 848 Pls 1496 921 Pls 1569 945 Pls 1642 949 Pls 1714 967 Pls 1787 975 Pls 1860 983 Pls 1933 979 Pls 2006 991 Pls 2079 1024 Pls 2151 1040 Pls 2224 1043 Pls 2297 1053 Pls 2370 1062 Pls 2443 1076 Pls 2516 1092 Pls 2588 1090 Pls 2661 1194 Pls 2734 1215 Pls 2807 1227 Pls 2880 1231 Pls 2953 1242 Pls 3026 1241 Pls 3098 1268 Pls 3171 1288 Pls 3244 1304 Pls 3317 1305 Pls 3390 1319 Pls 3463 1326 Pls 3535 1328 Pls 3608 1351 Pls 3681 1351 Pls 3754 1360 Pls 3827 1534 Pls 3900 1581 Pls 3973 1556 Pls 4045 1578 Pls 4118 1615 Pls 4191 1624 Pls 4264 1641 Pls 4337 1637 Pls 4410 1675 Pls 4482 1653 Pls 4555 1723 Pls 4628 1698 Pls 4701 1698 Pls 4774 1722 Pls 4847 1712 Pls 4920 1719 Pls 4992 1935 Pls 5065 1961 Pls 5138 1995 Pls 5211 2006 Pls 5284 2017 Pls 5357 2055 Pls 5429 2079 Pls 5502 2076 Pls 5575 2066 Pls 5648 2087 Pls 5721 2099 Pls 5794 2113 Pls 5866 2121 Pls 5939 2137 Pls 6012 2142 Pls 6085 2151 Pls 6158 2206 Pls 6231 2221 Pls 6304 2238 Pls 6376 2270 Pls 6449 2280 Pls 6522 2295 Pls 6595 2304 Pls 6668 2338 Pls 6741 2326 Pls 6813 2342 Pls 6886 2345 Pls 6959 2363 Pls 7032 2373 Pls 1599 4739 Pls 1.000 UP 1.000 UL LT1 1316 4599 M (SchoolDiv) Rshow 476 770 Crs 549 785 Crs 622 809 Crs 695 831 Crs 767 853 Crs 840 876 Crs 913 899 Crs 986 923 Crs 1059 943 Crs 1132 967 Crs 1204 992 Crs 1277 1028 Crs 1350 1046 Crs 1423 1069 Crs 1496 1102 Crs 1569 1127 Crs 1642 1160 Crs 1714 1191 Crs 1787 1239 Crs 1860 1263 Crs 1933 1272 Crs 2006 1303 Crs 2079 1330 Crs 2151 1357 Crs 2224 1398 Crs 2297 1425 Crs 2370 1461 Crs 2443 1488 Crs 2516 1546 Crs 2588 1561 Crs 2661 1616 Crs 2734 1669 Crs 2807 1689 Crs 2880 1717 Crs 2953 1772 Crs 3026 1774 Crs 3098 1820 Crs 3171 1867 Crs 3244 1912 Crs 3317 1937 Crs 3390 1995 Crs 3463 2021 Crs 3535 2072 Crs 3608 2121 Crs 3681 2172 Crs 3754 2211 Crs 3827 2264 Crs 3900 2359 Crs 3973 2347 Crs 4045 2392 Crs 4118 2426 Crs 4191 2472 Crs 4264 2530 Crs 4337 2562 Crs 4410 2661 Crs 4482 2660 Crs 4555 2747 Crs 4628 2791 Crs 4701 2826 Crs 4774 2897 Crs 4847 2954 Crs 4920 2964 Crs 4992 3018 Crs 5065 3081 Crs 5138 3137 Crs 5211 3197 Crs 5284 3248 Crs 5357 3315 Crs 5429 3386 Crs 5502 3412 Crs 5575 3457 Crs 5648 3509 Crs 5721 3569 Crs 5794 3640 Crs 5866 3693 Crs 5939 3764 Crs 6012 3803 Crs 6085 3883 Crs 6158 3943 Crs 6231 4000 Crs 6304 4060 Crs 6376 4130 Crs 6449 4254 Crs 6522 4284 Crs 6595 4324 Crs 6668 4413 Crs 6741 4453 Crs 6813 4515 Crs 6886 4579 Crs 6959 4653 Crs 7032 4716 Crs 1599 4599 Crs stroke grestore end showpage %%EndDocument @endspecial 692 2572 a Fp(Figure)32 b(6:)k FD(Comparing)26 b(F)-7 b(astDivision)27 b(to)h(Sc)n(ho)r(ol)f(Division)g(in)h(a)f(big)h (range)768 4965 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 2834 @rwi @setspecial %%BeginDocument: Fast2Kara.eps /gnudict 120 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /UL { gnulinewidth mul /userlinewidth exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def end gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 476 420 M 63 0 V 6493 0 R -63 0 V 392 420 M (0) Rshow 476 1162 M 63 0 V 6493 0 R -63 0 V -6577 0 R (5) Rshow 476 1904 M 63 0 V 6493 0 R -63 0 V -6577 0 R (10) Rshow 476 2646 M 63 0 V 6493 0 R -63 0 V -6577 0 R (15) Rshow 476 3388 M 63 0 V 6493 0 R -63 0 V -6577 0 R (20) Rshow 476 4130 M 63 0 V 6493 0 R -63 0 V -6577 0 R (25) Rshow 476 4872 M 63 0 V 6493 0 R -63 0 V -6577 0 R (30) Rshow 788 420 M 0 63 V 0 4389 R 0 -63 V 788 280 M (80) Cshow 1413 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (100) Cshow 2037 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (120) Cshow 2661 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (140) Cshow 3286 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (160) Cshow 3910 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (180) Cshow 4534 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (200) Cshow 5159 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (220) Cshow 5783 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (240) Cshow 6408 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (260) Cshow 7032 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (280) Cshow 1.000 UL LTb 476 420 M 6556 0 V 0 4452 V -6556 0 V 476 420 L 0 2646 M currentpoint gsave translate 90 rotate 0 0 M (sec) Cshow grestore 3754 140 M (Digits) Cshow 1.000 UP 1.000 UL LT0 1232 4739 M (KaraMult) Rshow 476 693 Pls 538 703 Pls 601 706 Pls 663 711 Pls 726 715 Pls 788 715 Pls 851 798 Pls 913 798 Pls 976 816 Pls 1038 824 Pls 1100 831 Pls 1163 830 Pls 1225 830 Pls 1288 828 Pls 1350 930 Pls 1413 954 Pls 1475 962 Pls 1537 954 Pls 1600 969 Pls 1662 985 Pls 1725 960 Pls 1787 972 Pls 1850 991 Pls 1912 996 Pls 1975 997 Pls 2037 1006 Pls 2099 1017 Pls 2162 1015 Pls 2224 1021 Pls 2287 1023 Pls 2349 1229 Pls 2412 1245 Pls 2474 1251 Pls 2536 1238 Pls 2599 1238 Pls 2661 1236 Pls 2724 1267 Pls 2786 1269 Pls 2849 1284 Pls 2911 1288 Pls 2974 1288 Pls 3036 1302 Pls 3098 1306 Pls 3161 1296 Pls 3223 1312 Pls 3286 1312 Pls 3348 1567 Pls 3411 1566 Pls 3473 1561 Pls 3535 1567 Pls 3598 1612 Pls 3660 1604 Pls 3723 1621 Pls 3785 1622 Pls 3848 1629 Pls 3910 1619 Pls 3973 1635 Pls 4035 1662 Pls 4097 1638 Pls 4160 1656 Pls 4222 1670 Pls 4285 1656 Pls 4347 1940 Pls 4410 1934 Pls 4472 2011 Pls 4534 2015 Pls 4597 1999 Pls 4659 2038 Pls 4722 2041 Pls 4784 2041 Pls 4847 2015 Pls 4909 2043 Pls 4972 2035 Pls 5034 2043 Pls 5096 2051 Pls 5159 2070 Pls 5221 2054 Pls 5284 2063 Pls 5346 2141 Pls 5409 2140 Pls 5471 2152 Pls 5533 2171 Pls 5596 2186 Pls 5658 2173 Pls 5721 2170 Pls 5783 2156 Pls 5846 2195 Pls 5908 2179 Pls 5971 2187 Pls 6033 2184 Pls 6095 2204 Pls 6158 2198 Pls 6220 2213 Pls 6283 2239 Pls 6345 2872 Pls 6408 2823 Pls 6470 2858 Pls 6532 2878 Pls 1515 4739 Pls 1.000 UP 1.000 UL LT1 1232 4599 M (FastDiv) Rshow 476 933 Crs 538 953 Crs 601 942 Crs 663 956 Crs 726 978 Crs 788 987 Crs 851 1085 Crs 913 1098 Crs 976 1137 Crs 1038 1146 Crs 1100 1175 Crs 1163 1187 Crs 1225 1189 Crs 1288 1205 Crs 1350 1339 Crs 1413 1382 Crs 1475 1391 Crs 1537 1423 Crs 1600 1438 Crs 1662 1451 Crs 1725 1444 Crs 1787 1466 Crs 1850 1527 Crs 1912 1557 Crs 1975 1563 Crs 2037 1580 Crs 2099 1597 Crs 2162 1622 Crs 2224 1652 Crs 2287 1649 Crs 2349 1839 Crs 2412 1877 Crs 2474 1900 Crs 2536 1907 Crs 2599 1928 Crs 2661 1925 Crs 2724 1975 Crs 2786 2011 Crs 2849 2041 Crs 2911 2042 Crs 2974 2069 Crs 3036 2081 Crs 3098 2085 Crs 3161 2127 Crs 3223 2127 Crs 3286 2143 Crs 3348 2462 Crs 3411 2548 Crs 3473 2502 Crs 3535 2542 Crs 3598 2610 Crs 3660 2628 Crs 3723 2658 Crs 3785 2652 Crs 3848 2722 Crs 3910 2680 Crs 3973 2809 Crs 4035 2763 Crs 4097 2763 Crs 4160 2808 Crs 4222 2788 Crs 4285 2802 Crs 4347 3198 Crs 4410 3246 Crs 4472 3308 Crs 4534 3327 Crs 4597 3348 Crs 4659 3418 Crs 4722 3462 Crs 4784 3456 Crs 4847 3438 Crs 4909 3476 Crs 4972 3498 Crs 5034 3525 Crs 5096 3539 Crs 5159 3568 Crs 5221 3576 Crs 5284 3594 Crs 5346 3695 Crs 5409 3722 Crs 5471 3753 Crs 5533 3811 Crs 5596 3830 Crs 5658 3858 Crs 5721 3873 Crs 5783 3936 Crs 5846 3915 Crs 5908 3943 Crs 5971 3949 Crs 6033 3982 Crs 6095 4001 Crs 6158 4008 Crs 6220 4051 Crs 6283 4108 Crs 6345 4630 Crs 6408 4655 Crs 6470 4792 Crs 1515 4599 Crs stroke grestore end showpage %%EndDocument @endspecial 750 5248 a Fp(Figure)j(7:)36 b FD(Comparing)26 b(F)-7 b(astDivison)27 b(with)h(Karatsuba)e(m)n(ultiplication)1903 5841 y FB(23)p eop %%Page: 24 28 24 27 bop 768 2289 a @beginspecial 50 @llx 50 @lly 446 @urx 327 @ury 2834 @rwi @setspecial %%BeginDocument: Surfacetest.eps /gnudict 120 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /UL { gnulinewidth mul /userlinewidth exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def end gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 3960 5277 M (Varying the sizes of A and B) Cshow 1.000 UL LT2 7122 4920 M ("Surfacetest.dat" using 2:1:3) Rshow 7206 4920 M 399 0 V 3432 3856 M 74 46 V 74 27 V 74 46 V 73 26 V 74 405 V 74 -34 V 74 -14 V 74 27 V 74 6 V 73 -54 V 74 86 V 74 6 V 74 6 V 74 26 V 73 -14 V 74 -33 V 74 -54 V 74 -14 V 74 -34 V 73 -93 V 74 66 V 74 -34 V 74 -14 V 74 -94 V 73 66 V 74 -113 V 74 -34 V 74 -54 V 74 -133 V 73 -34 V 74 26 V 74 -134 V 74 26 V 74 -73 V 73 -54 V 74 -34 V 74 -233 V 74 -74 V 74 -74 V 73 -54 V 74 -113 V 74 -74 V 74 -94 V 74 -73 V 73 -194 V 3390 3793 M 73 66 V 74 46 V 74 46 V 74 6 V 74 345 V 73 -14 V 74 7 V 74 6 V 74 26 V 74 -54 V 74 106 V 73 -34 V 74 66 V 74 -54 V 74 7 V 74 -54 V 73 6 V 74 -34 V 74 -54 V 74 -53 V 74 66 V 73 -74 V 74 -54 V 74 -53 V 74 26 V 74 -74 V 73 -14 V 74 -94 V 74 -113 V 74 -34 V 74 -54 V 73 -54 V 74 26 V 74 -73 V 74 -54 V 74 -193 V 73 -74 V 74 -74 V 74 -74 V 74 -93 V 74 -74 V 73 -94 V 74 -93 V 74 -94 V 74 -94 V 3347 3769 M 74 66 V 74 26 V 73 26 V 74 46 V 74 325 V 74 -13 V 74 26 V 73 -34 V 74 26 V 74 6 V 74 26 V 74 -14 V 73 66 V 74 -14 V 74 7 V 74 -74 V 74 -74 V 74 26 V 73 -53 V 74 -34 V 74 6 V 74 -14 V 74 -74 V 73 -53 V 74 6 V 74 -14 V 74 -94 V 74 -93 V 73 -54 V 74 -54 V 74 -54 V 74 -53 V 74 -14 V 73 -114 V 74 -133 V 74 -74 V 74 -54 V 74 -114 V 73 -53 V 74 -74 V 74 -94 V 74 -94 V 74 -173 V 73 -14 V 74 -14 V 3304 3745 M 74 66 V 74 26 V 74 6 V 74 26 V 73 325 V 74 7 V 74 -14 V 74 26 V 74 26 V 73 -34 V 74 26 V 74 6 V 74 66 V 74 -53 V 73 6 V 74 -54 V 74 -14 V 74 -54 V 74 -33 V 74 -54 V 73 6 V 74 -14 V 74 -54 V 74 -93 V 74 26 V 73 -114 V 74 -14 V 74 -33 V 74 -94 V 74 -54 V 73 -34 V 74 -73 V 74 -34 V 74 -154 V 74 -93 V 73 -54 V 74 -74 V 74 -93 V 74 -74 V 74 -74 V 73 -94 V 74 -173 V 74 -14 V 74 -14 V 74 -14 V 3262 3701 M 74 46 V 73 26 V 74 46 V 74 6 V 74 346 V 74 -54 V 73 26 V 74 -14 V 74 26 V 74 -54 V 74 106 V 73 -53 V 74 46 V 74 26 V 74 -34 V 74 -14 V 73 -114 V 74 7 V 74 -34 V 74 -74 V 74 46 V 74 -34 V 73 -93 V 74 -74 V 74 -14 V 74 -94 V 74 66 V 73 -73 V 74 -94 V 74 -54 V 74 -33 V 74 -54 V 73 -194 V 74 -73 V 74 -54 V 74 -74 V 74 -54 V 73 -113 V 74 -74 V 74 -74 V 74 -93 V 74 -94 V 73 -14 V 74 -14 V 74 -14 V 3219 3657 M 74 66 V 74 26 V 74 6 V 73 26 V 74 326 V 74 -14 V 74 -34 V 74 6 V 73 26 V 74 -34 V 74 66 V 74 7 V 74 66 V 73 -34 V 74 -14 V 74 -154 V 74 47 V 74 -34 V 73 -14 V 74 -74 V 74 6 V 74 6 V 74 -153 V 73 -74 V 74 -14 V 74 -73 V 74 66 V 74 -34 V 74 -94 V 73 -74 V 74 -93 V 74 -114 V 74 -94 V 74 -53 V 73 -74 V 74 -74 V 74 -73 V 74 -94 V 74 -74 V 73 -74 V 74 -113 V 74 -14 V 74 -14 V 74 -14 V 73 6 V 3177 3633 M 73 26 V 74 46 V 74 6 V 74 46 V 74 306 V 73 -14 V 74 -14 V 74 6 V 74 -14 V 74 -13 V 73 86 V 74 -74 V 74 106 V 74 -14 V 74 -94 V 73 -54 V 74 7 V 74 -14 V 74 -74 V 74 -14 V 73 -14 V 74 -73 V 74 -54 V 74 -94 V 74 -34 V 73 -33 V 74 -14 V 74 -54 V 74 -14 V 74 -73 V 74 -194 V 73 -54 V 74 -73 V 74 -74 V 74 -54 V 74 -94 V 73 -73 V 74 -74 V 74 -174 V 74 -13 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -13 V 3134 3589 M 74 46 V 74 26 V 73 26 V 74 26 V 74 266 V 74 6 V 74 26 V 73 -34 V 74 6 V 74 -13 V 74 26 V 74 26 V 73 46 V 74 -114 V 74 6 V 74 -53 V 74 26 V 73 -14 V 74 -54 V 74 -34 V 74 -73 V 74 -94 V 73 -54 V 74 6 V 74 -53 V 74 -74 V 74 -14 V 73 -14 V 74 -74 V 74 -213 V 74 -14 V 74 -93 V 74 -74 V 73 -34 V 74 -94 V 74 -93 V 74 -74 V 74 -74 V 73 -93 V 74 -14 V 74 6 V 74 -34 V 74 -14 V 73 -14 V 74 7 V 3091 3545 M 74 26 V 74 26 V 74 66 V 74 6 V 73 266 V 74 -14 V 74 -14 V 74 6 V 74 7 V 73 -14 V 74 26 V 74 6 V 74 66 V 74 -94 V 73 -33 V 74 -54 V 74 6 V 74 6 V 74 -34 V 73 -53 V 74 -114 V 74 -54 V 74 -14 V 74 -73 V 73 -34 V 74 -54 V 74 6 V 74 -34 V 74 -193 V currentpoint stroke M 73 -54 V 74 -74 V 74 -53 V 74 -74 V 74 -94 V 73 -73 V 74 -54 V 74 -94 V 74 -94 V 74 -13 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 6 V 74 -33 V 3049 3521 M 74 26 V 73 26 V 74 26 V 74 26 V 74 266 V 74 26 V 73 -14 V 74 -53 V 74 26 V 74 -14 V 74 26 V 73 6 V 74 -14 V 74 -14 V 74 -33 V 74 -34 V 73 26 V 74 -54 V 74 -54 V 74 -93 V 74 -54 V 73 -54 V 74 -54 V 74 -33 V 74 6 V 74 -74 V 73 6 V 74 -213 V 74 -34 V 74 -74 V 74 -73 V 73 -74 V 74 -74 V 74 -74 V 74 -53 V 74 -174 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 6 V 74 -33 V 3006 3477 M 74 46 V 74 26 V 74 6 V 73 27 V 74 265 V 74 -34 V 74 46 V 74 -93 V 73 66 V 74 -34 V 74 46 V 74 -34 V 74 6 V 73 6 V 74 -73 V 74 -14 V 74 -34 V 74 -14 V 73 -33 V 74 -114 V 74 -54 V 74 -54 V 74 7 V 73 -74 V 74 -14 V 74 -74 V 74 -133 V 74 -74 V 73 -54 V 74 -54 V 74 -73 V 74 -74 V 74 -74 V 73 -73 V 74 -154 V 74 -14 V 74 -14 V 74 6 V 73 -33 V 74 -14 V 74 -14 V 74 6 V 74 -34 V 74 -13 V 73 -14 V 2964 3453 M 73 6 V 74 46 V 74 7 V 74 46 V 74 245 V 73 -34 V 74 7 V 74 -54 V 74 26 V 74 -34 V 73 46 V 74 -14 V 74 -13 V 74 6 V 74 -34 V 73 -54 V 74 -14 V 74 -93 V 74 -34 V 74 -54 V 73 -34 V 74 -53 V 74 6 V 74 -74 V 74 -34 V 73 -173 V 74 -34 V 74 -74 V 74 -54 V 74 -53 V 73 -74 V 74 -74 V 74 -74 V 74 -153 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -13 V 74 -14 V 2921 3409 M 74 26 V 74 26 V 73 7 V 74 6 V 74 245 V 74 26 V 74 -33 V 73 6 V 74 -34 V 74 -34 V 74 66 V 74 -14 V 73 7 V 74 -54 V 74 -34 V 74 -34 V 74 -74 V 73 -53 V 74 -14 V 74 -54 V 74 -54 V 74 -33 V 73 -14 V 74 -34 V 74 -174 V 74 -53 V 74 -54 V 73 -74 V 74 -53 V 74 -54 V 74 -74 V 74 -74 V 73 -153 V 74 -14 V 74 6 V 74 -34 V 74 -14 V 73 -13 V 74 6 V 74 -34 V 74 -14 V 74 -14 V 73 6 V 74 -33 V 74 -14 V 2878 3385 M 74 6 V 74 27 V 74 26 V 74 6 V 73 225 V 74 -13 V 74 -14 V 74 6 V 74 6 V 73 -34 V 74 46 V 74 -33 V 74 -14 V 74 -14 V 73 -34 V 74 -14 V 74 -153 V 74 -34 V 74 6 V 73 -54 V 74 -53 V 74 -54 V 74 6 V 74 -154 V 73 -73 V 74 -54 V 74 -54 V 74 -54 V 74 -53 V 73 -94 V 74 -74 V 74 -133 V 74 6 V 74 -34 V 73 -14 V 74 -14 V 74 6 V 74 -33 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 2836 3341 M 74 26 V 73 7 V 74 26 V 74 6 V 74 246 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -54 V 74 7 V 73 6 V 74 6 V 74 26 V 74 -54 V 74 -54 V 73 -113 V 74 -34 V 74 -14 V 74 -54 V 74 -53 V 73 -34 V 74 -134 V 74 -53 V 74 -54 V 74 -54 V 73 -74 V 74 -73 V 74 -54 V 74 -74 V 74 -74 V 73 -73 V 74 -14 V 74 -14 V 74 -14 V 74 6 V 73 -33 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 7 V 74 -34 V 74 -14 V 2793 3297 M 74 47 V 74 -14 V 74 26 V 73 6 V 74 246 V 74 -74 V 74 46 V 74 -54 V 73 26 V 74 -53 V 74 6 V 74 6 V 74 26 V 73 -134 V 74 66 V 74 -93 V 74 -74 V 74 -34 V 73 -14 V 74 -53 V 74 -34 V 74 -154 V 74 -54 V 73 -53 V 74 -54 V 74 -54 V 74 -54 V 74 -73 V 73 -54 V 74 -94 V 74 -53 V 74 -34 V 74 -14 V 73 -14 V 74 6 V 74 -34 V 74 -13 V 74 -14 V 73 6 V 74 -34 V 74 -14 V 74 -14 V 74 7 V 73 -34 V 74 -14 V 2751 3274 M 73 26 V 74 6 V 74 6 V 74 46 V 74 166 V 73 -14 V 74 26 V 74 -54 V 74 6 V 74 7 V 73 -34 V 74 -34 V 74 -34 V 74 -14 V 74 6 V 73 -93 V 74 -74 V 74 -34 V 74 6 V 74 -73 V 73 -134 V 74 -34 V 74 -53 V 74 -54 V 74 -74 V 73 -34 V 74 -73 V 74 -74 V 74 -134 V 74 -14 V 73 -13 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -13 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 6 V 74 -34 V 2708 3250 M 74 6 V 74 26 V 73 6 V 74 6 V 74 206 V 74 -14 V 74 -34 V 73 -14 V 74 -13 V 74 6 V 74 6 V 74 -34 V 73 -94 V 74 6 V 74 -13 V currentpoint stroke M 74 -74 V 74 -54 V 73 -34 V 74 -13 V 74 -154 V 74 -54 V 74 -54 V 73 -53 V 74 -54 V 74 -54 V 74 -74 V 74 -73 V 73 -54 V 74 -74 V 74 -14 V 74 -13 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 2665 3186 M 74 6 V 74 26 V 74 26 V 74 -14 V 73 206 V 74 -14 V 74 -14 V 74 -34 V 74 -33 V 73 -14 V 74 26 V 74 -54 V 74 -34 V 74 -53 V 73 26 V 74 -54 V 74 -74 V 74 -53 V 74 -114 V 73 -34 V 74 -54 V 74 -53 V 74 -54 V 74 -54 V 73 -54 V 74 -73 V 74 -74 V 74 -74 V 74 -14 V 73 -13 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -13 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 -14 V 73 -14 V 2623 3142 M 73 46 V 74 -14 V 74 6 V 74 -14 V 74 206 V 74 6 V 73 -14 V 74 -33 V 74 -14 V 74 -74 V 74 26 V 73 -34 V 74 -33 V 74 -54 V 74 26 V 74 -54 V 73 -74 V 74 -133 V 74 -54 V 74 -34 V 74 -34 V 73 -73 V 74 -34 V 74 -74 V 74 -54 V 74 -133 V 73 -14 V 74 -14 V 74 -14 V 74 -13 V 74 -14 V 73 6 V 74 -34 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -13 V 74 -14 V 74 -14 V 74 -14 V 2580 3118 M 74 26 V 74 6 V 73 -14 V 74 6 V 74 206 V 74 -54 V 74 6 V 74 -33 V 73 -54 V 74 6 V 74 6 V 74 -14 V 74 -93 V 73 -34 V 74 6 V 74 -54 V 74 -153 V 74 -14 V 73 -54 V 74 -54 V 74 -33 V 74 -74 V 74 -54 V 73 -54 V 74 -133 V 74 6 V 74 -34 V 74 -14 V 73 -14 V 74 -13 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -13 V 74 -14 V 73 -14 V 74 -14 V 2537 3074 M 74 6 V 74 26 V 74 26 V 74 -14 V 73 186 V 74 -34 V 74 -13 V 74 -34 V 74 -54 V 74 -14 V 73 26 V 74 -73 V 74 -54 V 74 -14 V 74 -14 V 73 -153 V 74 -34 V 74 -54 V 74 -34 V 74 -73 V 73 -34 V 74 -54 V 74 -54 V 74 -73 V 74 -74 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -13 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 2495 3050 M 74 26 V 73 -14 V 74 6 V 74 -13 V 74 185 V 74 -33 V 73 -54 V 74 -14 V 74 -14 V 74 -34 V 74 6 V 73 -33 V 74 -54 V 74 -34 V 74 -114 V 74 -53 V 74 -34 V 73 -54 V 74 -34 V 74 -53 V 74 -74 V 74 -34 V 73 -74 V 74 -73 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 6 V 74 -33 V 74 -14 V 74 -14 V 73 6 V 74 -34 V 74 -13 V 74 -14 V 74 6 V 73 -34 V 74 -14 V 74 -14 V 74 -13 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 2452 3006 M 74 26 V 74 -14 V 74 6 V 73 -13 V 74 185 V 74 -53 V 74 -14 V 74 -34 V 73 -34 V 74 -14 V 74 -13 V 74 -54 V 74 -14 V 73 -154 V 74 -13 V 74 -54 V 74 -34 V 74 -34 V 74 -73 V 73 -34 V 74 -54 V 74 -74 V 74 -53 V 74 -34 V 73 -14 V 74 -14 V 74 6 V 74 -34 V 74 -13 V 73 -14 V 74 6 V 74 -34 V 74 -14 V 74 -14 V 73 7 V 74 -34 V 74 -14 V 74 -14 V 74 6 V 73 -34 V 74 -13 V 74 -14 V 74 6 V 74 -34 V 73 -14 V 2410 2962 M 73 6 V 74 26 V 74 -13 V 74 6 V 74 146 V 73 -14 V 74 -14 V 74 -74 V 74 6 V 74 -73 V 73 6 V 74 -34 V 74 -134 V 74 -33 V 74 -34 V 73 -34 V 74 -54 V 74 -54 V 74 -53 V 74 -54 V 74 -94 V 73 -34 V 74 -13 V 74 -14 V 74 6 V 74 -34 V 73 -14 V 74 -14 V 74 7 V 74 -34 V 74 -14 V 73 -14 V 74 6 V 74 -34 V 74 -13 V 74 -14 V 73 6 V 74 -34 V 74 -14 V 74 -14 V 74 7 V 73 -34 V 74 -14 V 74 -14 V 74 6 V 2367 2938 M 74 26 V 74 -34 V 73 27 V 74 6 V 74 126 V 74 -34 V 74 -34 V 73 -34 V 74 -14 V 74 -33 V 74 -14 V 74 -134 V 73 -54 V 74 -33 V 74 -34 V 74 -54 V 74 -14 V 73 -73 V 74 -34 V 74 -74 V 74 -74 V 74 -14 V 73 -13 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -13 V 74 6 V 74 -34 V 74 -14 V 74 -14 V 73 -13 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -13 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 2324 2914 M 74 26 V currentpoint stroke M 74 -33 V 74 -14 V 74 6 V 73 126 V 74 -54 V 74 6 V 74 -34 V 74 -53 V 73 -14 V 74 -114 V 74 -34 V 74 -53 V 74 -14 V 73 -54 V 74 -34 V 74 -54 V 74 -53 V 74 -114 V 73 -14 V 74 -14 V 74 -13 V 74 6 V 74 -34 V 73 -14 V 74 -14 V 74 6 V 74 -33 V 74 -14 V 74 -14 V 73 6 V 74 -34 V 74 -14 V 74 -13 V 74 6 V 73 -34 V 74 -14 V 74 -14 V 74 6 V 74 -33 V 73 -14 V 74 -14 V 74 6 V 74 -34 V 74 -14 V 2282 2850 M 74 6 V 73 7 V 74 -14 V 74 -14 V 74 126 V 74 -34 V 73 -14 V 74 -34 V 74 -13 V 74 -114 V 74 -54 V 73 -14 V 74 -53 V 74 -34 V 74 -34 V 74 -54 V 73 -53 V 74 -54 V 74 -74 V 74 -14 V 74 -14 V 73 7 V 74 -34 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -13 V 74 6 V 74 -34 V 74 -14 V 73 -14 V 74 6 V 74 -33 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 2239 2826 M 74 -13 V 74 6 V 74 6 V 73 -14 V 74 86 V 74 -14 V 74 26 V 74 -73 V 73 -134 V 74 -34 V 74 -14 V 74 -34 V 74 -73 V 73 -14 V 74 -34 V 74 -74 V 74 -73 V 74 -34 V 73 -14 V 74 -14 V 74 -14 V 74 -13 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -13 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -13 V 2197 2763 M 73 26 V 74 6 V 74 -14 V 74 -34 V 74 106 V 73 -34 V 74 -14 V 74 -133 V 74 -14 V 74 -34 V 73 -34 V 74 -33 V 74 -54 V 74 -34 V 74 -34 V 73 -113 V 74 -14 V 74 6 V 74 -34 V 74 -14 V 73 -14 V 74 -13 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -13 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -13 V 74 -14 V 74 6 V 73 -34 V 74 -14 V 74 -14 V 74 -13 V 2154 2739 M 74 6 V 74 -14 V 73 -14 V 74 6 V 74 106 V 74 -34 V 74 -153 V 73 -14 V 74 -14 V 74 -34 V 74 -34 V 74 -33 V 73 -34 V 74 -74 V 74 -54 V 74 -53 V 74 6 V 73 -34 V 74 -14 V 74 -14 V 74 6 V 74 -33 V 73 -14 V 74 -14 V 74 6 V 74 -34 V 74 -13 V 73 -14 V 74 6 V 74 -34 V 74 -14 V 74 -14 V 73 7 V 74 -34 V 74 -14 V 74 -14 V 74 6 V 73 -34 V 74 -13 V 74 -14 V 74 6 V 74 -34 V 73 -14 V 74 -14 V 74 7 V 2111 2715 M 74 6 V 74 -14 V 74 -14 V 74 -14 V 73 86 V 74 -113 V 74 -54 V 74 -14 V 74 -34 V 73 -34 V 74 -53 V 74 -34 V 74 -34 V 74 -34 V 73 -73 V 74 6 V 74 -34 V 74 -14 V 74 -14 V 73 6 V 74 -13 V 74 -34 V 74 -14 V 74 -14 V 73 6 V 74 -34 V 74 -13 V 74 -14 V 74 6 V 73 -34 V 74 -14 V 74 6 V 74 -33 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -13 V 2069 2671 M 74 6 V 73 -14 V 74 -14 V 74 -14 V 74 -33 V 74 -14 V 73 -14 V 74 -34 V 74 -34 V 74 -53 V 74 -14 V 73 -34 V 74 -74 V 74 -54 V 74 -13 V 74 -14 V 73 -14 V 74 -14 V 74 6 V 74 -34 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 7 V 74 -34 V 74 -14 V 74 -14 V 74 6 V 73 -34 V 74 -13 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -13 V 74 6 V 74 -34 V 74 -14 V 73 -14 V 74 6 V 74 -33 V 74 -14 V 2026 2647 M 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -33 V 74 -14 V 74 -34 V 74 -34 V 73 -14 V 74 -53 V 74 -34 V 74 -94 V 74 -14 V 73 -14 V 74 -13 V 74 6 V 74 -34 V 74 -14 V 73 -14 V 74 6 V 74 -33 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -13 V 74 -14 V 73 -14 V 74 6 V 74 -34 V 74 -14 V 74 -13 V 73 6 V 74 -34 V 74 -14 V 74 -14 V 74 6 V 73 -33 V 74 -14 V 1984 2603 M 73 -14 V 74 -14 V 74 -34 V 74 -13 V 74 6 V 73 -54 V 74 -14 V 74 -34 V 74 -34 V 74 -33 V 73 -34 V 74 -74 V 74 6 V 74 -14 V 74 -33 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 7 V 74 -34 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -13 V 74 -14 V currentpoint stroke M 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 6 V 73 -34 V 74 -14 V 74 -14 V 74 -13 V 74 -14 V 1941 2559 M 74 -14 V 74 6 V 73 -34 V 74 -13 V 74 -34 V 74 -14 V 74 -34 V 73 -34 V 74 -33 V 74 -54 V 74 -54 V 74 -14 V 73 6 V 74 -33 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 6 V 73 -34 V 74 -14 V 74 -14 V 74 -13 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 7 V 73 -34 V 74 -14 V 74 -14 V 74 6 V 74 -34 V 73 -13 V 74 -14 V 74 6 V 74 -34 V 74 -14 V 73 -13 V 74 6 V 74 -34 V 1898 2515 M 74 6 V 74 -14 V 74 -34 V 74 -13 V 73 -34 V 74 -34 V 74 -14 V 74 -54 V 74 -53 V 73 -34 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 6 V 74 -34 V 73 -13 V 74 -14 V 74 6 V 74 -34 V 74 -14 V 73 -14 V 74 7 V 74 -34 V 74 -14 V 74 -14 V 73 6 V 74 -33 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -13 V 74 6 V 73 -34 V 1856 2491 M 74 -14 V 73 -34 V 74 7 V 74 -34 V 74 -34 V 74 -14 V 73 -74 V 74 -53 V 74 6 V 74 -34 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 -14 V 73 6 V 74 -34 V 74 -14 V 74 -13 V 74 6 V 73 -34 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -13 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -13 V 74 -14 V 74 -14 V 1813 2447 M 74 -14 V 74 -14 V 74 -53 V 73 6 V 74 -14 V 74 -54 V 74 -34 V 74 -53 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 6 V 74 -34 V 74 -14 V 74 -14 V 73 -13 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -13 V 74 -14 V 74 -14 V 74 6 V 73 -34 V 74 -14 V 74 -13 V 74 6 V 74 -34 V 73 -14 V 74 -14 V 74 6 V 74 -33 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 6 V 1770 2403 M 74 6 V 74 -33 V 74 -14 V 74 -34 V 74 -34 V 73 -34 V 74 -53 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 6 V 74 -33 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -13 V 74 6 V 74 -34 V 74 -14 V 74 -14 V 73 6 V 74 -33 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -13 V 74 -14 V 74 -14 V 74 -14 V 1728 2379 M 74 -14 V 73 -33 V 74 -14 V 74 -34 V 74 -74 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 6 V 74 -34 V 73 -13 V 74 -14 V 74 6 V 74 -34 V 74 -14 V 73 -14 V 74 -13 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 6 V 74 -33 V 74 -14 V 74 -14 V 73 6 V 74 -34 V 74 -13 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -13 V 74 6 V 73 -34 V 74 -14 V 74 -14 V 74 6 V 74 -33 V 73 -14 V 74 -14 V 74 -14 V 1685 2355 M 74 -34 V 74 -33 V 74 -14 V 73 -34 V 74 -54 V 74 -14 V 74 -13 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -13 V 74 -14 V 74 6 V 73 -34 V 74 -14 V 74 -14 V 74 6 V 74 -33 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 6 V 74 -34 V 74 -14 V 73 -13 V 74 6 V 74 -34 V 74 -14 V 74 -14 V 73 6 V 74 -33 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 -14 V 73 -14 V 1643 2311 M 73 -33 V 74 -14 V 74 -74 V 74 -14 V 74 -14 V 73 -13 V 74 -14 V 74 -14 V 74 -14 V 74 6 V 73 -34 V 74 -13 V 74 -14 V 74 6 V 74 -34 V 74 -14 V 73 -14 V 74 -13 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 7 V 74 -34 V 74 -14 V 73 -14 V 74 6 V 74 -34 V 74 -13 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 6 V 74 -34 V 74 -14 V 74 -14 V 73 7 V 74 -34 V 74 -14 V 74 -14 V 1600 2267 M 74 -33 V 74 -54 V 73 -14 V 74 -14 V 74 -14 V 74 -13 V 74 6 V 73 -34 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 6 V 74 -34 V 74 -13 V 73 -14 V currentpoint stroke M 74 6 V 74 -34 V 74 -14 V 74 -14 V 73 -13 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 7 V 74 -34 V 74 -14 V 74 -14 V 73 6 V 74 -33 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 -14 V 73 6 V 74 -34 V 1557 2224 M 74 -54 V 74 6 V 74 -34 V 74 -14 V 73 -14 V 74 -13 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 6 V 74 -33 V 74 -14 V 74 -14 V 73 6 V 74 -34 V 74 -14 V 74 -13 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -13 V 74 6 V 74 -34 V 73 -14 V 74 -14 V 74 6 V 74 -33 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -13 V 73 -14 V 74 -14 V 74 -14 V 74 -14 V 74 -14 V 73 -13 V 74 6 V 74 -34 V 74 -14 V 74 -14 V 1515 2220 M 74 -74 V 73 -14 V 74 6 V 74 -34 V 74 -13 V 74 -14 V 73 -14 V 74 -14 V 74 6 V 74 -34 V 74 -13 V 73 -14 V 74 -14 V 74 6 V 74 -14 V 74 -34 V 73 7 V 74 -34 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -13 V 74 6 V 74 -34 V 74 6 V 74 -34 V 73 -14 V 74 -13 V 74 -14 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -13 V 74 -14 V 74 -14 V 73 -14 V 74 -14 V 74 -14 V 74 -13 V 74 6 V 73 -34 V 74 -14 V 74 6 V 6753 2615 M -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -4 V -42 -43 V -43 -4 V -42 -44 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -4 V -43 -44 V -42 -24 V -43 -24 V -43 -23 V -42 -24 V -43 -4 V -43 -44 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -4 V -42 -44 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -4 V 6680 2809 M -43 -124 V -43 -104 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -4 V -43 -24 V -42 -43 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -4 V -43 -44 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -23 V -43 -24 V -42 -24 V -43 -4 V -42 -24 V -43 -44 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -4 V -42 -44 V -43 -24 V 6606 2882 M -43 -103 V -42 -184 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -4 V -42 -44 V -43 -3 V -42 -24 V -43 -44 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -4 V -43 -44 V -42 -24 V -43 -4 V -43 -44 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -4 V -42 -24 V -43 -44 V -43 -23 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V 6532 2976 M -43 -104 V -42 -104 V -43 -183 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -4 V -43 -44 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -23 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -23 V -42 -24 V -43 -24 V -43 -4 V -42 -44 V -43 -4 V -42 -24 V 6458 3050 M -42 -84 V -43 -104 V -43 -104 V -42 -103 V -43 -104 V -42 -24 V -43 -4 V -43 -44 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -23 V -42 -24 V -43 -24 V -42 -4 V -43 -44 V -43 -24 V -42 -24 V -43 -24 V -42 -4 V -43 -24 V -43 -44 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -4 V -43 -44 V -42 -24 V -43 -23 V -43 -24 V -42 -24 V 6384 3163 M -42 -123 V -43 -84 V -42 -104 V -43 -104 V -43 -84 V -42 -123 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -23 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -4 V -43 -24 V -43 -44 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V 6311 3217 M -43 -84 V -43 -103 V -42 -104 V -43 -104 V -42 -84 V currentpoint stroke M -43 -184 V -43 -23 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -4 V -42 -44 V -43 -24 V -43 -4 V -42 -44 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -4 V -43 -44 V -43 -24 V -42 -4 V -43 -44 V -42 -23 V -43 -24 V -43 -24 V -42 -24 V -43 -4 V -43 -24 V -42 -44 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V 6237 3291 M -43 -84 V -42 -124 V -43 -83 V -43 -104 V -42 -84 V -43 -84 V -42 -104 V -43 -104 V -43 -24 V -42 -4 V -43 -43 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -23 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -4 V -42 -44 V -43 -24 V -43 -24 V 6163 3365 M -43 -84 V -42 -84 V -43 -104 V -42 -84 V -43 -103 V -43 -104 V -42 -104 V -43 -84 V -43 -104 V -42 -24 V -43 -24 V -42 -24 V -43 -4 V -43 -43 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -4 V -43 -44 V -43 -4 V -42 -44 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -4 V -43 -44 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -23 V -43 -24 V -42 -24 V -43 -24 V -42 -4 V -43 -44 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V 6089 3598 M -42 -243 V -43 -104 V -43 -84 V -42 -104 V -43 -84 V -42 -104 V -43 -103 V -43 -64 V -42 -184 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -4 V -43 -44 V -43 -24 V -42 -24 V -43 -23 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -4 V -43 -44 V -42 -24 V -43 -4 V -43 -24 V -42 -43 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V 6015 3632 M -42 -84 V -43 -223 V -42 -104 V -43 -84 V -43 -84 V -42 -84 V -43 -104 V -43 -103 V -42 -64 V -43 -184 V -42 -24 V -43 -4 V -43 -44 V -42 -24 V -43 -4 V -42 -44 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -23 V -43 -24 V -43 -4 V -42 -44 V -43 -24 V -42 -4 V -43 -44 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -4 V -42 -44 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -4 V -42 -44 V -43 -23 V -42 -24 V -43 -24 V 5942 3686 M -43 -84 V -43 -144 V -42 -144 V -43 -123 V -42 -64 V -43 -104 V -43 -64 V -42 -124 V -43 -84 V -43 -83 V -42 -164 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -23 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -4 V -42 -44 V -43 -24 V 5868 3759 M -43 -84 V -42 -103 V -43 -104 V -43 -204 V -42 -84 V -43 -83 V -42 -104 V -43 -64 V -43 -104 V -42 -84 V -43 -84 V -43 -163 V -42 -4 V -43 -44 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -4 V -42 -44 V -43 -4 V -42 -44 V -43 -24 V -43 -4 V -42 -44 V -43 -23 V -43 -4 V -42 -44 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V 5794 3733 M -43 -84 V -42 -63 V -43 -84 V -42 -44 V -43 -184 V -43 -104 V -42 -103 V -43 -64 V -43 -104 V -42 -84 V -43 -84 V -42 -84 V -43 -163 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -4 V -42 -44 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -4 V -43 -44 V -42 -23 V -43 -24 V -42 -4 V -43 -44 V -43 -24 V -42 -4 V -43 -24 V -42 -44 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V 5720 3867 M -42 -164 V -43 -64 V -43 -64 V -42 -63 V -43 -124 V -42 -164 V -43 -64 V -43 -104 V -42 -83 V -43 -84 V -43 -84 V -42 -84 V -43 -104 V -42 -84 V -43 -63 V -43 -44 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -4 V -42 -44 V -43 -24 V -43 -4 V -42 -44 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -4 V -43 -44 V -43 -24 V -42 -24 V -43 -23 V -42 -24 V currentpoint stroke M -43 -24 V -43 -24 V -42 -24 V -43 -4 V -42 -44 V -43 -24 V -43 -24 V -42 -24 V 5646 3841 M -42 -84 V -43 -64 V -42 -84 V -43 -64 V -43 -64 V -42 -63 V -43 -244 V -43 -44 V -42 -84 V -43 -84 V -42 -83 V -43 -84 V -43 -104 V -42 -84 V -43 -84 V -42 -84 V -43 -24 V -43 -23 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -4 V -42 -44 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -4 V -42 -44 V -43 -24 V -42 -24 V -43 -23 V -43 -24 V -42 -24 V -43 -4 V -42 -44 V -43 -24 V 5573 3875 M -43 -84 V -43 -44 V -42 -84 V -43 -64 V -42 -44 V -43 -64 V -43 -104 V -42 -203 V -43 -64 V -43 -104 V -42 -84 V -43 -83 V -42 -64 V -43 -104 V -43 -64 V -42 -164 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -4 V -42 -43 V -43 -4 V -43 -44 V -42 -24 V -43 -4 V -43 -44 V -42 -24 V -43 -4 V -42 -24 V -43 -44 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -23 V -43 -24 V 5499 4008 M -43 -104 V -42 -103 V -43 -44 V -43 -64 V -42 -44 V -43 -144 V -43 -44 V -42 -84 V -43 -223 V -42 -84 V -43 -84 V -43 -84 V -42 -64 V -43 -103 V -42 -64 V -43 -84 V -43 -84 V -42 -84 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -23 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -4 V -43 -44 V -43 -4 V -42 -44 V -43 -4 V -42 -44 V -43 -4 V -43 -44 V 5425 4062 M -43 -64 V -42 -104 V -43 -104 V -42 -24 V -43 -83 V -43 -124 V -42 -84 V -43 -64 V -43 -44 V -42 -223 V -43 -84 V -42 -84 V -43 -84 V -43 -84 V -42 -64 V -43 -83 V -42 -104 V -43 -64 V -43 -84 V -42 -24 V -43 -24 V -42 -24 V -43 -4 V -43 -44 V -42 -24 V -43 -4 V -43 -44 V -42 -24 V -43 -23 V -42 -24 V -43 -24 V -43 -4 V -42 -44 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -4 V -43 -44 V -42 -24 V -43 -24 V -42 -24 V 5351 4096 M -42 -84 V -43 -24 V -43 -184 V -42 -104 V -43 -83 V -43 -44 V -42 -84 V -43 -84 V -42 -44 V -43 -84 V -43 -183 V -42 -64 V -43 -84 V -42 -64 V -43 -84 V -43 -64 V -42 -104 V -43 -63 V -42 -144 V -43 -4 V -43 -44 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -23 V -43 -4 V -42 -44 V -43 -4 V -42 -24 V -43 -44 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -4 V 5277 4209 M -42 -123 V -43 -84 V -42 -84 V -43 -124 V -43 -104 V -42 -84 V -43 -43 V -43 -104 V -42 -24 V -43 -84 V -42 -84 V -43 -184 V -43 -83 V -42 -64 V -43 -84 V -42 -84 V -43 -64 V -43 -64 V -42 -84 V -43 -143 V -42 -24 V -43 -24 V -43 -24 V -42 -4 V -43 -44 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -4 V -43 -24 V -42 -44 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -23 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V 5204 4143 M -43 -83 V -43 -64 V -42 -104 V -43 -84 V -43 -104 V -42 -64 V -43 -24 V -42 -123 V -43 -64 V -43 -64 V -42 -64 V -43 -44 V -42 -184 V -43 -83 V -43 -84 V -42 -64 V -43 -84 V -42 -64 V -43 -84 V -43 -64 V -42 -83 V -43 -84 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -4 V -42 -43 V -43 -4 V -43 -44 V -42 -4 V -43 -24 V 5130 4237 M -43 -124 V -42 -64 V -43 -64 V -43 -103 V -42 -104 V -43 -44 V -43 -124 V -42 -44 V -43 -104 V -42 -23 V -43 -64 V -43 -84 V -42 -64 V -43 -184 V -42 -84 V -43 -63 V -43 -84 V -42 -64 V -43 -64 V -42 -84 V -43 -64 V -43 -84 V -42 -63 V -43 -44 V -43 -24 V -42 -4 V -43 -44 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -23 V -43 -24 V 5056 4251 M -43 -84 V -42 -44 V -43 -84 V -42 -64 V -43 -44 V -43 -143 V -42 -124 V -43 -84 V -43 -64 V -42 -84 V -43 -63 V -42 -64 V -43 -84 V -43 -44 V -42 -164 V -43 -64 V -42 -84 V -43 -63 V -43 -84 V -42 -64 V -43 -64 V -42 -64 V -43 -84 V currentpoint stroke M -43 -84 V -42 -24 V -43 -23 V -43 -4 V -42 -44 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -4 V -43 -24 V -43 -24 V -42 -44 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V 4982 4285 M -42 -44 V -43 -104 V -43 -84 V -42 -44 V -43 -84 V -43 -64 V -42 -103 V -43 -124 V -42 -64 V -43 -84 V -43 -64 V -42 -84 V -43 -63 V -42 -64 V -43 -44 V -43 -184 V -42 -64 V -43 -64 V -42 -64 V -43 -63 V -43 -84 V -42 -84 V -43 -44 V -42 -124 V -43 -44 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -4 V -43 -23 V -42 -44 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V 4908 4219 M -42 -44 V -43 -44 V -42 -84 V -43 -84 V -43 -44 V -42 -44 V -43 -44 V -43 -83 V -42 -124 V -43 -84 V -42 -84 V -43 -64 V -43 -64 V -42 -64 V -43 -63 V -42 -84 V -43 -144 V -43 -64 V -42 -84 V -43 -64 V -42 -83 V -43 -44 V -43 -64 V -42 -84 V -43 -64 V -43 -84 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -4 V -42 -44 V -43 -4 V -42 -43 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -4 V -43 -44 V -42 -24 V 4835 4312 M -43 -84 V -43 -63 V -42 -64 V -43 -64 V -43 -44 V -42 -104 V -43 -24 V -42 -64 V -43 -84 V -43 -63 V -42 -144 V -43 -64 V -42 -64 V -43 -64 V -43 -64 V -42 -64 V -43 -63 V -42 -184 V -43 -84 V -43 -44 V -42 -64 V -43 -64 V -42 -83 V -43 -64 V -43 -44 V -42 -144 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -4 V -43 -44 V -42 -24 V -43 -24 V -42 -24 V -43 -23 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V 4761 4346 M -43 -64 V -42 -64 V -43 -84 V -43 -63 V -42 -64 V -43 -44 V -43 -44 V -42 -84 V -43 -64 V -42 -84 V -43 -143 V -43 -84 V -42 -84 V -43 -44 V -42 -64 V -43 -84 V -43 -44 V -42 -83 V -43 -144 V -42 -44 V -43 -84 V -43 -64 V -42 -44 V -43 -84 V -43 -63 V -42 -64 V -43 -64 V -42 -84 V -43 -4 V -43 -44 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -4 V -43 -44 V -42 -24 V -43 -4 V -43 -44 V -42 -4 V -43 -43 V -42 -24 V -43 -24 V -43 -24 V 4687 4360 M -43 -44 V -42 -124 V -43 -4 V -43 -124 V -42 -23 V -43 -64 V -42 -44 V -43 -104 V -43 -4 V -42 -124 V -43 -64 V -42 -124 V -43 -103 V -43 -44 V -42 -64 V -43 -84 V -42 -44 V -43 -64 V -43 -64 V -42 -163 V -43 -44 V -42 -64 V -43 -64 V -43 -64 V -42 -44 V -43 -84 V -43 -63 V -42 -104 V -43 -44 V -42 -4 V -43 -44 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -3 V 4613 4414 M -42 -104 V -43 -44 V -43 -64 V -42 -24 V -43 -184 V -43 -24 V -42 -63 V -43 -84 V -42 -24 V -43 -64 V -43 -84 V -42 -64 V -43 -24 V -42 -84 V -43 -103 V -43 -84 V -42 -64 V -43 -44 V -42 -64 V -43 -84 V -43 -163 V -42 -64 V -43 -64 V -43 -44 V -42 -84 V -43 -44 V -42 -64 V -43 -84 V -43 -103 V -42 -24 V -43 -4 V -42 -44 V -43 -4 V -43 -44 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -4 V -43 -44 V -42 -24 V 4539 4447 M -42 -83 V -43 -24 V -43 -84 V -42 -64 V -43 -44 V -42 -124 V -43 -64 V -43 -83 V -42 -44 V -43 -84 V -42 -44 V -43 -84 V -43 -44 V -42 -44 V -43 -64 V -42 -84 V -43 -83 V -43 -64 V -42 -64 V -43 -84 V -42 -64 V -43 -164 V -43 -63 V -42 -64 V -43 -64 V -43 -64 V -42 -44 V -43 -64 V -42 -64 V -43 -84 V -43 -63 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -4 V -42 -44 V -43 -4 V -43 -44 V -42 -24 V -43 -24 V -43 -4 V -42 -24 V 4466 4461 M -43 -104 V -43 -24 V -42 -83 V -43 -24 V -43 -64 V -42 -44 V -43 -164 V -42 -44 V -43 -44 V -43 -44 V -42 -83 V -43 -84 V -42 -44 V -43 -24 V -43 -184 V -42 -24 V -43 -64 V -42 -103 V -43 -64 V -43 -64 V -42 -44 V -43 -64 V -43 -164 V -42 -43 V -43 -64 V -42 -44 V -43 -64 V -43 -64 V -42 -64 V -43 -64 V -42 -44 V -43 -84 V -43 -24 V -42 -4 V -43 -43 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -4 V -43 -24 V -43 -44 V -42 -24 V -43 -4 V 4392 4435 M -43 -24 V -43 -64 V -42 -44 V -43 -103 V -42 -4 V -43 -64 V -43 -64 V -42 -64 V -43 -124 V currentpoint stroke M -42 -64 V -43 -83 V -43 -24 V -42 -84 V -43 -64 V -42 -24 V -43 -144 V -43 -84 V -42 -44 V -43 -63 V -42 -84 V -43 -64 V -43 -44 V -42 -44 V -43 -164 V -43 -64 V -42 -63 V -43 -44 V -42 -84 V -43 -44 V -43 -24 V -42 -84 V -43 -64 V -42 -64 V -43 -4 V -43 -24 V -42 -44 V -43 -24 V -42 -23 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V 4318 4429 M -43 -84 V -42 -64 V -43 -44 V -43 -83 V -42 -24 V -43 -104 V -42 -4 V -43 -84 V -43 -44 V -42 -84 V -43 -64 V -42 -44 V -43 -63 V -43 -84 V -42 -44 V -43 -84 V -42 -24 V -43 -104 V -43 -64 V -42 -24 V -43 -103 V -43 -44 V -42 -84 V -43 -44 V -42 -144 V -43 -64 V -43 -44 V -42 -64 V -43 -63 V -42 -44 V -43 -84 V -43 -24 V -42 -124 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -23 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V 4244 4423 M -42 -44 V -43 -84 V -43 -64 V -42 -24 V -43 -84 V -43 -23 V -42 -104 V -43 -64 V -42 -44 V -43 -44 V -43 -84 V -42 -44 V -43 -44 V -42 -123 V -43 -44 V -43 -44 V -42 -24 V -43 -84 V -42 -84 V -43 -44 V -43 -44 V -42 -84 V -43 -63 V -43 -64 V -42 -44 V -43 -164 V -42 -64 V -43 -44 V -43 -64 V -42 -44 V -43 -83 V -42 -24 V -43 -64 V -43 -44 V -42 -84 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -4 V -43 -44 V -43 -24 V -42 -24 V -43 -4 V -42 -43 V 4170 4337 M -42 -64 V -43 -4 V -43 -64 V -42 -104 V -43 -44 V -42 -43 V -43 -44 V -43 -64 V -42 -44 V -43 -64 V -42 -84 V -43 -64 V -43 -24 V -42 -84 V -43 -43 V -42 -4 V -43 -64 V -43 -104 V -42 -84 V -43 -24 V -42 -64 V -43 -64 V -43 -44 V -42 -83 V -43 -24 V -43 -64 V -42 -124 V -43 -84 V -42 -44 V -43 -44 V -43 -64 V -42 -63 V -43 -44 V -42 -44 V -43 -64 V -43 -64 V -42 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -4 V -43 -44 V -43 -24 V -42 -24 V 4097 4391 M -43 -64 V -43 -64 V -42 -24 V -43 -84 V -43 -64 V -42 -64 V -43 -44 V -42 -63 V -43 -44 V -43 -44 V -42 -84 V -43 -64 V -42 -24 V -43 -64 V -43 -44 V -42 -64 V -43 -63 V -42 -84 V -43 -24 V -43 -104 V -42 -44 V -43 -44 V -43 -64 V -42 -24 V -43 -64 V -42 -83 V -43 -24 V -43 -164 V -42 -44 V -43 -44 V -42 -64 V -43 -44 V -43 -44 V -42 -64 V -43 -43 V -42 -84 V -43 -24 V -43 -44 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -42 -24 V -43 -4 V 4023 4385 M -43 -84 V -43 -64 V -42 -24 V -43 -84 V -42 -64 V -43 -24 V -43 -64 V -42 -64 V -43 -63 V -42 -84 V -43 -44 V -43 -4 V -42 -64 V -43 -44 V -42 -84 V -43 -44 V -43 -44 V -42 -64 V -43 -43 V -42 -64 V -43 -44 V -43 -84 V -42 -44 V -43 -64 V -43 -44 V -42 -44 V -43 -64 V -42 -43 V -43 -164 V -43 -44 V -42 -44 V -43 -44 V -42 -64 V -43 -44 V -43 -44 V -42 -64 V -43 -83 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V -43 -24 V -42 -24 V -43 -24 V 3949 4358 M -43 -63 V -42 -24 V -43 -84 V -43 -44 V -42 -84 V -43 -24 V -42 -24 V -43 -104 V -43 -4 V -42 -44 V -43 -83 V -42 -64 V -43 -64 V -43 -24 V -42 -44 V -43 -44 V -42 -84 V -43 -44 V -43 -44 V -42 -64 V -43 -43 V -43 -104 V -42 -24 V -43 -24 V -42 -84 V -43 -44 V -43 -64 V -42 -4 V -43 -104 V -42 -163 V -43 -44 V -43 -24 V -42 -64 V -43 -44 V -42 -44 V -43 -44 V -43 -84 V -42 -24 V -43 -63 V -42 -24 V -43 -24 V -43 -24 V -42 -4 V -43 -44 V -43 -24 V 3875 4372 M -43 -84 V -42 -43 V -43 -44 V -42 -84 V -43 -24 V -43 -44 V -42 -64 V -43 -64 V -42 -4 V -43 -104 V -43 -44 V -42 -24 V -43 -83 V -42 -24 V -43 -104 V -43 -24 V -42 -24 V -43 -64 V -42 -44 V -43 -84 V -43 -24 V -42 -63 V -43 -64 V -43 -24 V -42 -64 V -43 -84 V -42 -44 V -43 -44 V -43 -64 V -42 -24 V -43 -143 V -42 -64 V -43 -44 V -43 -64 V -42 -24 V -43 -64 V -42 -24 V -43 -64 V -43 -44 V -42 -64 V -43 -24 V -43 -23 V -42 -24 V -43 -24 V -42 -24 V 3801 4406 M -42 -104 V -43 -44 V -43 -64 V -42 -23 V -43 -64 V -42 -44 V -43 -84 V -43 -44 V -42 -44 V -43 -44 V -42 -44 V -43 -84 V -43 -44 V -42 -23 V -43 -44 V -42 -84 V -43 -24 V -43 -64 V -42 -64 V -43 -24 V -43 -44 V -42 -64 V -43 -44 V -42 -63 V -43 -44 V -43 -64 V -42 -64 V -43 -64 V -42 -44 V -43 -24 V -43 -64 V -42 -163 V -43 -44 V -42 -24 V -43 -64 V -43 -44 V -42 -44 V -43 -24 V -42 -64 V -43 -84 V -43 -24 V currentpoint stroke M -42 -24 V -43 -24 V -43 -24 V -42 -23 V 3727 4001 M -42 -44 V -43 -24 V -42 -64 V -43 -44 V -43 -44 V -42 -24 V -43 -44 V -42 -44 V -43 -44 V -43 -43 V -42 -24 V -43 -84 V -42 -24 V -43 -44 V -43 -44 V -42 -4 V -43 -64 V -42 -64 V -43 -64 V -43 -24 V -42 -24 V -43 -63 V -43 -44 V -42 -24 V -43 -24 V -42 -64 V -43 -64 V -43 -24 V -42 -64 V -43 -24 V -42 -44 V -43 -44 V -43 -44 V -42 -63 V -43 -24 V -42 -44 V -43 -44 V -43 -44 V -42 -44 V -43 -44 V -43 -44 V -42 -64 V -43 -24 V -42 -24 V -43 -24 V 3654 3975 M -43 -24 V -43 -64 V -42 -44 V -43 -24 V -42 -64 V -43 -44 V -43 -24 V -42 -24 V -43 -64 V -42 -44 V -43 -43 V -43 -44 V -42 -24 V -43 -44 V -42 -44 V -43 -44 V -43 -24 V -42 -44 V -43 -64 V -43 -44 V -42 -4 V -43 -64 V -42 -44 V -43 -43 V -43 -24 V -42 -64 V -43 -44 V -42 -24 V -43 -44 V -43 -64 V -42 -24 V -43 -44 V -42 -44 V -43 -64 V -43 -24 V -42 -44 V -43 -23 V -42 -84 V -43 -4 V -43 -44 V -42 -44 V -43 -84 V -43 -24 V -42 -24 V -43 -4 V 3580 3929 M -43 -24 V -42 -44 V -43 -24 V -43 -64 V -42 -24 V -43 -44 V -42 -44 V -43 -64 V -43 -24 V -42 -24 V -43 -44 V -42 -44 V -43 -43 V -43 -44 V -42 -44 V -43 -24 V -42 -24 V -43 -64 V -43 -44 V -42 -24 V -43 -44 V -43 -44 V -42 -44 V -43 -24 V -42 -64 V -43 -23 V -43 -44 V -42 -44 V -43 -24 V -42 -64 V -43 -24 V -43 -44 V -42 -44 V -43 -44 V -42 -24 V -43 -44 V -43 -64 V -42 -24 V -43 -43 V -43 -44 V -42 -44 V -43 -24 V -42 -84 V -43 -4 V -43 -44 V 3506 3902 M -43 -43 V -42 -24 V -43 -24 V -42 -64 V -43 -24 V -43 -64 V -42 -24 V -43 -64 V -42 -24 V -43 -24 V -43 -64 V -42 -24 V -43 -44 V -42 -24 V -43 -23 V -43 -44 V -42 -44 V -43 -64 V -43 -4 V -42 -44 V -43 -64 V -42 -4 V -43 -44 V -43 -64 V -42 -4 V -43 -24 V -42 -84 V -43 -43 V -43 -24 V -42 -44 V -43 -24 V -42 -44 V -43 -44 V -43 -44 V -42 -44 V -43 -24 V -42 -44 V -43 -44 V -43 -24 V -42 -44 V -43 -44 V -43 -43 V -42 -44 V -43 -64 V -42 -24 V 3432 3856 M -42 -63 V -43 -24 V -43 -24 V -42 -44 V -43 -44 V -42 -24 V -43 -44 V -43 -44 V -42 -24 V -43 -44 V -42 -24 V -43 -44 V -43 -24 V -42 -44 V -43 -44 V -42 -23 V -43 -24 V -43 -64 V -42 -44 V -43 -24 V -43 -44 V -42 -24 V -43 -44 V -42 -44 V -43 -24 V -43 -24 V -42 -64 V -43 -24 V -42 -63 V -43 -24 V -43 -24 V -42 -44 V -43 -24 V -42 -44 V -43 -44 V -43 -44 V -42 -24 V -43 -44 V -43 -44 V -42 -24 V -43 -24 V -42 -44 V -43 -44 V -43 -43 V -42 -4 V 1.000 UL LT2 LT3 LT3 7122 4780 M ( 0.7) Rshow 7206 4780 M 399 0 V 4429 4448 M 26 -13 V 70 -16 V 88 -5 V 4429 2252 M 26 -12 V 70 -16 V 88 -6 V LT4 7122 4640 M ( 0.6) Rshow 7206 4640 M 399 0 V 3794 4367 M -14 -13 V 81 -10 V 67 -17 V 52 -26 V 31 -38 V -17 -10 V 70 -16 V 15 -19 V -18 -28 V -2 -11 V 52 1 V 51 2 V 10 -13 V -49 -23 V 1 -32 V -9 -14 V 89 -5 V 24 0 V 81 4 V 38 5 V 80 5 V 60 1 V 47 4 V 78 -11 V 95 -2 V 102 2 V 60 -22 V 73 -14 V 78 7 V 46 7 V 58 5 V 51 1 V 23 -14 V 23 -15 V 38 3 V 78 7 V 88 -6 V 3794 2371 M -14 -13 V 81 -10 V 67 -18 V 52 -25 V 31 -38 V -17 -10 V 70 -16 V 15 -19 V -18 -29 V -2 -10 V 52 1 V 51 1 V 10 -12 V -49 -23 V 1 -32 V -9 -14 V 89 -6 V 24 0 V 81 4 V 38 6 V 80 5 V 60 1 V 47 4 V 78 -12 V 95 -2 V 102 3 V 60 -22 V 73 -14 V 78 7 V 46 7 V 58 5 V 51 1 V 23 -15 V 23 -15 V 38 4 V 78 7 V 88 -6 V LT5 7122 4500 M ( 0.5) Rshow 7206 4500 M 399 0 V 3759 4174 M -33 -25 V -40 -25 V -34 -25 V -42 -24 V -35 -26 V -39 -24 V -19 -18 V 60 -22 V 52 -26 V 74 -14 V 53 -25 V 73 -14 V -5 -31 V -6 -31 V 88 -6 V 60 -22 V 59 -21 V 39 3 V 78 7 V 88 -6 V 56 -24 V 91 -4 V 102 2 V 52 1 V 51 1 V 77 7 V 36 2 V 105 4 V 106 12 V 21 4 V 106 4 V 74 -14 V 116 10 V 32 -38 V 42 24 V 117 11 V 101 12 V 29 6 V 88 -6 V 70 -16 V 55 3 V 3759 2378 M -33 -26 V -40 -24 V -34 -26 V -42 -24 V -35 -25 V -39 -25 V -19 -18 V 60 -22 V 52 -25 V 74 -14 V 53 -26 V 73 -14 V -5 -31 V -6 -31 V 88 -5 V 60 -22 V 59 -22 V 39 3 V 78 7 V 88 -6 V 56 -23 V 91 -4 V 102 2 V 52 1 V 51 1 V 77 7 V 36 1 V 105 4 V 106 12 V 21 4 V 106 4 V 74 -13 V 116 10 V 32 -38 V 42 24 V 117 10 V 101 13 V 29 5 V 88 -6 V 70 -16 V 55 3 V LT6 7122 4360 M ( 0.4) Rshow 7206 4360 M 399 0 V 3691 3988 M -6 -31 V -43 -24 V -34 -26 V -39 -24 V -37 -25 V -42 -24 V -34 -26 V -38 -25 V -37 -25 V -37 -25 V -40 -24 V -25 -27 V -38 -25 V -42 -24 V -37 -25 V 106 4 V 42 -32 V 102 2 V 45 -30 V 80 17 V 51 1 V 60 -21 V 31 -38 V 59 -22 V 39 3 V 71 3 V 52 -26 V 117 10 V 74 18 V 85 17 V 102 2 V 88 -6 V 102 2 V 51 1 V 51 1 V 102 2 V 96 -2 V 70 3 V 33 0 V 87 -6 V 70 2 V 39 4 V 74 -14 V 102 2 V 30 -5 V 44 -9 V 92 15 V 46 7 V 95 -1 V 92 14 V 38 4 V 81 -10 V 51 6 V 66 4 V 91 -4 V 12 1 V 97 5 V 31 2 V 3691 2391 M -6 -31 V -43 -24 V -34 -26 V -39 -24 V -37 -25 V -42 -24 V -34 -26 V -38 -25 V -37 -25 V -37 -25 V -40 -24 V -25 -27 V -38 -25 V -42 -24 V -37 -25 V 106 4 V 42 -32 V 102 2 V 45 -30 V 80 17 V 51 1 V 60 -21 V 31 -38 V 59 -22 V 39 3 V 71 3 V 52 -26 V 117 10 V 74 19 V 85 16 V 102 2 V 88 -6 V 102 2 V 51 1 V 51 1 V 102 2 V 96 -2 V 70 3 V 33 0 V 87 -6 V 70 2 V 39 4 V 74 -14 V 102 2 V 30 -5 V 44 -9 V 92 15 V 46 7 V 95 -1 V 92 14 V 38 4 V 81 -10 V 51 6 V 66 4 V 91 -4 V 12 1 V 97 5 V 31 2 V LT7 7122 4220 M ( 0.3) Rshow 7206 4220 M 399 0 V 6212 3316 M -77 -7 V -39 -4 V -71 -2 V -70 -3 V -36 -2 V -87 -7 V -27 -1 V -103 -3 V -13 -1 V -108 -12 V -104 -3 V -29 -4 V -84 -4 V -45 -4 V -73 -7 V -39 -4 V -75 -5 V -46 -4 V -70 -6 V -66 0 V -36 -2 V -87 -7 V -29 -3 V -87 -7 V -29 -3 V -96 -6 V -16 -1 V -68 17 V -116 -10 V -117 -10 V -116 -11 V -60 22 V -88 6 V -79 -17 V -80 -17 V -116 -10 V -31 38 V -117 -10 V -98 -14 V -29 -3 V -106 -4 V -31 38 V 43 24 V -106 -4 V -48 1 V -79 -17 V -85 8 V -84 7 V -95 2 V 28 27 V 37 25 V 43 24 V 29 26 V 29 27 V 32 26 V 43 24 V 37 25 V 38 25 V 42 24 V 8 9 V -20 25 V 18 28 V 5 31 V 24 28 V 3 15 V -15 19 V 30 26 V -3 17 V 3 15 V 36 25 V 12 30 V 43 24 V 42 24 V 3 15 V 6212 1918 M -77 -7 V -39 -3 V -71 -3 V -70 -2 V -36 -2 V -87 -7 V -27 -2 V -103 -2 V -13 -2 V -108 -11 V -104 -3 V -29 -4 V -84 -5 V -45 -3 V -73 -8 V -39 -3 V -75 -5 V -46 -4 V -70 -6 V -66 -1 V -36 -1 V -87 -8 V -29 -2 V -87 -8 V -29 -2 V -96 -6 V -16 -1 V -68 16 V -116 -10 V -117 -10 V -116 -10 V -60 22 V -88 6 V -79 -17 V -80 -17 V -116 -10 V -31 37 V -117 -10 V -98 -13 V -29 -3 V -106 -4 V -31 38 V 43 24 V -106 -4 V -48 0 V -79 -17 V -85 8 V -84 8 V -95 2 V 28 27 V 37 25 V 43 24 V 29 26 V 29 27 V 32 25 V 43 24 V 37 25 V 38 25 V 42 24 V 8 9 V -20 26 V 18 28 V 5 31 V 24 27 V 3 16 V -15 19 V 30 26 V -3 17 V 3 15 V 36 25 V 12 30 V 43 24 V 42 24 V 3 15 V LT8 7122 4080 M ( 0.2) Rshow 7206 4080 M 399 0 V 6443 3073 M -93 -9 V -27 -1 V -87 -7 V -48 0 V -51 -1 V -65 -9 V -65 -9 V -51 -1 V -51 -1 V -78 -7 V -39 -3 V -102 -2 V -106 -4 V -35 -2 V -92 -14 V -102 -3 V -39 -3 V -78 -7 V -51 -1 V -51 -1 V -102 -2 V -116 -10 V -103 -2 V -51 -1 V -58 -5 V -58 -5 V -51 -1 V -102 -3 V -117 -10 V -95 2 V -58 -5 V -58 -5 V -95 2 V -110 -6 V -19 -2 V -92 -6 V -33 -2 V -84 -8 V -33 -3 V -83 -7 V -42 -1 V -62 -2 V -67 -6 V -50 -4 V -73 -5 V -39 -3 V -78 -7 V -36 -2 V -105 -3 V -36 7 V -80 -17 V -37 7 V -37 6 V -67 -19 V -70 -3 V -53 26 V -74 14 V 22 28 V 21 28 V 22 28 V 41 24 V 41 24 V 35 26 V -74 13 V -31 38 V -31 38 V 18 28 V 67 20 V -52 26 V 6443 1875 M -93 -8 V -27 -2 V -87 -7 V -48 1 V -51 -1 V -65 -9 V -65 -9 V -51 -1 V -51 -2 V -78 -6 V -39 -4 V -102 -2 V -106 -4 V -35 -1 V -92 -15 V -102 -2 V -39 -4 V -78 -6 V -51 -1 V -51 -1 V -102 -3 V -116 -10 V -103 -2 V -51 -1 V -58 -5 V -58 -5 V -51 -1 V -102 -2 V -117 -10 V -95 1 V -58 -5 V -58 -5 V -95 2 V -110 -6 V -19 -2 V -92 -5 V -33 -3 V -84 -7 V -33 -3 V -83 -7 V -42 -2 V -62 -2 V -67 -6 V -50 -4 V -73 -4 V -39 -4 V -78 -6 V -36 -3 V -105 -3 V -36 7 V -80 -17 V -37 7 V -37 7 V -67 -20 V -70 -2 V -53 25 V -74 14 V 22 28 V 21 28 V 22 28 V 41 24 V 41 24 V 35 26 V -74 14 V -31 37 V -31 38 V 18 29 V 67 19 V -52 26 V LT0 7122 3940 M ( 0.1) Rshow 7206 3940 M 399 0 V 6655 2833 M -70 -2 V -59 -6 V -58 -5 V -58 -5 V -58 -5 V -59 -5 V -58 -5 V -70 -3 V -39 -3 V -78 -7 V -38 -3 V -78 -7 V -35 -1 V -106 -4 V -116 -10 V -117 -11 V -116 -10 V -117 -10 V -116 -10 V -106 -4 V -29 -3 V -87 -7 V -48 1 V -58 -5 V -46 -8 V -78 -6 V -38 -4 V -71 -3 V -70 -2 V -46 -8 V -59 -5 V -51 -1 V -77 -7 V -39 -3 V -102 -2 V -117 -10 V -116 -10 V -102 -3 V -39 -3 V -78 -7 V -51 -1 V -79 -17 V -74 14 V -117 -10 V -116 -10 V -88 6 V -78 -7 V -45 -7 V -96 1 V -116 -10 V -95 2 V -95 2 V -74 14 V -116 -10 V -74 14 V -117 -11 V -73 14 V -74 14 V -74 14 V -31 38 V 6655 1835 M -70 -3 V -59 -5 V -58 -5 V -58 -5 V -58 -5 V -59 -5 V -58 -5 V -70 -3 V -39 -3 V -78 -7 V -38 -3 V -78 -7 V -35 -1 V -106 -4 V -116 -11 V -117 -10 V -116 -10 V -117 -10 V -116 -10 V -106 -4 V -29 -3 V -87 -7 V -48 1 V -58 -5 V -46 -8 V -78 -7 V -38 -3 V -71 -3 V -70 -2 V -46 -8 V -59 -5 V -51 -1 V -77 -7 V -39 -3 V -102 -2 V -117 -10 V -116 -10 V -102 -3 V -39 -3 V -78 -7 V -51 -1 V -79 -17 V -74 14 V -117 -10 V -116 -10 V -88 6 V -78 -7 V -45 -8 V -96 2 V -116 -10 V -95 2 V -95 2 V -74 14 V -116 -10 V -74 13 V -117 -10 V -73 14 V -74 14 V -74 14 V -31 38 V 1.000 UL LTb 6870 1827 M 4739 629 L 1049 1321 M 4739 629 L 1049 1321 M 3180 2518 L 6870 1827 M 3180 2518 L 1049 1321 M 0 2395 V 1.000 UL LTa 1049 1321 M 3180 2518 L 1.000 UL LTb 1049 1321 M 54 30 V 975 1252 M (0) Cshow 3180 2518 M -55 -31 V 1.000 UL LTa 1418 1252 M 3549 2449 L 1.000 UL LTb 1418 1252 M 54 30 V -128 -99 R (10) Cshow 3549 2449 M -55 -31 V 1.000 UL LTa 1787 1182 M 3918 2380 L 1.000 UL LTb 1787 1182 M 54 30 V -128 -99 R (20) Cshow 3918 2380 M -55 -31 V 1.000 UL LTa 2156 1113 M 4287 2311 L 1.000 UL LTb 2156 1113 M 54 30 V -128 -99 R (30) Cshow 4287 2311 M -55 -31 V 1.000 UL LTa 2525 1044 M 4656 2242 L 1.000 UL LTb 2525 1044 M 54 30 V 2451 975 M (40) Cshow 4656 2242 M -55 -31 V 1.000 UL LTa 2894 975 M 5025 2173 L 1.000 UL LTb 2894 975 M 54 30 V 2820 906 M (50) Cshow 5025 2173 M -55 -31 V 1.000 UL LTa 3263 906 M 5394 2103 L 1.000 UL LTb 3263 906 M 54 30 V 3189 837 M (60) Cshow 5394 2103 M -55 -31 V 1.000 UL LTa 3632 837 M 5763 2034 L 1.000 UL LTb 3632 837 M 54 30 V 3558 768 M (70) Cshow 5763 2034 M -55 -31 V 1.000 UL LTa 4001 767 M 6132 1965 L 1.000 UL LTb 4001 767 M 54 30 V 3927 698 M (80) Cshow 6132 1965 M -55 -31 V 1.000 UL LTa 4370 698 M 6501 1896 L 1.000 UL LTb 4370 698 M 54 30 V 4296 629 M (90) Cshow 6501 1896 M -55 -31 V 1.000 UL LTa 4739 629 M 6870 1827 L 1.000 UL LTb 4739 629 M 54 30 V 4665 560 M (100) Cshow 6870 1827 M -55 -31 V 2362 676 M (B) Cshow 1.000 UL LTa 4739 629 M 1049 1321 L 1.000 UL LTb 4739 629 M -62 11 V 144 -37 R (0) Lshow 1049 1321 M 61 -12 V 1.000 UL LTa 4952 749 M 1262 1440 L 1.000 UL LTb 4952 749 M -62 11 V 144 -37 R (10) Lshow 1262 1440 M 61 -12 V 1.000 UL LTa 5165 869 M 1475 1560 L 1.000 UL LTb 5165 869 M -62 11 V 144 -37 R (20) Lshow 1475 1560 M 61 -12 V 1.000 UL LTa 5378 988 M 1688 1680 L 1.000 UL LTb 5378 988 M -62 11 V 144 -37 R (30) Lshow 1688 1680 M 61 -12 V 1.000 UL LTa 5592 1108 M 1901 1800 L 1.000 UL LTb 5592 1108 M -62 11 V 144 -37 R (40) Lshow 1901 1800 M 61 -12 V 1.000 UL LTa 5805 1228 M 2114 1920 L 1.000 UL LTb 5805 1228 M -62 11 V 144 -37 R (50) Lshow 2114 1920 M 61 -12 V 1.000 UL LTa 6018 1348 M 2327 2039 L 1.000 UL LTb 6018 1348 M -62 11 V 144 -37 R (60) Lshow 2327 2039 M 61 -12 V 1.000 UL LTa 6231 1468 M 2541 2159 L 1.000 UL LTb 6231 1468 M -62 11 V 144 -37 R (70) Lshow 2541 2159 M 61 -12 V 1.000 UL LTa 6444 1587 M 2754 2279 L 1.000 UL LTb 6444 1587 M -62 11 V 144 -37 R (80) Lshow 2754 2279 M 61 -12 V 1.000 UL LTa 6657 1707 M 2967 2399 L 1.000 UL LTb 6657 1707 M -62 11 V 144 -37 R (90) Lshow 2967 2399 M 61 -12 V 1.000 UL LTa 6870 1827 M 3180 2518 L 1.000 UL LTb 6870 1827 M -62 11 V 144 -37 R (100) Lshow 3180 2518 M 61 -12 V 6727 1055 M (A) Cshow 1049 2119 M 63 0 V -189 0 R (0) Rshow 1049 2319 M 63 0 V -189 0 R (0.1) Rshow 1049 2518 M 63 0 V -189 0 R (0.2) Rshow 1049 2718 M 63 0 V -189 0 R (0.3) Rshow 1049 2918 M 63 0 V -189 0 R (0.4) Rshow 1049 3117 M 63 0 V -189 0 R (0.5) Rshow 1049 3317 M 63 0 V -189 0 R (0.6) Rshow 1049 3516 M 63 0 V -189 0 R (0.7) Rshow 1049 3716 M 63 0 V -189 0 R (0.8) Rshow stroke grestore end showpage %%EndDocument @endspecial 1107 2571 a Fp(Figure)31 b(8:)36 b FD(V)-7 b(arying)27 b(the)h(input)g(sizes)f(of)h(A)g(and)f(B)768 4965 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 2834 @rwi @setspecial %%BeginDocument: RatioFast2Kara.eps /gnudict 120 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /UL { gnulinewidth mul /userlinewidth exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def end gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 560 420 M 63 0 V 6409 0 R -63 0 V 476 420 M (1.4) Rshow 560 977 M 63 0 V 6409 0 R -63 0 V 476 977 M (1.5) Rshow 560 1533 M 63 0 V 6409 0 R -63 0 V -6493 0 R (1.6) Rshow 560 2090 M 63 0 V 6409 0 R -63 0 V -6493 0 R (1.7) Rshow 560 2646 M 63 0 V 6409 0 R -63 0 V -6493 0 R (1.8) Rshow 560 3203 M 63 0 V 6409 0 R -63 0 V -6493 0 R (1.9) Rshow 560 3759 M 63 0 V 6409 0 R -63 0 V -6493 0 R (2) Rshow 560 4316 M 63 0 V 6409 0 R -63 0 V -6493 0 R (2.1) Rshow 560 4872 M 63 0 V 6409 0 R -63 0 V -6493 0 R (2.2) Rshow 560 420 M 0 63 V 0 4389 R 0 -63 V 560 280 M (0) Cshow 1639 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (50) Cshow 2717 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (100) Cshow 3796 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (150) Cshow 4875 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (200) Cshow 5953 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (250) Cshow 7032 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (300) Cshow 1.000 UL LTb 560 420 M 6472 0 V 0 4452 V -6472 0 V 560 420 L 0 2646 M currentpoint gsave translate 90 rotate 0 0 M (Ratio) Cshow grestore 3796 140 M (Digits) Cshow 1.000 UL LT0 560 -7370 M 1.000 UL LT0 560 3759 M 6472 0 V -122 -33 R 122 33 V -122 32 V 3.000 UL LT2 560 3759 M 6472 0 V -122 -33 R 122 33 V -122 32 V 1.000 UP 1.000 UL LT0 6381 4739 M ("RA.dat") Rshow 6465 4739 M 399 0 V 733 976 M 43 696 V 43 -443 V 862 791 L 43 1229 V 43 -538 V 43 1309 V 44 -887 V 43 1316 V 43 -1548 V 43 1544 V 43 414 V 43 1097 V 43 -2763 V 44 470 V 43 79 V 43 909 V 43 -842 V 43 -58 V 43 381 V 44 -150 V 43 -420 V 43 267 V 43 239 V 43 202 V 43 718 V 43 0 V 44 422 V 43 373 V 43 -1864 V 43 101 V 43 303 V 43 -5 V 43 -310 V 44 100 V 43 265 V 43 168 V 43 -906 V 43 196 V 43 94 V 43 -62 V 44 221 V 43 198 V 43 21 V 43 260 V 43 -691 V 43 3 V 43 -46 V 44 479 V 43 -132 V 43 -167 V 43 398 V 43 -3 V 43 237 V 44 204 V 43 29 V 43 1 V 43 -39 V 43 263 V 43 164 V 43 -56 V 44 -1587 V 43 67 V 43 79 V 43 212 V 43 141 V 43 -1 V 43 -46 V 44 215 V 43 13 V 43 -45 V 43 172 V 43 -86 V 43 -24 V 43 388 V 44 -199 V 43 102 V 43 -844 V 43 431 V 43 -184 V 43 142 V 43 -66 V 44 148 V 43 -3 V 43 -41 V 43 257 V 43 -101 V 43 451 V 43 -441 V 44 204 V 43 46 V 43 -201 V 43 174 V 43 -549 V 43 215 V 44 -286 V 43 39 V 43 178 V 43 -6 V 43 134 V 43 -20 V 43 103 V 44 -56 V 43 135 V 43 33 V 43 2 V 43 -30 V 43 137 V 43 2 V 44 -165 V 43 96 V 43 26 V 43 67 V 43 -30 V 43 171 V 43 66 V 44 284 V 43 -310 V 43 191 V 43 -38 V 43 122 V 43 -61 V 43 60 V 44 41 V 43 7 V 43 -1723 V 43 253 V 43 168 V 43 16 V 44 196 V 43 10 V 43 -12 V 43 51 V 733 976 Pls 776 1672 Pls 819 1229 Pls 862 791 Pls 905 2020 Pls 948 1482 Pls 991 2791 Pls 1035 1904 Pls 1078 3220 Pls 1121 1672 Pls 1164 3216 Pls 1207 3630 Pls 1250 4727 Pls 1293 1964 Pls 1337 2434 Pls 1380 2513 Pls 1423 3422 Pls 1466 2580 Pls 1509 2522 Pls 1552 2903 Pls 1596 2753 Pls 1639 2333 Pls 1682 2600 Pls 1725 2839 Pls 1768 3041 Pls 1811 3759 Pls 1854 3759 Pls 1898 4181 Pls 1941 4554 Pls 1984 2690 Pls 2027 2791 Pls 2070 3094 Pls 2113 3089 Pls 2156 2779 Pls 2200 2879 Pls 2243 3144 Pls 2286 3312 Pls 2329 2406 Pls 2372 2602 Pls 2415 2696 Pls 2458 2634 Pls 2502 2855 Pls 2545 3053 Pls 2588 3074 Pls 2631 3334 Pls 2674 2643 Pls 2717 2646 Pls 2760 2600 Pls 2804 3079 Pls 2847 2947 Pls 2890 2780 Pls 2933 3178 Pls 2976 3175 Pls 3019 3412 Pls 3063 3616 Pls 3106 3645 Pls 3149 3646 Pls 3192 3607 Pls 3235 3870 Pls 3278 4034 Pls 3321 3978 Pls 3365 2391 Pls 3408 2458 Pls 3451 2537 Pls 3494 2749 Pls 3537 2890 Pls 3580 2889 Pls 3623 2843 Pls 3667 3058 Pls 3710 3071 Pls 3753 3026 Pls 3796 3198 Pls 3839 3112 Pls 3882 3088 Pls 3925 3476 Pls 3969 3277 Pls 4012 3379 Pls 4055 2535 Pls 4098 2966 Pls 4141 2782 Pls 4184 2924 Pls 4227 2858 Pls 4271 3006 Pls 4314 3003 Pls 4357 2962 Pls 4400 3219 Pls 4443 3118 Pls 4486 3569 Pls 4529 3128 Pls 4573 3332 Pls 4616 3378 Pls 4659 3177 Pls 4702 3351 Pls 4745 2802 Pls 4788 3017 Pls 4832 2731 Pls 4875 2770 Pls 4918 2948 Pls 4961 2942 Pls 5004 3076 Pls 5047 3056 Pls 5090 3159 Pls 5134 3103 Pls 5177 3238 Pls 5220 3271 Pls 5263 3273 Pls 5306 3243 Pls 5349 3380 Pls 5392 3382 Pls 5436 3217 Pls 5479 3313 Pls 5522 3339 Pls 5565 3406 Pls 5608 3376 Pls 5651 3547 Pls 5694 3613 Pls 5738 3897 Pls 5781 3587 Pls 5824 3778 Pls 5867 3740 Pls 5910 3862 Pls 5953 3801 Pls 5996 3861 Pls 6040 3902 Pls 6083 3909 Pls 6126 2186 Pls 6169 2439 Pls 6212 2607 Pls 6255 2623 Pls 6299 2819 Pls 6342 2829 Pls 6385 2817 Pls 6428 2868 Pls 6664 4739 Pls stroke grestore end showpage %%EndDocument @endspecial 455 5247 a Fp(Figure)k(9:)36 b FD(The)28 b(ratio)f(b)r(et)n(w)n(een)g(F)-7 b(astDiv)28 b(and)f(Karatsuba)f(m)n (ultiplication)i(is)f(less)g(than)h(2)1903 5841 y FB(24)p eop %%Page: 25 29 25 28 bop 768 2289 a @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 2834 @rwi @setspecial %%BeginDocument: allsmall.eps /gnudict 120 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /UL { gnulinewidth mul /userlinewidth exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def end gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 252 280 M 63 0 V 6717 0 R -63 0 V 168 280 M (0) Rshow 252 1045 M 63 0 V 6717 0 R -63 0 V -6801 0 R (1) Rshow 252 1811 M 63 0 V 6717 0 R -63 0 V -6801 0 R (2) Rshow 252 2576 M 63 0 V 6717 0 R -63 0 V -6801 0 R (3) Rshow 252 3341 M 63 0 V 6717 0 R -63 0 V -6801 0 R (4) Rshow 252 4107 M 63 0 V 6717 0 R -63 0 V -6801 0 R (5) Rshow 252 4872 M 63 0 V 6717 0 R -63 0 V -6801 0 R (6) Rshow 252 280 M 0 63 V 0 4529 R 0 -63 V 252 140 M (0) Cshow 1382 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (20) Cshow 2512 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (40) Cshow 3642 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (60) Cshow 4772 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (80) Cshow 5902 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (100) Cshow 7032 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (120) Cshow 1.000 UL LTb 252 280 M 6780 0 V 0 4592 V -6780 0 V 252 280 L 1.000 UP 1.000 UL LT0 1176 4739 M ("LIP.dat") Rshow 1260 4739 M 399 0 V 704 302 M 113 13 V 113 9 V 113 12 V 113 11 V 226 29 V 226 44 V 226 47 V 226 48 V 452 126 V 452 147 V 452 142 V 452 211 V 904 479 V 904 653 V 904 575 V 452 376 V 704 302 Pls 817 315 Pls 930 324 Pls 1043 336 Pls 1156 347 Pls 1382 376 Pls 1608 420 Pls 1834 467 Pls 2060 515 Pls 2512 641 Pls 2964 788 Pls 3416 930 Pls 3868 1141 Pls 4772 1620 Pls 5676 2273 Pls 6580 2848 Pls 1459 4739 Pls 1.000 UP 1.000 UL LT1 1176 4599 M (CLN) Rshow 1260 4599 M 399 0 V 704 314 M 113 9 V 113 8 V 113 14 V 113 12 V 226 25 V 226 34 V 226 31 V 226 45 V 452 91 V 452 113 V 452 145 V 452 154 V 904 356 V 904 442 V 904 513 V 452 281 V 704 314 Crs 817 323 Crs 930 331 Crs 1043 345 Crs 1156 357 Crs 1382 382 Crs 1608 416 Crs 1834 447 Crs 2060 492 Crs 2512 583 Crs 2964 696 Crs 3416 841 Crs 3868 995 Crs 4772 1351 Crs 5676 1793 Crs 6580 2306 Crs 1459 4599 Crs 1.000 UP 1.000 UL LT2 1176 4459 M (FastDiv) Rshow 1260 4459 M 399 0 V 704 321 M 113 10 V 113 12 V 113 12 V 113 15 V 226 35 V 226 44 V 226 39 V 226 50 V 452 111 V 452 142 V 452 139 V 452 204 V 904 295 V 904 360 V 904 496 V 452 166 V 704 321 Star 817 331 Star 930 343 Star 1043 355 Star 1156 370 Star 1382 405 Star 1608 449 Star 1834 488 Star 2060 538 Star 2512 649 Star 2964 791 Star 3416 930 Star 3868 1134 Star 4772 1429 Star 5676 1789 Star 6580 2285 Star 1459 4459 Star 1.000 UP 1.000 UL LT3 1176 4319 M ("libI.dat") Rshow 1260 4319 M 399 0 V 704 314 M 113 13 V 113 18 V 113 20 V 113 24 V 226 52 V 226 67 V 226 72 V 226 88 V 452 202 V 452 255 V 452 292 V 452 328 V 904 821 V 904 985 V 904 1132 V 125 189 V 704 314 Box 817 327 Box 930 345 Box 1043 365 Box 1156 389 Box 1382 441 Box 1608 508 Box 1834 580 Box 2060 668 Box 2512 870 Box 2964 1125 Box 3416 1417 Box 3868 1745 Box 4772 2566 Box 5676 3551 Box 6580 4683 Box 1459 4319 Box stroke grestore end showpage %%EndDocument @endspecial 643 2572 a Fp(Figure)32 b(10:)k FD(Comparing)26 b(F)-7 b(astDivision)27 b(to)h(other)f(pac)n(k)-5 b(ages)25 b(in)j(a)f(small)h(range)768 4965 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 2834 @rwi @setspecial %%BeginDocument: allbig.eps /gnudict 120 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /UL { gnulinewidth mul /userlinewidth exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def end gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 420 280 M 63 0 V 6549 0 R -63 0 V 336 280 M (0) Rshow 420 854 M 63 0 V 6549 0 R -63 0 V 336 854 M (50) Rshow 420 1428 M 63 0 V 6549 0 R -63 0 V -6633 0 R (100) Rshow 420 2002 M 63 0 V 6549 0 R -63 0 V -6633 0 R (150) Rshow 420 2576 M 63 0 V 6549 0 R -63 0 V -6633 0 R (200) Rshow 420 3150 M 63 0 V 6549 0 R -63 0 V -6633 0 R (250) Rshow 420 3724 M 63 0 V 6549 0 R -63 0 V -6633 0 R (300) Rshow 420 4298 M 63 0 V 6549 0 R -63 0 V -6633 0 R (350) Rshow 420 4872 M 63 0 V 6549 0 R -63 0 V -6633 0 R (400) Rshow 420 280 M 0 63 V 0 4529 R 0 -63 V 420 140 M (100) Cshow 1155 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (200) Cshow 1889 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (300) Cshow 2624 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (400) Cshow 3359 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (500) Cshow 4093 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (600) Cshow 4828 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (700) Cshow 5563 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (800) Cshow 6297 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (900) Cshow 7032 280 M 0 63 V 0 4529 R 0 -63 V 0 -4669 R (1000) Cshow 1.000 UL LTb 420 280 M 6612 0 V 0 4592 V -6612 0 V 420 280 L 1.000 UP 1.000 UL LT0 1092 4739 M (LIP) Rshow 1176 4739 M 399 0 V 420 312 M 88 7 V 118 11 V 235 29 V 235 32 V 235 38 V 235 49 V 470 106 V 470 136 V 471 161 V 470 176 V 940 499 V 941 473 V 940 631 V 764 684 V 508 319 Pls 626 330 Pls 861 359 Pls 1096 391 Pls 1331 429 Pls 1566 478 Pls 2036 584 Pls 2506 720 Pls 2977 881 Pls 3447 1057 Pls 4387 1556 Pls 5328 2029 Pls 6268 2660 Pls 1375 4739 Pls 1.000 UP 1.000 UL LT1 1092 4599 M (CLN) Rshow 1176 4599 M 399 0 V 420 305 M 88 5 V 118 9 V 235 21 V 235 25 V 235 29 V 235 38 V 470 78 V 470 113 V 471 102 V 470 136 V 940 282 V 941 300 V 940 361 V 764 236 V 508 310 Crs 626 319 Crs 861 340 Crs 1096 365 Crs 1331 394 Crs 1566 432 Crs 2036 510 Crs 2506 623 Crs 2977 725 Crs 3447 861 Crs 4387 1143 Crs 5328 1443 Crs 6268 1804 Crs 1375 4599 Crs 1.000 UP 1.000 UL LT2 1092 4459 M (FastDiv) Rshow 1176 4459 M 399 0 V 420 304 M 88 6 V 118 5 V 235 16 V 235 19 V 235 21 V 235 15 V 470 53 V 470 50 V 471 68 V 470 41 V 940 145 V 941 163 V 940 237 V 764 89 V 508 310 Star 626 315 Star 861 331 Star 1096 350 Star 1331 371 Star 1566 386 Star 2036 439 Star 2506 489 Star 2977 557 Star 3447 598 Star 4387 743 Star 5328 906 Star 6268 1143 Star 1375 4459 Star 1.000 UP 1.000 UL LT3 1092 4319 M (libI) Rshow 1176 4319 M 399 0 V 420 333 M 88 13 V 118 21 V 235 48 V 235 59 V 235 67 V 235 84 V 470 186 V 470 257 V 471 285 V 470 295 V 940 747 V 941 1039 V 940 1202 V 204 236 V 508 346 Box 626 367 Box 861 415 Box 1096 474 Box 1331 541 Box 1566 625 Box 2036 811 Box 2506 1068 Box 2977 1353 Box 3447 1648 Box 4387 2395 Box 5328 3434 Box 6268 4636 Box 1375 4319 Box stroke grestore end showpage %%EndDocument @endspecial 683 5248 a Fp(Figure)j(11:)36 b FD(Comparing)26 b(F)-7 b(astDivision)28 b(to)f(other)g(pac)n(k)-5 b(ages)26 b(in)i(a)f(big)g(range)1903 5841 y FB(25)p eop %%Page: 26 30 26 29 bop 118 399 a FB(and)33 b(the)h(pair)e(\()p FA(e;)15 b(m)p FB(\))35 b(is)e(the)h Fw(key)p FB(.)50 b(The)33 b(basis)g(of)h(these)g Fw(mo)-5 b(dular)38 b(exp)-5 b(onentiation)43 b FB(algorithms)33 b(is)f(the)118 511 y(computation)e(of)h(the)g (expression)e FA(x)20 b Fv(\001)g FA(y)28 b Fw(mo)-5 b(d)37 b FA(m)p FB(,)30 b(where)g FA(x)p FB(,)g FA(y)s FB(,)h(and)f FA(m)g FB(are)g FA(n)p FB(-digit)f(n)m(um)m(b)s(ers.)259 624 y(There)k(are)h(three)g(metho)s(ds)e(in)h(use)g(for)g(this)f Fw(mo)-5 b(dular)38 b(multiplic)-5 b(ation)p FB(,)37 b(ordinary)32 b(sc)m(ho)s(ol)h(metho)s(d)118 737 y(\(whic)m(h)k(m)m (ultiplies)d FA(x)j FB(and)g FA(y)k FB(as)d(in)m(tegers)f(and)g(p)s (erforms)f(an)i(in)m(teger)g(division)c(afterw)m(ards\),)40 b(Mon)m(t-)118 850 y(gomery)d(m)m(ultiplication,)d(and)h(Barrett)i (reduction)e(\(see)i([8])f(and)g(section)g(4\).)57 b(They)36 b(all)e(need)i FA(O)s FB(\()p FA(n)3705 817 y Fy(2)3744 850 y FB(\))118 963 y(op)s(erations)h(on)h(single)f(digits)f(and)h(p)s (erform)g(equally)g(w)m(ell)f(in)h(concrete)i(implemen)m(tations)e ([8].)64 b(The)118 1076 y(exact)38 b(n)m(um)m(b)s(ers)d(of)i(steps)f (of)h(the)g(sc)m(ho)s(ol)f(metho)s(d)g(is)g(2)p FA(n)2168 1043 y Fy(2)2231 1076 y FB(+)24 b FA(O)s FB(\()p FA(n)p FB(\).)60 b(It)36 b(is)g(easy)h(to)g(write)f(a)h(function)118 1189 y Fx(FastModMult)21 b FB(that)j(p)s(erforms)e(this)h(task)h (asymptotically)g(faster)g(b)m(y)f(computing)g FA(x)7 b Fv(\001)g FA(y)27 b FB(with)c(Karatsuba)118 1302 y(m)m(ultiplication) k(and)j(reducing)f(mo)s(dulo)g FA(m)h FB(b)m(y)g Fx(FastDivision)d FB(afterw)m(ards.)118 1489 y FC(Theorem)34 b(3.)46 b Fw(The)41 b(expr)-5 b(ession)42 b FA(x)26 b Fv(\001)h FA(y)43 b Fw(mo)-5 b(d)51 b FA(m)40 b Fw(wher)-5 b(e)42 b FA(x)p Fw(,)h FA(y)s Fw(,)g(and)e FA(m)g Fw(ar)-5 b(e)42 b FA(n)p Fw(-digit)e(numb)-5 b(ers)41 b(c)-5 b(an)42 b(b)-5 b(e)118 1602 y(c)g(ompute)g(d)35 b(in)d FB(3)p FA(K)7 b FB(\()p FA(n)p FB(\))21 b(+)f FA(O)s FB(\()p FA(n)15 b FB(log)h FA(n)p FB(\))33 b Fw(steps.)259 1790 y FB(Figure)d(12)i(sho)m(ws)e(exp)s(erimen)m(tal)g(running)d(times)k (measured)f(with)f(p)s(ortable)h(C/C++)f(co)s(de.)42 b(The)118 1903 y(break-ev)m(en)c(p)s(oin)m(t)d(is)h(ab)s(out)g(30)h (digits)e(or)i(960)h(bits,)f(so)g(w)m(e)g(are)g(w)m(ell)e(in)g(the)i (cryptographic)f(range.)118 2016 y(This)28 b(can)h(b)s(e)g(used)f(to)i (substan)m(tially)e(sp)s(eedup)f(public)g(k)m(ey)j(cryptosystems)f(in)f (the)i(near)f(future)f(when)118 2129 y(secure)j(cryptosystems)f(are)h (assumed)f(to)h(ha)m(v)m(e)g(1024)i(bits)c(as)h(their)g(minimal)d(k)m (ey)32 b(length.)768 3900 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 2834 @rwi @setspecial %%BeginDocument: ModMult.eps /gnudict 120 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /UL { gnulinewidth mul /userlinewidth exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def end gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 728 420 M 31 0 V 6273 0 R -31 0 V 644 420 M (0) Rshow 728 1056 M 31 0 V 6273 0 R -31 0 V -6357 0 R (0.002) Rshow 728 1692 M 31 0 V 6273 0 R -31 0 V -6357 0 R (0.004) Rshow 728 2328 M 31 0 V 6273 0 R -31 0 V -6357 0 R (0.006) Rshow 728 2964 M 31 0 V 6273 0 R -31 0 V -6357 0 R (0.008) Rshow 728 3600 M 31 0 V 6273 0 R -31 0 V -6357 0 R (0.01) Rshow 728 4236 M 31 0 V 6273 0 R -31 0 V -6357 0 R (0.012) Rshow 728 4872 M 31 0 V 6273 0 R -31 0 V -6357 0 R (0.014) Rshow 728 420 M 0 31 V 0 4421 R 0 -31 V 728 280 M (0) Cshow 1043 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (10) Cshow 1358 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (20) Cshow 1674 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (30) Cshow 1989 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (40) Cshow 2304 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (50) Cshow 2619 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (60) Cshow 2934 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (70) Cshow 3250 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (80) Cshow 3565 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (90) Cshow 3880 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (100) Cshow 4195 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (110) Cshow 4510 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (120) Cshow 4826 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (130) Cshow 5141 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (140) Cshow 5456 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (150) Cshow 5771 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (160) Cshow 6086 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (170) Cshow 6402 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (180) Cshow 6717 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (190) Cshow 7032 420 M 0 31 V 0 4421 R 0 -31 V 0 -4561 R (200) Cshow 1.000 UL LTb 728 420 M 6304 0 V 0 4452 V -6304 0 V 728 420 L 0 2646 M currentpoint gsave translate 90 rotate 0 0 M (secs per iteration) Cshow grestore 3880 140 M (number length) Cshow 1.000 UP 1.000 UL LT0 1316 4739 M (School) Rshow 980 439 Pls 1043 445 Pls 1106 453 Pls 1169 459 Pls 1232 468 Pls 1295 479 Pls 1358 490 Pls 1421 499 Pls 1484 515 Pls 1548 527 Pls 1611 544 Pls 1674 558 Pls 1737 576 Pls 1863 623 Pls 1989 663 Pls 2115 703 Pls 2241 752 Pls 2367 801 Pls 2493 861 Pls 2619 921 Pls 2745 987 Pls 2997 1108 Pls 3250 1236 Pls 3502 1400 Pls 3754 1563 Pls 4006 1735 Pls 4258 1915 Pls 4510 2165 Pls 4763 2328 Pls 5267 2773 Pls 5771 3264 Pls 6276 3833 Pls 6780 4453 Pls 1599 4739 Pls 1.000 UP 1.000 UL LT1 1316 4599 M (Fast) Rshow 980 438 Crs 1043 445 Crs 1106 451 Crs 1169 460 Crs 1232 468 Crs 1295 479 Crs 1358 490 Crs 1421 502 Crs 1484 514 Crs 1548 525 Crs 1611 539 Crs 1674 552 Crs 1737 563 Crs 1863 597 Crs 1989 629 Crs 2115 666 Crs 2241 709 Crs 2367 746 Crs 2493 795 Crs 2619 846 Crs 2745 878 Crs 2997 953 Crs 3250 1056 Crs 3502 1176 Crs 3754 1288 Crs 4006 1408 Crs 4258 1546 Crs 4510 1709 Crs 4763 1735 Crs 5267 2049 Crs 5771 2333 Crs 6276 2695 Crs 6780 3057 Crs 1599 4599 Crs stroke grestore end showpage %%EndDocument @endspecial 356 4182 a Fp(Figure)f(12:)36 b FD(Comparing)26 b(sc)n(ho)r(ol)h(mo)r(dular)g(m)n(ultiplication)g(with)h(fast)g(mo)r (dular)f(m)n(ultiplication)118 4566 y Fz(6)135 b(Conclusion)118 4769 y FB(W)-8 b(e)25 b(ha)m(v)m(e)g(presen)m(ted)f(a)h(new)e(recursiv) m(e)g(division)e(algorithm)i(that)i(tak)m(es)g(the)f(time)g(of)g(ab)s (out)f(t)m(w)m(o)j(Karat-)118 4882 y(suba)d(m)m(ultiplications.)35 b(It)23 b(is)g(clearly)f(sup)s(erior)g(in)g(practice)h(to)h(all)f (other)g(kno)m(wn)g(metho)s(ds)g(for)g(n)m(um)m(b)s(ers)118 4995 y(with)i(reasonable)g(length.)39 b(The)25 b(algorithm)g(has)h (already)f(b)s(een)g(implemen)m(ted)g(and)g(p)s(erforms)f(v)m(ery)i(w)m (ell)118 5108 y(in)36 b(practice.)60 b(It)37 b(can)g(b)s(e)f(used)g(to) i(signi\014can)m(tly)d(sp)s(eed)h(up)g(the)h(time)f(for)h(mo)s(dular)e (exp)s(onen)m(tiation,)118 5221 y(whic)m(h)h(is)g(the)i(most)f(imp)s (ortan)m(t)g(op)s(eration)f(in)g(curren)m(t)h(crypto-systems.)62 b(W)-8 b(e)39 b(ha)m(v)m(e)f(sho)m(wn)f(further)118 5334 y(that)e(it)f(is)f(p)s(ossible)f(to)j(sa)m(v)m(e)g(the)g(time)f(of)g (half)f(a)i(Karatsuba)f(m)m(ultiplication)d(on)j(the)g(a)m(v)m(erage)j (if)c(the)118 5447 y(computation)d(of)h(the)g(division)c(remainder)i (is)g(not)i(required.)1903 5841 y(26)p eop %%Page: 27 31 27 30 bop 118 399 a Fz(References)164 601 y FB([1])46 b(P)-8 b(.D.)41 b(Barrett.)69 b(Implemen)m(ting)38 b(the)h(Riv)m(est,)k (Shamir,)d(and)f(Adleman)f(public)f(k)m(ey)k(encryption)305 714 y(algorithm)j(on)h(a)h(standard)e(digital)g(signal)g(pro)s(cessor.) 85 b(In)44 b Fw(A)-5 b(dvanc)g(es)47 b(in)f(Cryptolo)-5 b(gy,)53 b(Pr)-5 b(o)g(c.)305 827 y(Crypto)34 b(86,)f(LNCS)g(263)p FB(,)f(pages)f(311{323.)164 1015 y([2])46 b(C.)28 b(Burnik)m(el,)g(R.)g (Fleisc)m(her,)h(K.)f(Mehlhorn,)g(and)g(S.)g(Sc)m(hirra.)36 b(A)29 b(strong)f(and)g(easily)g(computable)305 1128 y(separation)34 b(b)s(ound)f(for)h(arithmetic)g(expressions)f(in)m(v)m (olving)g(square)i(ro)s(ots.)53 b Fw(Pr)-5 b(o)g(c)g(e)g(e)g(dings)38 b(of)f(the)305 1241 y(8th)d(A)n(CM-SIAM)c(Symp)-5 b(osium)34 b(on)f(Discr)-5 b(ete)33 b(A)n(lgorithms)p FB(,)f(1997.)164 1428 y([3])46 b(A.J.)28 b(Menezes,)i(P)-8 b(.C.)28 b(v.)h(Oorsc)m(hot,) g(and)e(S.A.)h(V)-8 b(anstone.)38 b Fw(Handb)-5 b(o)g(ok)32 b(of)f(Applie)-5 b(d)31 b(Crypto)-5 b(gr)g(aphy)p FB(.)305 1541 y(CR)m(C)30 b(Press,)g(1996.)164 1729 y([4])46 b(T.)34 b(Jeb)s(elean.)50 b(Practical)34 b(in)m(teger)h(division)c(with)i (Karatsuba)g(complexit)m(y)-8 b(.)52 b(In)33 b Fw(Pr)-5 b(o)g(c.)37 b(Symp.)g(on)305 1842 y(Symb)-5 b(olic)34 b(and)f(A)n(lgebr)-5 b(aic)33 b(Computation,)h(ISSA)n(C)p FB(,)d(pages)f(339{341,)k(1997.)164 2029 y([5])46 b(D.)31 b(Kn)m(uth:)40 b(The)30 b(Art)g(Of)g(Computer)f(Programming,)h(V)-8 b(ol.)31 b(2,)g(3rd)f(Edition,)f(Section)h(4.3)164 2217 y([6])46 b(W.)40 b(Krandic)m(k)f(and)g(J.R.)h(Johnson.)68 b(E\016cien)m(t)40 b(m)m(ultiprecision)d(\015oating)j(p)s(oin)m(t)e(m)m (ultiplication)305 2330 y(with)33 b(exact)i(rounding.)49 b(T)-8 b(ec)m(hnical)34 b(Rep)s(ort)f(93-76,)k(RISC-Linz,)d(Johannes)f (Kepler)g(Univ)m(ersit)m(y)-8 b(,)305 2443 y(1993.)164 2630 y([7])46 b(K.)30 b(Mehlhorn,)f(S.)h(N\177)-45 b(aher:)41 b(LED)m(A,)32 b(A)e(Platform)g(for)g(Com)m(binatorial)f(and)h (Geometric)h(Comput-)305 2743 y(ing,)f(Cam)m(bridge)f(Univ)m(ersit)m(y) h(Press,)g(1998)164 2931 y([8])46 b(A.)g(Bosselaers,)j(R.)d(Go)m(v)-5 b(aerts,)50 b(J.)c(V)-8 b(andew)m(alle:)70 b(Comparison)44 b(of)h(three)g(mo)s(dular)f(reduction)305 3044 y(functions,)29 b(Adv)-5 b(ances)31 b(in)e(Cryptology{Crypto)h(96)h(\(LNCS)f(1109\),)j (298{3123,)h(1996)164 3232 y([9])46 b(C.)31 b(Burnik)m(el,)f(S.)h (N\177)-45 b(aher,)32 b(C.)f(Uhrig,)f(J.)h(Ziegler:)42 b(The)30 b(design)h(and)f(implemen)m(tation)g(of)h(an)g(arbi-)305 3344 y(trary)c(precision)e(in)m(teger)j(library)-8 b(,)26 b(T)-8 b(ec)m(hnical)27 b(Rep)s(ort,)g(to)h(app)s(ear.)f(Draft)h(v)m (ersion)e(a)m(v)-5 b(ailable)27 b(from)305 3457 y Fx (http://www.mpi-sb.mpg.de)o(/~zi)o(egle)o(r/b)o(igin)o(t.ps)118 3645 y FB([10])47 b(A.)38 b(Karatsuba,)j(Y)-8 b(u.)38 b(Ofman:)55 b(Multiplication)36 b(of)i(m)m(ultidigit)d(n)m(um)m(b)s (ers)i(on)h(automata,)k(So)m(viet)305 3758 y(Ph)m(ysics)29 b({)i(Doklady)-8 b(,)31 b(7)g(\(1963\),)i(595-596)118 3946 y([11])47 b(R.)30 b(Den)m(tzer:)83 b(libI:)29 b(Eine)g(lange)h (ganzzahlige)h(Arithmetik,)e(Univ)m(ersit\177)-45 b(at)30 b(Heidelb)s(erg)f(1991)118 4133 y([12])47 b(B.)j(Haible:)78 b(CLN,)49 b(a)g(class)h(library)c(for)k(n)m(um)m(b)s(ers.)e(Av)-5 b(ailable)48 b(via)h(anon)m(ymous)g(FTP)g(from)305 4246 y Fx(ftp://ftp.santafe.edu/pu)o(b/gn)o(u/cl)o(n.t)o(ar.g)o(z)24 b FB(\(1996\))118 4434 y([13])47 b(A.)31 b(Lenstra:)40 b(lip:)f(long)30 b(in)m(teger)h(pac)m(k)-5 b(age,)32 b(Bellcore)f(1989)118 4621 y([14])47 b(Th.)d(P)m(apanik)m(olaou:)70 b(En)m(t)m(wurf)44 b(und)f(En)m(t)m(wic)m(klung)h(einer)g(ob)5 b(jektorien)m(tierten)45 b(Bibliothek)e(f)s(\177)-48 b(ur)305 4734 y(algorithmisc)m(he)29 b(Zahlen)m(theorie,)h(PhD)g (Thesis,)f(Univ)m(ersit\177)-45 b(at)30 b(des)g(Saarlandes,)g(1997)118 4922 y([15])47 b(I.)35 b(Biehl,)h(J.)f(Buc)m(hmann,)i(Th.)e(P)m(apanik) m(olaou,)i(LiDIA:)e(a)g(library)f(for)h(computational)g(n)m(um)m(b)s (er)305 5035 y(theory,)c(Univ)m(ersit\177)-45 b(at)30 b(des)g(Saarlandes,)f(SFB)i(124)h(rep)s(ort,)e(1995)1903 5841 y(27)p eop %%Page: 28 32 28 31 bop 0 630 1386 4 v 2285 202 100 7 v 2382 531 7 333 v 2285 534 100 7 v 2282 531 7 333 v 1692 202 a FI(\037)p 1692 531 7 200 v(\034)p 1958 531 V 2008 531 7 333 v 12 w(\020)p 2236 307 7 25 v 2236 393 a(\021)p 2011 393 146 7 v 2011 202 V 1427 202 a(\037)p 1427 531 7 200 v -1 w(\034)p 1692 531 V 2335 132 a(k)1413 620 y Fc(I)42 b(N)f(F)g(O)h(R)f (M)h(A)f(T)g(I)g(K)p 2429 630 1386 4 v 0 830 a FD(Belo)n(w)23 b(y)n(ou)h(\014nd)h(a)f(list)h(of)f(the)h(most)f(recen)n(t)g(tec)n (hnical)g(rep)r(orts)f(of)i(the)g(Max-Planc)n(k-Institut)d(f)r(\177)-44 b(ur)25 b(Informatik.)35 b(They)0 929 y(are)20 b(a)n(v)-5 b(ailable)19 b(b)n(y)i(anon)n(ymous)e(ftp)j(from)f Fb(ftp.mpi-sb.mpg.)o (de)14 b FD(under)21 b(the)g(directory)f Fb(pub/papers/repor)o(ts)p FD(.)28 b(Most)0 1029 y(of)d(the)g(rep)r(orts)g(are)f(also)g (accessible)g(via)g(WWW)i(using)f(the)h(URL)f Fb(http://www.mpi-s)o(b.) o(mpg)o(.d)o(e)p FD(.)30 b(If)c(y)n(ou)e(ha)n(v)n(e)g(an)n(y)0 1129 y(questions)k(concerning)f(ftp)i(or)f(WWW)h(access,)e(please)h (con)n(tact)g Fb(reports@mpi-sb.)o(mpg)o(.d)o(e)p FD(.)33 b(P)n(ap)r(er)27 b(copies)h(\(whic)n(h)0 1228 y(are)c(not)h (necessarily)e(free)i(of)f(c)n(harge\))g(can)g(b)r(e)h(ordered)f (either)h(b)n(y)f(regular)f(mail)i(or)f(b)n(y)g(e-mail)h(at)g(the)g (address)e(b)r(elo)n(w.)556 1421 y(Max-Planc)n(k-Institut)j(f)r(\177) -44 b(ur)28 b(Informatik)556 1521 y(Library)556 1621 y(attn.)37 b(Birgit)27 b(Hofmann)556 1720 y(Im)h(Stadt)n(w)n(ald)556 1820 y(D-66123)e(Saarbr)r(\177)-44 b(uc)n(k)n(en)556 1920 y(GERMANY)556 2019 y(e-mail:)37 b Fb(library@mpi-sb.)o(mpg)o(.d)o (e)p 0 2179 3815 4 v 0 2329 a Fy(MPI-I-98-2-017)169 b(M.)23 b(Tzak)n(o)n(v)l(a,)i(P)-6 b(.)23 b(Blac)n(kburn)634 b(Hybridizing)23 b(Concept)i(Languages)0 2441 y(MPI-I-98-2-012)169 b(G.)23 b(Delzanno,)i(A.)e(P)n(o)r(delski)660 b(Mo)r(del)23 b(Chec)n(king)i(In\014nite-state)h(Systems)d(in)h(CLP)0 2552 y(MPI-I-98-2-011)169 b(A.)23 b(Degt)n(y)n(arev,)i(A.)e(V)-6 b(oronk)n(o)n(v)604 b(Equalit)n(y)24 b(Reasoning)g(in)g(Sequen)n (t-Based)i(Calculi)0 2664 y(MPI-I-98-2-010)169 b(S.)23 b(Ramangalah)n(y)939 b(Strategies)25 b(for)d(Conformance)i(T)-6 b(esting)0 2776 y(MPI-I-98-2-009)169 b(S.)23 b(V)-6 b(orob)n(y)n(o)n(v) 1072 b(The)24 b(Undecidabilit)n(y)g(of)g(the)g(First-Order)e(Theories)i (of)f(One)2079 2854 y(Step)h(Rewriting)g(in)f(Linear)h(Canonical)g (Systems)0 2966 y(MPI-I-98-2-008)169 b(S.)23 b(V)-6 b(orob)n(y)n(o)n(v) 1072 b(AE-Equational)24 b(theory)g(of)g(con)n(text)i(uni\014cation)f (is)2079 3045 y(Co-RE-Hard)0 3160 y(MPI-I-98-2-007)169 b(S.)23 b(V)-6 b(orob)n(y)n(o)n(v)1072 b(The)24 b(Most)g(Nonelemen)n (tary)g(Theory)g(\(A)g(Direct)f(Lo)n(w)n(er)2079 3239 y(Bound)h(Pro)r(of)5 b(\))0 3351 y(MPI-I-98-2-006)169 b(P)-6 b(.)23 b(Blac)n(kburn,)h(M.)f(Tzak)n(o)n(v)l(a)635 b(Hybrid)23 b(Languages)i(and)f(T)-6 b(emp)r(oral)23 b(Logic)0 3462 y(MPI-I-98-2-005)169 b(M.)23 b(V)-6 b(eanes)1122 b(The)24 b(Relation)g(Bet)n(w)n(een)h(Second-Order)f(Uni\014cation)h (and)2079 3541 y(Sim)n(ultaneous)e(Rigid)g Fa(E)p Fy(-Uni\014cation)0 3653 y(MPI-I-98-2-004)169 b(S.)23 b(V)-6 b(orob)n(y)n(o)n(v)1072 b(Satis\014abilit)n(y)24 b(of)f(F)-6 b(unctional+Record)26 b(Subt)n(yp)r(e)2079 3732 y(Constrain)n(ts)e(is)f(NP-Hard)0 3843 y(MPI-I-98-2-003)169 b(R.A.)22 b(Sc)n(hmidt)1021 b(E-Uni\014cation)24 b(for)f(Subsystems)g(of)h(S4)0 3955 y(MPI-I-98-1-021)169 b(S.)23 b(Alb)r(ers,)g(G.)g(Sc)n(hmidt)764 b(Sc)n(heduling)25 b(with)e(Unexp)r(ected)j(Mac)n(hine)f(Breakdo)n(wns) 0 4067 y(MPI-I-98-1-020)169 b(C.)23 b(R)r(\177)-37 b(ub)1217 b(On)23 b(W)-6 b(allace's)24 b(Metho)r(d)h(for)e(the)h(Generation)i(of) d(Normal)2079 4145 y(V)-6 b(ariates)0 4257 y(MPI-I-98-1-019)1610 b(2nd)24 b(W)-6 b(orkshop)25 b(on)f(Algorithm)e(Engineering)i(W)-8 b(AE)24 b('98)g(-)2079 4336 y(Pro)r(ceedings)0 4448 y(MPI-I-98-1-018) 169 b(D.)23 b(Dubhashi,)g(D.)g(Ranjan)689 b(On)23 b(P)n(ositiv)n(e)h (In\015uence)i(and)e(Negativ)n(e)h(Dep)r(endence)0 4559 y(MPI-I-98-1-017)169 b(A.)23 b(Crauser,)g(P)-6 b(.)23 b(F)-6 b(erragina,)23 b(K.)g(Mehlhorn,)638 4638 y(U.)g(Mey)n(er,)g(E.)g (Ramos)2079 4559 y(Randomized)h(External-Memory)e(Algorithms)g(for)h (Some)2079 4638 y(Geometric)g(Problems)0 4750 y(MPI-I-98-1-016)169 b(P)-6 b(.)23 b(Krysta,)g(K.)g(Lory)l(\023)-32 b(s)834 b(New)23 b(Appro)n(ximation)h(Algorithms)d(for)i(the)i(Ac)n(hromatic) 2079 4829 y(Num)n(b)r(er)0 4940 y(MPI-I-98-1-015)169 b(M.R.)22 b(Henzinger,)i(S.)f(Leonardi)558 b(Sc)n(heduling)25 b(Multicasts)e(on)h(Unit-Capacit)n(y)h(T)-6 b(rees)24 b(and)2079 5019 y(Meshes)0 5131 y(MPI-I-98-1-014)169 b(U.)23 b(Mey)n(er,)g(J.F.)g(Sib)r(eyn)760 b(Time-Indep)r(enden)n(t)25 b(Gossiping)e(on)h(F)-6 b(ull-P)n(ort)23 b(T)-6 b(ori)0 5242 y(MPI-I-98-1-013)169 b(G.W.)23 b(Klau,)g(P)-6 b(.)24 b(Mutzel)760 b(Quasi-Orthogonal)24 b(Dra)n(wing)f(of)g(Planar)h(Graphs) 0 5358 y(MPI-I-98-1-012)169 b(S.)23 b(Maha)t(jan,)h(E.A.)e(Ramos,)638 5436 y(K.V.)g(Subrahman)n(y)n(am)2079 5358 y(Solving)i(some)f (discrepancy)h(problems)f(in)g(NC*)0 5548 y(MPI-I-98-1-011)169 b(G.N.)23 b(F)-6 b(rederic)n(kson,)24 b(R.)f(Solis-Oba)451 b(Robustness)24 b(analysis)g(in)f(com)n(binatorial)g(optimization)0 5660 y(MPI-I-98-1-010)169 b(R.)23 b(Solis-Oba)1051 b(2-Appro)n (ximation)23 b(algorithm)f(for)h(\014nding)h(a)g(spanning)g(tree)2079 5739 y(with)f(maxim)n(um)e(n)n(um)n(b)r(er)i(of)g(lea)n(v)n(es)p eop %%Page: 29 33 29 32 bop 0 257 a Fy(MPI-I-98-1-009)169 b(D.)23 b(F)-6 b(rigioni,)22 b(A.)h(Marc)n(hetti-Spaccamela,)638 336 y(U.)g(Nanni)2079 257 y(F)-6 b(ully)23 b(dynamic)g(shortest)i(paths)f (and)g(negativ)n(e)i(cycle)2079 336 y(detection)g(on)e(diagraphs)f (with)h(Arbitrary)f(Arc)g(W)-6 b(eigh)n(ts)0 447 y(MPI-I-98-1-008)169 b(M.)23 b(J)r(\177)-37 b(unger,)23 b(S.)h(Leip)r(ert,)f(P)-6 b(.)24 b(Mutzel)435 b(A)23 b(Note)i(on)f(Computing)f(a)h(Maximal)e (Planar)h(Subgraph)2079 526 y(using)g(PQ-T)-6 b(rees)0 638 y(MPI-I-98-1-007)169 b(A.)23 b(F)-6 b(abri,)23 b(G.)g(Giezeman,)h (L.)f(Kettner,)638 717 y(S.)g(Sc)n(hirra,)g(S.)g(Sc)n(h'onherr)2079 638 y(On)g(the)i(Design)f(of)f(CGAL,)g(the)i(Computational)f(Geometry) 2079 717 y(Algorithms)e(Library)0 828 y(MPI-I-98-1-006)169 b(K.)23 b(Jansen)1135 b(A)23 b(new)h(c)n(haracterization)i(for)d(parit) n(y)h(graphs)f(and)i(a)e(coloring)2079 907 y(problem)f(with)i(costs)0 1019 y(MPI-I-98-1-005)169 b(K.)23 b(Jansen)1135 b(The)24 b(m)n(utual)f(exclusion)h(sc)n(heduling)h(problem)d(for)2079 1098 y(p)r(erm)n(utation)i(and)g(comparabilit)n(y)f(graphs)0 1209 y(MPI-I-98-1-004)169 b(S.)23 b(Sc)n(hirra)1141 b(Robustness)24 b(and)h(Precision)e(Issues)h(in)f(Geometric)2079 1288 y(Computation)0 1400 y(MPI-I-98-1-003)169 b(S.)23 b(Sc)n(hirra)1141 b(P)n(arameterized)23 b(Implemen)n(tations)h(of)f(Classical)g(Planar) 2079 1479 y(Con)n(v)n(ex)i(Hull)d(Algorithms)g(and)j(Extreme)e(P)n(oin) n(t)2079 1557 y(Compuations)0 1669 y(MPI-I-98-1-002)169 b(G.S.)23 b(Bro)r(dal,)g(M.C.)f(Pinotti)638 b(Comparator)23 b(Net)n(w)n(orks)h(for)f(Binary)g(Heap)h(Construction)0 1790 y(MPI-I-98-1-001)169 b(T.)23 b(Hagerup)1087 b(Simpler)22 b(and)i(F)-6 b(aster)24 b(Static)h(A)n(C)2994 1767 y Fg(0)3052 1790 y Fy(Dictionaries)0 1902 y(MPI-I-97-2-012)169 b(L.)23 b(Bac)n(hmair,)f(H.)h(Ganzinger,)h(A.)f(V)-6 b(oronk)n(o)n(v)178 b(Elimination)22 b(of)h(Equalit)n(y)h(via)g(T)-6 b(ransformation)23 b(with)2079 1981 y(Ordering)g(Constrain)n(ts)0 2092 y(MPI-I-97-2-011)169 b(L.)23 b(Bac)n(hmair,)f(H.)h(Ganzinger)607 b(Strict)24 b(Basic)f(Sup)r(erp)r(osition)i(and)f(Chaining)0 2204 y(MPI-I-97-2-010)169 b(S.)23 b(V)-6 b(orob)n(y)n(o)n(v,)24 b(A.)f(V)-6 b(oronk)n(o)n(v)643 b(Complexit)n(y)23 b(of)g(Nonrecursiv)n (e)h(Logic)g(Programs)e(with)2079 2283 y(Complex)h(V)-6 b(alues)0 2398 y(MPI-I-97-2-009)169 b(A.)23 b(Bo)r(c)n(kma)n(yr,)g(F.)g (Eisen)n(brand)558 b(On)23 b(the)i(Ch)n(v\023)-35 b(atal)24 b(Rank)h(of)e(P)n(olytop)r(es)i(in)e(the)i(0/1)f(Cub)r(e)0 2510 y(MPI-I-97-2-008)169 b(A.)23 b(Bo)r(c)n(kma)n(yr,)g(T.)g(Kasp)r (er)679 b(A)23 b(Unifying)g(F)-6 b(ramew)n(ork)23 b(for)g(In)n(teger)i (and)f(Finite)g(Domain)2079 2588 y(Constrain)n(t)g(Programming)0 2700 y(MPI-I-97-2-007)169 b(P)-6 b(.)23 b(Blac)n(kburn,)h(M.)f(Tzak)n (o)n(v)l(a)635 b(Tw)n(o)24 b(Hybrid)f(Logics)0 2812 y(MPI-I-97-2-006) 169 b(S.)23 b(V)-6 b(orob)n(y)n(o)n(v)1072 b(Third-order)22 b(matc)n(hing)i(in)f Fu(\025)d Ft(!)p Fy(-Curry)i(is)h(undecidable)0 2923 y(MPI-I-97-2-005)169 b(L.)23 b(Bac)n(hmair,)f(H.)h(Ganzinger)607 b(A)23 b(Theory)h(of)g(Resolution)0 3035 y(MPI-I-97-2-004)169 b(W.)23 b(Charatonik,)i(A.)e(P)n(o)r(delski)581 b(Solving)24 b(set)g(constrain)n(ts)g(for)f(greatest)i(mo)r(dels)0 3147 y(MPI-I-97-2-003)169 b(U.)23 b(Hustadt,)h(R.A.)f(Sc)n(hmidt)632 b(On)23 b(ev)l(aluating)i(decision)f(pro)r(cedures)h(for)e(mo)r(dal)f (logic)0 3258 y(MPI-I-97-2-002)169 b(R.A.)22 b(Sc)n(hmidt)1021 b(Resolution)24 b(is)f(a)h(decision)g(pro)r(cedure)g(for)f(man)n(y)2079 3337 y(prop)r(ositional)h(mo)r(dal)e(logics)0 3449 y(MPI-I-97-2-001)169 b(D.A.)22 b(Basin,)h(S.)h(Matthews,)g(L.)f(Vigan\022)-35 b(o)323 b(Lab)r(elled)24 b(mo)r(dal)f(logics:)31 b(quan)n(ti\014ers)0 3561 y(MPI-I-97-1-028)169 b(M.)23 b(Lermen,)f(K.)h(Reinert)732 b(The)24 b(Practical)g(Use)f(of)h(the)g Ft(A)2916 3537 y Fe(\003)2976 3561 y Fy(Algorithm)e(for)h(Exact)2079 3640 y(Multiple)g(Sequence)j(Alignmen)n(t)0 3751 y(MPI-I-97-1-027)169 b(N.)23 b(Garg,)g(G.)h(Konjev)n(o)r(d,)g(R.)f(Ra)n(vi)476 b(A)23 b(p)r(olylogarithmic)g(appro)n(ximation)g(algorithm)g(for)g (group)2079 3830 y(Steiner)h(tree)g(problem)0 3942 y(MPI-I-97-1-026)169 b(A.)23 b(Fiat,)g(S.)h(Leonardi)820 b(On-line)23 b(Net)n(w)n(ork)h (Routing)g(-)f(A)h(Surv)n(ey)0 4053 y(MPI-I-97-1-025)169 b(N.)23 b(Garg,)g(J.)h(K\177)-35 b(onemann)736 b(F)-6 b(aster)24 b(and)g(Simpler)e(Algorithms)g(for)h(Multicommo)r(dit)n(y) 2079 4132 y(Flo)n(w)g(and)h(other)h(F)-6 b(ractional)24 b(P)n(ac)n(king)h(Problems)0 4244 y(MPI-I-97-1-024)169 b(S.)23 b(Alb)r(ers,)g(N.)g(Garg,)g(S.)g(Leonardi)470 b(Minimizing)21 b(Stall)j(Time)e(in)h(Single)h(and)g(P)n(arallel)f (Disk)2079 4323 y(Systems)0 4434 y(MPI-I-97-1-023)169 b(S.A.)23 b(Leonardi,)g(A.P)-6 b(.)23 b(Marc)n(hetti-Spaccamela)133 b(Randomized)24 b(on-line)f(call)g(con)n(trol)h(revisited)0 4546 y(MPI-I-97-1-022)169 b(E.)23 b(Althaus,)g(K.)g(Mehlhorn)672 b(Maxim)n(um)21 b(Net)n(w)n(ork)j(Flo)n(w)g(with)f(Floating)i(P)n(oin)n (t)2079 4625 y(Arithmetic)0 4736 y(MPI-I-97-1-021)169 b(J.F.)23 b(Sib)r(eyn)1089 b(F)-6 b(rom)22 b(P)n(arallel)h(to)h (External)g(List)g(Ranking)0 4848 y(MPI-I-97-1-020)169 b(G.S.)23 b(Bro)r(dal)1075 b(Finger)23 b(Searc)n(h)i(T)-6 b(rees)23 b(with)h(Constan)n(t)h(Insertion)g(Time)0 4960 y(MPI-I-97-1-019)169 b(D.)23 b(Alb)r(erts,)g(C.)g(Gut)n(w)n(enger,)i(P) -6 b(.)23 b(Mutzel,)638 5039 y(S.)g(N\177)-35 b(aher)2079 4960 y(A)n(GD-Library:)30 b(A)23 b(Library)g(of)g(Algorithms)f(for)h (Graph)2079 5039 y(Dra)n(wing)0 5150 y(MPI-I-97-1-018)169 b(R.)23 b(Fleisc)n(her)1074 b(On)23 b(the)i(Bahncard)f(Problem)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF