(original) (raw)
%!PS-Adobe-2.0 %%Creator: dvips 5.511 Copyright 1986, 1993 Radical Eye Software %%Title: All.dvi %%CreationDate: Thu Jul 25 12:56:04 1996 %%Pages: 4 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%EndComments %DVIPSCommandLine: dvips -pp 129-132 All.dvi -o /home/blagny/lib/algo/seminars/sem93-94/morain2.ps %DVIPSSource: TeX output 1996.07.25:0820 %%BeginProcSet: tex.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 /@rigin{isls{[0 -1 1 0 0 0] concat}if 72 Resolution div 72 VResolution div neg scale isls{Resolution hsize -72 div mul 0 TR}if Resolution VResolution vsize -72 div 1 add mul TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch put 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 add]{ch-image}imagemask restore}B /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 showpage userdict /eop-hook known{eop-hook}if}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 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 %%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 false 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 300 300 (/a/home/pommard/algo/salvy/Tex/Sem/Sem94/All.dvi) @start /Fa 6 113 df<01000F00F70007000700070007000700070007000700070007000700070007000700 0700FFF80D137C9215>49 D<000C00000C00001C00003C00003C00005C00009C00019C00011C00 021C00061C00041C00081C00101C00301C00201C00401C00C01C00FFFFC0001C00001C00001C00 001C00001C00001C00001C0001FFC0121B7F9215>52 D<300C3FF83FF03FC02000200020002000 2000200023E02C38300C200C000E0006000700076007F007F007E0078006400E400C2018183007 C0101C7E9215>I<07E00C301008300C60066006600660067006380C3C081F300FE003E007F018 78303C600E6007C007C003C003C003C00360026006300C1C1807E0101D7E9B15>56 D<07C00C301818300C700C600EE006E006E007E007E007E0076007600F300F18170C2707C70006 0006000E300C780C78187018203030C00F80101C7E9215>I<07078009C86008D03008E03011C0 3011C03801C03801C0380380700380700380700380600700E00700C00701800783000E86000E78 000E00000E00001C00001C00001C00001C00003C0000FF8000151A819115>112 D E /Fb 15 118 df<0003F020001E0C60003002E000E003C001C001C0038001C0070000C00E00 00801E0000801C0000803C0000803C000000780000007800000078000000F0000000F0000000F0 000000F0000000F0000400F0000400F0000400F000080070000800700010003800200018004000 0C0180000706000001F800001B1E7A9C1E>67 D<01FE0007F8003E000780002E000F00002E0017 00002E001700002E002700004E002E00004E004E00004E004E00004E008E00008E011C00008E01 1C00008E021C00008E021C00010704380001070438000107083800010710380002071070000207 20700002072070000207407000040740E000040780E000040700E0000C0700E0001C0601E000FF 861FFC00251C7D9B25>77 D<03CC063C0C3C181C3838303870387038E070E070E070E070E0E2C0 E2C0E261E462643C380F127B9115>97 D<01F007080C08181C3838300070007000E000E000E000 E000E000E008E010602030C01F000E127B9113>99 D<01E007100C1018083810701070607F80E0 00E000E000E000E000E0086010602030C01F000D127B9113>101 D<0003C0000670000C70001C 60001C00001C0000380000380000380000380000380003FF800070000070000070000070000070 0000E00000E00000E00000E00000E00001C00001C00001C00001C00001C0000380000380000380 00030000030000070000C60000E60000CC00007800001425819C0D>I<0FC00001C00001C00003 80000380000380000380000700000700000700000700000E78000E8C000F0E000E0E001C0E001C 0E001C0E001C0E00381C00381C00381C00383800703880703880707080707100E03200601C0011 1D7D9C15>104 D<01800380010000000000000000000000000000001C002600470047008E008E 000E001C001C001C0038003800710071007100720072003C00091C7C9B0D>I<3C1E0780266318 C04683A0E04703C0E08E0380E08E0380E00E0380E00E0380E01C0701C01C0701C01C0701C01C07 0380380E0388380E0388380E0708380E0710701C0320300C01C01D127C9122>109 D<3C3C002646004687004707008E07008E07000E07000E07001C0E001C0E001C0E001C1C00381C 40381C40383840383880701900300E0012127C9117>I<01E007180C0C180C380C300E700E700E E01CE01CE01CE018E038E030E06060C031801E000F127B9115>I<07870004D98008E0C008E0C0 11C0E011C0E001C0E001C0E00381C00381C00381C00381800703800703000707000706000E8C00 0E70000E00000E00001C00001C00001C00001C00003C0000FF8000131A7F9115>I<01F006080C 080C1C18181C001F001FC00FF007F0007800386030E030C030806060C01F000E127D9111>115 D<00C001C001C001C00380038003800380FFE00700070007000E000E000E000E001C001C001C00 1C00384038403840388019000E000B1A7D990E>I<1E0300270700470700470700870E00870E00 0E0E000E0E001C1C001C1C001C1C001C1C003838803838801838801839001C5900078E0011127C 9116>I E /Fc 6 91 df<0003FC10001FFF3000FF07F001F801F0033000F0066000700CC00070 18C0003031800030318000306180003061800010C3000000C3000000C3000000C3000000C30000 00C3000000C3000000C3000000C30000006300000061800000318000003180000818C000180CC0 0030066000300360006001F800C000FE0380001FFF000003FC001D217E9F17>67 D70 D76 D80 D<001FF000007FFC0001F83F0003E00F8006C006C00CC006 601980033031800318318003186180030C6300018C6300018CC3000186C3000186C3000186C300 0186C3000186C3000186C3000186C3000186C30001866300018C6300018C6180030C3180031831 800318198003300CC0066006C006C003E00F8001F83F00007FFC00001FF00000183000000C3000 00061800000398000001EE0000007FFE00001FFE1F287E9F25>I<3FFFFF807FFFFF8061E0C300 6380C6006E0186007C030C0070030C007006180060063000600C300000186000001860000030C0 00003180000061800000C3000000C3000001860000030C0020030C006006180060061800E00C30 01C0186001C0186003C030C006C031800CC061801980C3007180FFFFFF80FFFFFF801B1F7E9E2E >90 D E /Fd 4 53 df<18F818181818181818181818FF080D7D8C0E>49 D<3E00418080C0C0C000C000C0018003000400084030407F80FF800A0D7E8C0E>I<3E00418061 80018003001E00018000C000C0C0C0C0C041803E000A0D7E8C0E>I<0300070007000B00130023 006300C300FFC00300030003001FC00A0D7E8C0E>I E /Fe 15 113 df0 D<70F8F8F87005057C8D0D>I<400004C0000C6000183000301800600C00C0060180 03030001860000CC0000780000300000300000780000CC000186000303000601800C00C0180060 300030600018C0000C40000416187A9623>I17 D<000000C0000003C00000 0F0000003C000000F0000003C00000070000001C00000078000001E00000078000001E00000078 000000E0000000780000001E0000000780000001E0000000780000001C0000000700000003C000 0000F00000003C0000000F00000003C0000000C000000000000000000000000000000000000000 0000000000000000007FFFFF80FFFFFFC01A247C9C23>20 D<0FC000101FF000103FF80010703E 0030E00F0070C007C0E08001FFC08000FF8080003F0000000000000000000FC000101FF000103F F80010703E0030E00F0070C007C0E08001FFC08000FF8080003F001C147D9523>25 D<0000000400000000020000000002000000000100000000008000000000400000000020FFFFFF FFFCFFFFFFFFFC0000000020000000004000000000800000000100000000020000000002000000 00040026107D922D>33 D<003FF800FFF803C0000700000C000018000030000030000060000060 0000C00000C00000C00000FFFFF8FFFFF8C00000C00000C0000060000060000030000030000018 00000C000007000003C00000FFF8003FF8151C7C981E>50 D<00000C00000C0000180000180000 300000300000600000600000C00000C0000180000180000180000300000300000600000600000C 00000C0000180000180000300000300000600000600000C00000C0000180000180000300000300 000600000600000600000C00000C0000180000180000300000300000600000600000C000004000 00162C7AA000>54 DI<000F0038006000 E001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C0038007001E00F800 1E000700038001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C000E000 600038000F102D7DA117>102 DI106 D110 D<000000000800000000 18000000003000000000300000000060000000006000000000C000000000C00000000180000000 018000000003000000000300000000060000000006000000000C000000000C0000000018000000 0018000000003000000000300000000060000000006000000000C000060000C0001E000180002F 000180004F000300008780030000078006000003C006000003C00C000003C00C000001E0180000 01E018000000F030000000F030000000786000000078600000003CC00000003CC00000001F8000 00001F800000000F000000000F00000000060000000006000000252E7E8126>112 D E /Ff 11 121 df<000100000300000700000780000B80001B80001380002380002380004380 0083800083C00101C003FFC00201C00401C00401C00801C01801E0FE07F815147F9319>65 D<07FFE000E03801C01801C01C01C01C01C01C0380380380700380E003FFC00700E00700700700 300700380E00700E00700E00E00E00E01C0380FFFE0016147F9319>I<07FFFC00E01C01C00C01 C00C01C00C01C00803810803810003830003FF000702000702000702080700100E00100E00100E 00200E00601C01E0FFFFC016147F9318>69 D<006001A0012003200220062004400C400C800D00 19001A001C0018001800380058009810086007800C1480930E>96 D<007C000C00180018001800 18003007B00C7010703060606060606060C0C0C0C8C0C841C862D03C700E147E9311>100 D<06070600000000384C4C8C98181830326262643808147F930C>105 D<006000700060000000 0000000000038004C0046008C008C000C000C0018001800180018003000300030003006600E600 CC0078000C1A81930E>I<30F8590C4E0C9C0C980C180C180C30183019303130316032601C100D 7F8C15>110 D<0C78168C130426062606060606060C0C0C0C0C080C101A2019C0180018003000 30003000FC000F13818C11>112 D<31E05A704C709C6098001800180030003000300030006000 60000C0D7F8C0F>114 D<0E3C13CE238E430C43000300030006000608C608E610CA2071C00F0D 7F8C13>120 D E /Fg 10 89 df<00200040008001000300060006000C000C0018001800380030 0030007000700070006000E000E000E000E000E000E000E000E000E000E000E000E000E0006000 700070007000300030003800180018000C000C0006000600030001000080004000200B317A8113 >0 D<800040002000100018000C000C00060006000300030003800180018001C001C001C000C0 00E000E000E000E000E000E000E000E000E000E000E000E000E000C001C001C001C00180018003 8003000300060006000C000C00180010002000400080000B317F8113>I<0006000C0018003000 70006000C001C0018003800300070006000E000C001C001C001800380038003800300070007000 7000700070007000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0 00E000E000700070007000700070007000300038003800380018001C001C000C000E0006000700 03000380018001C000C00060007000300018000C00060F4A788119>16 DI<0000300000600000C000 0180000300000700000E00000C0000180000380000300000700000E00000C00001C00001800003 80000380000300000700000600000E00000E00000C00001C00001C00001C000018000038000038 0000380000380000700000700000700000700000700000700000700000E00000E00000E00000E0 0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0 0000E00000E00000E00000E0000070000070000070000070000070000070000070000038000038 00003800003800001800001C00001C00001C00000C00000E00000E000006000007000003000003 800003800001800001C00000C00000E000007000003000003800001800000C00000E0000070000 03000001800000C0000060000030146377811F>II<0000700001F00003C0000780000E00001C000038000070000070 0000F00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0 0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0 0000E00000E00000E00000E00000E00001C00001C00001C0000380000700000600000E00003800 00700000C000007000003800000E000006000007000003800001C00001C00001C00000E00000E0 0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0 0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0 0000E00000E00000F000007000007000003800001C00000E000007800003C00001F00000701463 7B811F>26 D80 DI88 D E /Fh 2 49 df0 D<040E0E1C1C1C38383070706060C0C0070F 7F8F0A>48 D E /Fi 22 122 df<70F8F8F87005057B840F>46 D<000100000003800000038000 000380000007C0000007C0000007C0000009E0000009E0000011F0000010F0000010F000002078 00002078000020780000403C0000403C0000C03E0000801E0000801E0001FFFF0001000F000100 0F000200078002000780060007C0040003C0040003C00C0001E00C0001E03E0003F0FF801FFE1F 207D9F25>65 D68 D73 D78 D80 D82 D<7FFFFFF87807807860078018400780 0840078008C007800C800780048007800480078004800780040007800000078000000780000007 800000078000000780000007800000078000000780000007800000078000000780000007800000 0780000007800000078000000780000007800000078000000FC00003FFFF001E1F7D9E24>84 D<007E080381980700780C00381C0018380018780008700008F00000F00000F00000F00000F000 00F00000F000007000087800083800081C00100C0010070060038180007E0015177E961B>99 D101 DI104 DI108 DII<00FE000383800E00E01C00703C007838003878 003C70001CF0001EF0001EF0001EF0001EF0001EF0001EF0001E70001C78003C3800383C00781C 00700E00E003838000FE0017177E961D>I<00FE000383800E00E01C00703C007838003878003C 70001CF0001EF0001EF0001EF0001EF0001EF0001EF0001E70001C78003C3800383C78781C8470 0E86E003838000FF020003020003820003860001FE0001FC0000FC000070171E7E961D>113 DI<7F FFFC70381C403804403804C0380680380280380280380200380000380000380000380000380000 3800003800003800003800003800003800003800003800007C0007FFC017177F961B>116 DI121 D E /Fj 9 62 df<00600000600000600000 6000006000006000006000006000006000006000FFFFF0FFFFF000600000600000600000600000 600000600000600000600000600000600014167E9119>43 D<0F0030C0606060604020C030C030 C030C030C030C030C030C030C03040206060606030C00F000C137E9211>48 D<0C001C00EC000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C00FFC0 0A137D9211>I<1F0060C06060F070F030603000700070006000C001C001800200040008101010 20207FE0FFE00C137E9211>I<0FC030707038703870380038003000E00FC0007000380018001C 601CF01CF018E03860701FC00E137F9211>I<006000E000E00160026006600C60086010602060 6060C060FFFC0060006000600060006003FC0E137F9211>I<40007FFC7FF84010801080200040 00800100010003000200060006000E000E000E000E000E0004000E147E9311>55 D<0FC0107020186018601870183C303F600F800FE031F06078C01CC00CC00CC00C601830300FC0 0E137F9211>I<7FFFE0FFFFF0000000000000000000000000000000000000FFFFF07FFFE0140A 7E8B19>61 D E /Fk 39 126 df<007C0001C3000701810E01C11E00C11C00E23C00E27800E278 00E47800E4F000E8F000F0F000F0F000E0F000E07000E07003E030046118383207C01C18147E93 1D>11 D<0000F800030600040600080300100300200300400700400700800700800601000E0100 0C0107F80104700207D802001C02001C02001E04001E04001E04001E04001E08003C08003C0800 3C0800781800701400F01400E01201C0218700207C002000002000004000004000004000004000 0080000080000080000018297F9F1A>I<07000001C00000E00000E00000F00000700000700000 7800003800003800003C00001C00001C00001E00000E00000E00000F00000700000F0000378000 638000C38001C3C00381C00701C00E01E01C00E03800E07000F0F00070E00070C0003815207D9F 1B>21 D<0000400000400000800000800000800000800001000001000001000001000002000002 00001FC000E27003841806040C0C040E1C0406380807300807700807700807E0100EE0100EE010 0CE0101C6020387020303020601821C00E470003F8000040000040000080000080000080000080 0001000001000001000018297E9F1B>30 D<000010000000100000001000000020000000200000 0020000000200000004000000040000000400000004000000080000F008180118083C0218083E0 21C101E041C100E043810060838100400702004007020040070200400E0200800E0400800E0401 000E0401000E0402000E080400060808000708300001C8C000007F000000100000001000000010 00000020000000200000002000000020000000400000004000001B297E9F1E>32 D<04000180080003C0100003E0100001E0200000E0200000E02000004040040040400C0040400C 0040800C008080080080C0080180C0180300C0380600E07C0E00FFEFFC007FCFF8003F87F0001E 03C0001B1480931C>I<70F8F8F87005057C840D>58 D<70F8FCFC74040404080810102040060E 7C840D>I<000100030003000600060006000C000C000C00180018001800300030003000600060 006000C000C000C00180018001800300030003000600060006000C000C000C0018001800180030 0030003000600060006000C000C000C000102D7DA117>61 DI<000002000000060000000E0000000E0000001E00 00001F0000002F0000002F0000004F0000008F0000008F0000010F0000010F0000020F0000040F 0000040F0000080F8000080780001007800020078000200780007FFF8000400780008007800180 07800100078002000780020007C0040003C00C0003C01E0007C0FF807FFC1E207E9F22>65 D<00FFFFE0000F0078000F003C000F001C000F001E001E001E001E001E001E001E001E001E003C 003C003C003C003C0078003C00F0007803C0007FFF80007803C0007801E000F000F000F000F000 F000F000F0007001E000F001E000F001E000F001E000E003C001E003C003C003C0038003C00F00 07801E00FFFFF0001F1F7E9E22>I<00FFFFFF000F000E000F0006000F0002000F0002001E0002 001E0002001E0002001E0002003C0404003C0400003C0400003C0C0000781800007FF800007818 000078180000F0100000F0100000F0100000F0000401E0000801E0000801E0001001E0001003C0 002003C0006003C0004003C001C0078007C0FFFFFF80201F7E9E22>69 D<00FFFFFF000F000E00 0F0006000F0002000F0002001E0002001E0002001E0002001E0002003C0004003C0400003C0400 003C04000078080000781800007FF8000078180000F0100000F0100000F0100000F0100001E000 0001E0000001E0000001E0000003C0000003C0000003C0000003C0000007C00000FFFE0000201F 7E9E1D>I<001FFF0000F80000F00000F00000F00001E00001E00001E00001E00003C00003C000 03C00003C0000780000780000780000780000F00000F00000F00000F00001E00001E00301E0078 1E00F83C00F83C00F0780080700040E00021C0001F000018207D9E19>74 D<00FFF80FF8000F8003E0000F000380000F000200000F000400001E000800001E002000001E00 4000001E008000003C010000003C040000003C080000003C180000007838000000787C00000079 3C0000007A3C000000F41E000000F81E000000F01E000000F00F000001E00F000001E00F000001 E007800001E007800003C007800003C003C00003C003C00003C003C00007C003E000FFFC3FFC00 251F7E9E27>I<0001FC0000070700001C01C0003000E000E0006001C000700380007007800038 070000380E0000381E0000381C0000383C0000383C000038780000787800007878000078780000 78F00000F0F00000F0F00000E0F00001E0F00001C0F00003C0700003807000070078000F003800 1E0038003C001C0070000E00E0000783800001FC00001D217E9F23>79 D<00FFFFC0000F007000 0F0038000F001C000F001E001E001E001E001E001E001E001E001E003C003C003C003C003C0078 003C0070007800E000780380007FFE000078000000F0000000F0000000F0000000F0000001E000 0001E0000001E0000001E0000003C0000003C0000003C0000003C0000007C00000FFFC00001F1F 7E9E1D>I<00FFF83FF8000FC00F80000F80060000078004000007C008000003C010000003C020 000003E040000001E080000001F100000000F300000000F600000000FC0000000078000000007C 000000007C000000007C00000000BE000000011E000000021E000000061F0000000C0F00000008 0F800000100780000020078000004007C000008003C000010003E000030003E0000F0007E000FF E01FFE00251F7F9E26>88 DI<000700000C8000188000308000 308000608000610000C10000C10001C20001820003840003840003880007080007100007200007 20000E40000E80000F00000E00000E00000E00000E00001E00002E0000C6010006030006040003 180001E0001120809F13>96 D<0000780003F80000700000700000700000700000E00000E00000 E00000E00001C00001C000F1C00389C00707800E03801C03803C03803807007807007807007807 00F00E00F00E00F00E00F00E10F01C20F01C20703C20705C40308C400F078015207E9F18>100 D<00007C0000CE00019E00039E00030C000700000700000700000700000E00000E00000E0000FF F0000E00000E00001C00001C00001C00001C00001C000038000038000038000038000038000070 0000700000700000700000700000E00000E00000E00000E00000C00001C000318000798000F300 006200003C000017297E9F16>102 D<001E3000713800E0F001C0700380700780700700E00F00 E00F00E00F00E01E01C01E01C01E01C01E01C01E03801E03800E07800E0B8006170001E7000007 00000700000E00000E00300E00781C00F038006070003FC000151D809316>I<00E001E001E000 C000000000000000000000000000000E00130023804380438043808700070007000E000E001C00 1C001C20384038403840388019000E000B1F7E9E10>105 D<0000C00001E00001E00001C00000 00000000000000000000000000000000000000001E000063000043800083800103800103800207 00000700000700000700000E00000E00000E00000E00001C00001C00001C00001C000038000038 0000380000380000700000700030700078E000F1C0006380003E00001328819E13>I<01E0000F E00001C00001C00001C00001C0000380000380000380000380000700000700000701E00706100E 08700E10F00E20F00E40601C80001D00001E00001FC000387000383800383800381C2070384070 3840703840701880E01880600F0014207E9F18>I<03C01FC00380038003800380070007000700 07000E000E000E000E001C001C001C001C0038003800380038007000700070007100E200E200E2 00E200640038000A207E9F0E>I<1E07C07C00231861860023A032030043C03403004380380380 438038038087007007000700700700070070070007007007000E00E00E000E00E00E000E00E00E 000E00E01C101C01C01C201C01C038201C01C038401C01C0184038038018801801800F0024147E 9328>I<1E07802318C023A06043C0704380704380708700E00700E00700E00700E00E01C00E01 C00E01C00E03821C03841C07041C07081C03083803101801E017147E931B>I<03C1E004621804 741C08781C08701E08701E10E01E00E01E00E01E00E01E01C03C01C03C01C03C01C03803807803 80700380E003C1C0072380071E000700000700000E00000E00000E00000E00001C00001C0000FF C000171D819317>112 D<00F0400388C00705800E03801C03803C038038070078070078070078 0700F00E00F00E00F00E00F00E00F01C00F01C00703C00705C0030B8000F380000380000380000 700000700000700000700000E00000E0000FFE00121D7E9314>I<1E1E0023210023C38043C780 4387804383008700000700000700000700000E00000E00000E00000E00001C00001C00001C0000 1C000038000018000011147E9315>I<007C018203010603060706060E00078007F803FC01FE00 1F00077007F006F006E004400820301FC010147E9315>I<00C000E001C001C001C001C0038003 80FFF8038007000700070007000E000E000E000E001C001C001C001C1038203820382038401880 0F000D1C7F9B10>I<03C1C00C62201034701038F02038F0203860407000007000007000007000 00E00000E00000E00000E02061C040F1C040F1C080E2C080446300383C0014147E931A>120 D<0F00601180702180E021C0E041C0E04380E08381C00701C00701C00701C00E03800E03800E03 800E03800E07000C07000C07000E0F00061E0003EE00000E00000E00001C007818007838007070 0060600021C0001F0000141D7E9316>I<01E02003F04007F8C00C1F8008010000020000040000 080000100000600000C0000100000200000400800801001003003F060061FC0040F80080700013 147E9315>I<0300000C00001801F0300E0C30100C602006604006C08007C10007C20007C40007 C4000EC8000EC8000EF0001CF0001C7860383840303C40605E21C04F1F00470000470000830000 830000830000820000860000840000880000700000181F7C941D>125 D E /Fl 35 122 df<0E1F3F3F1D0102020404081020C0080E779F0E>39 D<000100020004000800 100020006000C0018001800300070006000E000C001C0018003800380030007000700060006000 E000E000C000C000C000C000C000C000C000C000C000C000C000C000C000400060006000200010 0010000800102E79A113>I<001000000800000400000600000200000300000300000300000100 000180000180000180000180000180000180000180000380000380000380000300000300000300 000700000700000600000600000E00000C00000C00001C00001800003800003000007000006000 00E00000C0000180000100000300000600000C0000180000300000600000800000112E80A113> I<1C3C3C3C3C040408081020204080060E7D840E>44 D<7FF0FFE07FE00C037D8A10>I<70F8F8 F0E005057B840E>I<000200020006000E003C00DC031C001C0038003800380038007000700070 007000E000E000E000E001C001C001C001C003800380038003800780FFF80F1E7B9D17>49 D<00000200000006000000060000000E0000001E0000001E0000003F0000002F0000004F000000 4F0000008F0000010F0000010F0000020F0000020F0000040F00000C0F0000080F0000100F0000 100F0000200F80003FFF800040078000C007800080078001000780010007800200078002000780 060007801E000F80FF807FF81D207E9F22>65 D<01FFFFFE001E001C001E000C001E0004001E00 04003C0004003C0004003C0004003C00040078080800780800007808000078180000F0300000FF F00000F0300000F0300001E0200001E0200001E0200001E0001003C0002003C0002003C0004003 C00040078000800780018007800100078007000F001F00FFFFFE001F1F7D9E1F>69 D<01FFF0001F00001E00001E00001E00003C00003C00003C00003C000078000078000078000078 0000F00000F00000F00000F00001E00001E00001E00001E00003C00003C00003C00003C0000780 000780000780000780000F8000FFF800141F7D9E12>73 D<01FFF800001F0000001E0000001E00 00001E0000003C0000003C0000003C0000003C00000078000000780000007800000078000000F0 000000F0000000F0000000F0000001E0000001E0000001E0000001E0008003C0010003C0010003 C0030003C00200078006000780060007800C0007801C000F007800FFFFF800191F7D9E1D>76 D<0FFFFFF01E0780E0180780201007802020078020200F0020600F0020400F0020400F0020801E 0040001E0000001E0000001E0000003C0000003C0000003C0000003C0000007800000078000000 7800000078000000F0000000F0000000F0000000F0000001E0000001E0000001E0000001E00000 03E00000FFFF00001C1F789E21>84 D<00F1800389C00707800E03801C03803C03803807007807 00780700780700F00E00F00E00F00E00F00E20F01C40F01C40703C40705C40308C800F07001314 7C9317>97 D<07803F8007000700070007000E000E000E000E001C001C001CF01D0C3A0E3C0E38 0F380F700F700F700F700FE01EE01EE01EE01CE03CE038607060E031C01F0010207B9F15>I<00 7E0001C1000300800E07801E07801C07003C0200780000780000780000F00000F00000F00000F0 0000F0000070010070020030040018380007C00011147C9315>I<0000780003F8000070000070 0000700000700000E00000E00000E00000E00001C00001C000F1C00389C00707800E03801C0380 3C0380380700780700780700780700F00E00F00E00F00E00F00E20F01C40F01C40703C40705C40 308C800F070015207C9F17>I<007C01C207010E011C013C013802780C7BF07C00F000F000F000 F0007000700170023804183807C010147C9315>I<00007800019C00033C00033C000718000700 000700000E00000E00000E00000E00000E0001FFE0001C00001C00001C00001C00003800003800 00380000380000380000700000700000700000700000700000700000E00000E00000E00000E000 00C00001C00001C0000180003180007B0000F300006600003C00001629829F0E>I<003C6000E2 7001C1E00380E00700E00F00E00E01C01E01C01E01C01E01C03C03803C03803C03803C03803C07 003C07001C0F001C17000C2E0003CE00000E00000E00001C00001C00301C00783800F0700060E0 003F8000141D7E9315>I<01E0000FE00001C00001C00001C00001C00003800003800003800003 8000070000070000071E000763000E81800F01C00E01C00E01C01C03801C03801C03801C038038 0700380700380700380E10700E20700C20701C20700C40E00CC060070014207D9F17>I<00C001 E001E001C000000000000000000000000000000E003300230043804300470087000E000E000E00 1C001C001C003840388030807080310033001C000B1F7C9E0E>I<01E0000FE00001C00001C000 01C00001C0000380000380000380000380000700000700000703C00704200E08E00E11E00E21E0 0E40C01C80001D00001E00001FC00038E000387000387000383840707080707080707080703100 E03100601E0013207D9F15>107 D<03C01FC0038003800380038007000700070007000E000E00 0E000E001C001C001C001C0038003800380038007000700070007100E200E200E200E200640038 000A207C9F0C>I<1C0F80F0002630C318004740640C004780680E004700700E004700700E008E 00E01C000E00E01C000E00E01C000E00E01C001C01C038001C01C038001C01C038001C01C07080 38038071003803806100380380E10038038062007007006600300300380021147C9325>I<1C0F 802630C04740604780604700704700708E00E00E00E00E00E00E00E01C01C01C01C01C01C01C03 843803883803083807083803107003303001C016147C931A>I<007C0001C3000301800E01C01E 01C01C01E03C01E07801E07801E07801E0F003C0F003C0F003C0F00780F00700700F00700E0030 180018700007C00013147C9317>I<01C1E002621804741C04781C04701E04701E08E01E00E01E 00E01E00E01E01C03C01C03C01C03C01C0380380780380700380E003C1C0072380071E00070000 0700000E00000E00000E00000E00001C00001C0000FFC000171D809317>I<00F0400388C00705 800E03801C03803C0380380700780700780700780700F00E00F00E00F00E00F00E00F01C00F01C 00703C00705C0030B8000F380000380000380000700000700000700000700000E00000E0000FFE 00121D7C9315>I<1C1E002661004783804787804707804703008E00000E00000E00000E00001C 00001C00001C00001C000038000038000038000038000070000030000011147C9313>I<00FC03 0206010C030C070C060C000F800FF007F803FC003E000E700EF00CF00CE008401020601F801014 7D9313>I<018001C0038003800380038007000700FFF007000E000E000E000E001C001C001C00 1C003800380038003820704070407080708031001E000C1C7C9B0F>I<0E00C03300E02301C043 81C04301C04701C08703800E03800E03800E03801C07001C07001C07001C07101C0E20180E2018 0E201C1E200C264007C38014147C9318>I<0E03803307802307C04383C04301C04700C0870080 0E00800E00800E00801C01001C01001C01001C02001C02001C04001C04001C08000E300003C000 12147C9315>I<0E00C1C03300E3C02301C3E04381C1E04301C0E04701C060870380400E038040 0E0380400E0380401C0700801C0700801C0700801C0701001C0701001C0602001C0F02000C0F04 000E13080003E1F0001B147C931E>I<0E00C03300E02301C04381C04301C04701C08703800E03 800E03800E03801C07001C07001C07001C07001C0E00180E00180E001C1E000C3C0007DC00001C 00001C00003800F03800F07000E06000C0C0004380003E0000131D7C9316>121 D E /Fm 46 124 df<0018007000E001C00380038007000E000E001E001C003C003C0078007800 78007800F800F000F000F000F000F000F000F000F000F000F80078007800780078003C003C001C 001E000E000E0007000380038001C000E0007000180D2D7DA114>40 DI<387CFEFFFF7F3B030306060E0C18702008107C860F>44 DI<387CFEFEFE7C3807077C860F>I<00E00001E0000FE000FF E000F3E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003 E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E000FFFF80FFFF8011 1D7C9C1A>49 D<07F0001FFE00383F007C1F80FE0FC0FE0FC0FE0FE0FE07E07C07E03807E0000F E0000FC0000FC0001F80001F00003E0000780000F00000E00001C0000380600700600E00601C00 E01FFFC03FFFC07FFFC0FFFFC0FFFFC0131D7D9C1A>I<01FC0007FF000E0F801E0FC03F07E03F 07E03F07E03F07E01E0FC0000FC0000F80001F0001FC0001FC00000F800007C00003E00003F000 03F83803F87C03F8FE03F8FE03F8FE03F0FC03F07807E03C0FC01FFF8003FC00151D7E9C1A>I< 0001C00003C00007C00007C0000FC0001FC0003BC00073C00063C000C3C00183C00383C00703C0 0E03C00C03C01803C03803C07003C0E003C0FFFFFEFFFFFE0007C00007C00007C00007C00007C0 0007C000FFFE00FFFE171D7F9C1A>I<3803803FFF803FFF003FFE003FFC003FF0003F80003000 0030000030000030000033F80037FE003C1F00380F801007C00007C00007E00007E07807E0FC07 E0FC07E0FC07E0FC07C0780FC0600F80381F001FFC0007F000131D7D9C1A>I<0000E000000000 E000000001F000000001F000000001F000000003F800000003F800000006FC00000006FC000000 0EFE0000000C7E0000000C7E000000183F000000183F000000303F800000301F800000701FC000 00600FC00000600FC00000C007E00000FFFFE00001FFFFF000018003F000018003F000030001F8 00030001F800060001FC00060000FC000E0000FE00FFE00FFFE0FFE00FFFE0231F7E9E28>65 D<0007FC02003FFF0E00FE03DE03F000FE07E0003E0FC0001E1F80001E3F00000E3F00000E7F00 00067E0000067E000006FE000000FE000000FE000000FE000000FE000000FE000000FE0000007E 0000007E0000067F0000063F0000063F00000C1F80000C0FC0001807E0003803F0007000FE01C0 003FFF800007FC001F1F7D9E26>67 DIII<0007FC0200003FFF0E0000FE03DE0003F000FE0007E0003E000FC000 1E001F80001E003F00000E003F00000E007F000006007E000006007E00000600FE00000000FE00 000000FE00000000FE00000000FE00000000FE003FFFE0FE003FFFE07E00007E007E00007E007F 00007E003F00007E003F00007E001F80007E000FC0007E0007E0007E0003F000FE0000FE01FE00 003FFF8E000007FC0600231F7D9E29>I73 D76 DI<03FC080FFF381E03F83800F87000787000 38F00038F00018F00018F80000FC00007FC0007FFE003FFF801FFFE00FFFF007FFF000FFF80007 F80000FC00007C00003CC0003CC0003CC0003CE00038E00078F80070FE01E0E7FFC081FF00161F 7D9E1D>83 D<7FFFFFFC7FFFFFFC7C07E07C7007E01C6007E00C6007E00CE007E00EC007E006C0 07E006C007E006C007E0060007E0000007E0000007E0000007E0000007E0000007E0000007E000 0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0 0003FFFFC003FFFFC01F1E7E9D24>I<07FC001FFF003F0F803F07C03F03E03F03E00C03E00003 E0007FE007FBE01F03E03C03E07C03E0F803E0F803E0F803E0FC05E07E0DE03FF8FE0FE07E1714 7F9319>97 DI<01FE0007FF801F0F C03E0FC03E0FC07C0FC07C0300FC0000FC0000FC0000FC0000FC0000FC00007C00007E00003E00 603F00C01F81C007FF0001FC0013147E9317>I<0007F80007F80000F80000F80000F80000F800 00F80000F80000F80000F80000F80000F801F8F80FFEF81F83F83E01F87E00F87C00F87C00F8FC 00F8FC00F8FC00F8FC00F8FC00F8FC00F87C00F87C00F87E00F83E01F81F07F80FFEFF03F8FF18 207E9F1D>I<01FE0007FF800F83C01E01E03E00F07C00F07C00F8FC00F8FFFFF8FFFFF8FC0000 FC0000FC00007C00007C00003E00181E00180F807007FFE000FF8015147F9318>I<001F8000FF C001F3E003E7E003C7E007C7E007C3C007C00007C00007C00007C00007C000FFFC00FFFC0007C0 0007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0 0007C00007C0003FFC003FFC0013207F9F10>I<01FC3C07FFFE0F079E1E03DE3E03E03E03E03E 03E03E03E03E03E01E03C00F07800FFF0009FC001800001800001C00001FFF800FFFF007FFF81F FFFC3C007C70003EF0001EF0001EF0001E78003C78003C3F01F80FFFE001FF00171E7F931A>I< FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0FC0 1F3FE01F61F01FC0F81F80F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8 1F00F81F00F81F00F81F00F8FFE3FFFFE3FF18207D9F1D>I<1C003E007F007F007F003E001C00 000000000000000000000000FF00FF001F001F001F001F001F001F001F001F001F001F001F001F 001F001F001F001F00FFE0FFE00B217EA00E>I107 DIII<01FF0007FFC01F83F03E00F83E00F87C007C7C00 7CFC007EFC007EFC007EFC007EFC007EFC007E7C007C7C007C3E00F83E00F81F83F007FFC001FF 0017147F931A>II<01F81807FE381F87783F01F83E01F8 7E00F87C00F8FC00F8FC00F8FC00F8FC00F8FC00F8FC00F87C00F87E00F87E00F83F01F81F87F8 0FFEF803F8F80000F80000F80000F80000F80000F80000F80000F80007FF0007FF181D7E931C> II<0FE63FFE701E600EE006 E006F800FFC07FF83FFC1FFE03FE001FC007C007E007F006F81EFFFCC7F010147E9315>I<0180 0180018003800380038007800F803F80FFFCFFFC0F800F800F800F800F800F800F800F800F800F 800F860F860F860F860F8607CC03F801F00F1D7F9C14>IIII121 D<3FFFE03FFFE03C07C0380F80701F80603F0060 3E00607C0000F80001F80003F00003E06007C0600F80601F80E03F00C03E01C07C03C0FFFFC0FF FFC013147F9317>II E /Fn 75 123 df0 D<07FFF800003F0000001E0000001E 0000001E0000001E0000007F800003DEF0000F1E3C001E1E1E003C1E0F007C1E0F80781E0780F8 1E07C0F81E07C0F81E07C0F81E07C0F81E07C0781E07807C1E0F803C1E0F001E1E1E000F1E3C00 03DEF000007F8000001E0000001E0000001E0000001E0000003F000007FFF8001A1F7D9E21>8 D<001F83E000F06E3001C078780380F8780300F030070070000700700007007000070070000700 70000700700007007000FFFFFF8007007000070070000700700007007000070070000700700007 007000070070000700700007007000070070000700700007007000070070000700700007007000 07007000070070007FE3FF001D20809F1B>11 D<003F0000E0C001C0C00381E00701E00701E007 0000070000070000070000070000070000FFFFE00700E00700E00700E00700E00700E00700E007 00E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E07FC3FE17 20809F19>I<001F81F80000F04F040001C07C06000380F80F000300F00F000700F00F00070070 000007007000000700700000070070000007007000000700700000FFFFFFFF0007007007000700 700700070070070007007007000700700700070070070007007007000700700700070070070007 007007000700700700070070070007007007000700700700070070070007007007000700700700 07007007007FE3FE3FF02420809F26>14 D<07070F1C383060C00808779F17>19 D<7038F87CFC7EFC7E743A0402040204020804080410081008201040200F0E7E9F17>34 D<000300C0000300C0000300C0000300C00006018000060180000601800006018000060180000C 0300000C0300000C0300000C0300000C0300001806007FFFFFFCFFFFFFFE00300C0000300C0000 300C0000300C0000601800006018000060180000601800FFFFFFFE7FFFFFFC00C0300001806000 018060000180600001806000018060000300C0000300C0000300C0000300C0000300C000060180 0006018000060180001F297D9F26>I<70F8FCFC74040404080810102040060E7C9F0D>39 D<0020004000800100020006000C000C00180018003000300030007000600060006000E000E000 E000E000E000E000E000E000E000E000E000E0006000600060007000300030003000180018000C 000C000600020001000080004000200B2E7DA112>I<800040002000100008000C000600060003 00030001800180018001C000C000C000C000E000E000E000E000E000E000E000E000E000E000E0 00E000C000C000C001C001800180018003000300060006000C00080010002000400080000B2E7D A112>I<0006000000060000000600000006000000060000000600000006000000060000000600 00000600000006000000060000000600000006000000060000FFFFFFF0FFFFFFF0000600000006 000000060000000600000006000000060000000600000006000000060000000600000006000000 0600000006000000060000000600001C207D9A23>43 D<70F8FCFC74040404080810102040060E 7C840D>II<70F8F8F87005057C840D>I<03F0000E1C001C0E00180600 380700700380700380700380700380F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0 F003C0F003C0F003C0F003C0F003C07003807003807003807807803807001806001C0E000E1C00 03F000121F7E9D17>48 D<018003800F80F3800380038003800380038003800380038003800380 0380038003800380038003800380038003800380038003800380038007C0FFFE0F1E7C9D17>I< 03F0000C1C00100E00200700400780800780F007C0F803C0F803C0F803C02007C00007C0000780 000780000F00000E00001C0000380000700000600000C0000180000300000600400C0040180040 1000803FFF807FFF80FFFF80121E7E9D17>I<03F0000C1C00100E00200F00780F807807807807 80380F80000F80000F00000F00000E00001C0000380003F000003C00000E00000F000007800007 800007C02007C0F807C0F807C0F807C0F00780400780400F00200E001C3C0003F000121F7E9D17 >I<000600000600000E00000E00001E00002E00002E00004E00008E00008E00010E00020E0002 0E00040E00080E00080E00100E00200E00200E00400E00C00E00FFFFF0000E00000E00000E0000 0E00000E00000E00000E0000FFE0141E7F9D17>I<1803001FFE001FFC001FF8001FE000100000 10000010000010000010000010000011F000161C00180E001007001007800003800003800003C0 0003C00003C07003C0F003C0F003C0E00380400380400700200600100E000C380003E000121F7E 9D17>I<007C000182000701000E03800C07801C0780380300380000780000700000700000F1F0 00F21C00F40600F80700F80380F80380F003C0F003C0F003C0F003C0F003C07003C07003C07003 803803803807001807000C0E00061C0001F000121F7E9D17>I<4000007FFFC07FFF807FFF8040 010080020080020080040000080000080000100000200000200000400000400000C00000C00001 C00001800003800003800003800003800007800007800007800007800007800007800007800003 0000121F7D9D17>I<03F0000C0C00100600300300200180600180600180600180700180780300 3E03003F06001FC8000FF00003F80007FC000C7E00103F00300F806003804001C0C001C0C000C0 C000C0C000C0C000806001802001001002000C0C0003F000121F7E9D17>I<03F0000E18001C0C 00380600380700700700700380F00380F00380F003C0F003C0F003C0F003C0F003C07007C07007 C03807C0180BC00E13C003E3C0000380000380000380000700300700780600780E00700C002018 001070000FC000121F7E9D17>I<70F8F8F8700000000000000000000070F8F8F87005147C930D> I<70F8F8F8700000000000000000000070F0F8F878080808101010202040051D7C930D>I<7FFF FFE0FFFFFFF00000000000000000000000000000000000000000000000000000000000000000FF FFFFF07FFFFFE01C0C7D9023>61 D<000100000003800000038000000380000007C0000007C000 0007C0000009E0000009E0000009E0000010F0000010F0000010F0000020780000207800002078 0000403C0000403C0000403C0000801E0000801E0000FFFE0001000F0001000F0001000F000200 07800200078002000780040003C00E0003C01F0007E0FFC03FFE1F207F9F22>65 DI<000FC040007030C001C009C0038005C0070003C00E0001C0 1E0000C01C0000C03C0000C07C0000407C00004078000040F8000000F8000000F8000000F80000 00F8000000F8000000F8000000F8000000F8000000780000007C0000407C0000403C0000401C00 00401E0000800E000080070001000380020001C0040000703800000FC0001A217D9F21>IIII<000FE0200078186000E004E0038002E0070001E00F0000E01E0000601E0000603C0000603C00 00207C00002078000020F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8 007FFCF80003E0780001E07C0001E03C0001E03C0001E01E0001E01E0001E00F0001E0070001E0 038002E000E0046000781820000FE0001E217D9F24>III76 DII<001F800000F0F0 0001C0380007801E000F000F000E0007001E0007803C0003C03C0003C07C0003E0780001E07800 01E0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F078 0001E07C0003E07C0003E03C0003C03C0003C01E0007800E0007000F000F0007801E0001C03800 00F0F000001F80001C217D9F23>II82 D<07E0800C1980100780300380600180600180E00180E00080E00080E00080 F00000F000007800007F00003FF0001FFC000FFE0003FF00001F800007800003C00003C00001C0 8001C08001C08001C08001C0C00180C00380E00300F00600CE0C0081F80012217D9F19>I<7FFF FFE0780F01E0600F0060400F0020400F0020C00F0030800F0010800F0010800F0010800F001000 0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000 000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F80 0007FFFE001C1F7E9E21>I87 D91 D<080410082010201040204020804080408040B85CFC7EFC7E7C3E381C0F0E7B9F17>II<1FE000303000781800781C00300E00000E00000E00000E0000FE00078E 001E0E00380E00780E00F00E10F00E10F00E10F01E10781E103867200F83C014147E9317>97 D<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E3E 000EC3800F01C00F00E00E00E00E00700E00700E00780E00780E00780E00780E00780E00780E00 700E00700E00E00F00E00D01C00CC300083E0015207F9F19>I<03F80E0C1C1E381E380C700070 00F000F000F000F000F000F00070007000380138011C020E0C03F010147E9314>I<000380003F 8000038000038000038000038000038000038000038000038000038000038003E380061B801C07 80380380380380700380700380F00380F00380F00380F00380F00380F003807003807003803803 803807801C07800E1B8003E3F815207E9F19>I<03F0000E1C001C0E0038070038070070070070 0380F00380F00380FFFF80F00000F00000F000007000007000003800801800800C010007060001 F80011147F9314>I<007C00C6018F038F07060700070007000700070007000700FFF007000700 07000700070007000700070007000700070007000700070007000700070007007FF01020809F0E >I<0000E003E3300E3C301C1C30380E00780F00780F00780F00780F00780F00380E001C1C001E 380033E0002000002000003000003000003FFE001FFF800FFFC03001E0600070C00030C00030C0 0030C000306000603000C01C038003FC00141F7F9417>I<0E0000FE00000E00000E00000E0000 0E00000E00000E00000E00000E00000E00000E00000E3E000E43000E81800F01C00F01C00E01C0 0E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0 FFE7FC16207F9F19>I<1C003E003E003E001C000000000000000000000000000E007E000E000E 000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFC00A1F809E0C> I<00E001F001F001F000E0000000000000000000000000007007F000F000700070007000700070 00700070007000700070007000700070007000700070007000700070007000706070F060F0C061 803F000C28829E0E>I<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00 000E00000E00000E0FF00E03C00E03000E02000E04000E08000E10000E30000E70000EF8000F38 000E1C000E1E000E0E000E07000E07800E03800E03C00E03E0FFCFF815207F9F18>I<0E00FE00 0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E 000E000E000E000E000E000E000E000E000E00FFE00B20809F0C>I<0E1F01F000FE618618000E 81C81C000F00F00E000F00F00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E00 0E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E 000E00E00E00FFE7FE7FE023147F9326>I<0E3E00FE43000E81800F01C00F01C00E01C00E01C0 0E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0FFE7FC 16147F9319>I<01F800070E001C03803801C03801C07000E07000E0F000F0F000F0F000F0F000 F0F000F0F000F07000E07000E03801C03801C01C0380070E0001F80014147F9317>I<0E3E00FE C3800F01C00F00E00E00E00E00F00E00700E00780E00780E00780E00780E00780E00780E00700E 00F00E00E00F01E00F01C00EC3000E3E000E00000E00000E00000E00000E00000E00000E00000E 0000FFE000151D7F9319>I<03E0800619801C05803C0780380380780380700380F00380F00380 F00380F00380F00380F003807003807803803803803807801C0B800E138003E380000380000380 000380000380000380000380000380000380003FF8151D7E9318>I<0E78FE8C0F1E0F1E0F0C0E 000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00F147F9312>I<1F9030 704030C010C010C010E00078007F803FE00FF00070803880188018C018C018E030D0608F800D14 7E9312>I<020002000200060006000E000E003E00FFF80E000E000E000E000E000E000E000E00 0E000E000E000E080E080E080E080E080610031001E00D1C7F9B12>I<0E01C0FE1FC00E01C00E 01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E 03C00603C0030DC001F1FC16147F9319>III<7FC3FC0F01E00701C007018003810001C20000E40000EC 00007800003800003C00007C00004E000087000107000303800201C00601E01E01E0FF07FE1714 809318>II<3FFF380E200E201C40384078407000E001E0 01C00380078007010E011E011C0338027006700EFFFE10147F9314>I E /Fo 10 116 df<0E000F0003C001C001C001C003C0FF000A087A7E16>24 D<03FFFFFF003E001F003C000E003C0006003C0002003C0002003C000200780002007800020078 000200780202007802000078060000F0040000F0040000F01C0000FFFC0000F01C0000F00C0001 E0080001E0080001E0080001E0080001E0000001E0000003C0000003C0000003C0000003C00000 03C0000003C0000007C0000007C00000FFFE000020227EA120>70 D<03FE00000FF8003E00001F 80002F00001F00002F00002F00002F00002F00002F00004F00002F00004F00004780009E000047 80009E00004780011E00004780011E00004780021E000043C0041E000083C0043C000083C0083C 000083C0083C000083C0103C000081E0103C000081E0203C000101E02078000101E04078000101 E04078000100F08078000100F08078000100F10078000200F100F0000200F200F00002007C00F0 0002007C00F00002007800F00006007800F00006007001E0001F003001F000FFE0203FFF002D22 7EA12D>77 D<03FC000606000F03000F03800601800001C0000380000380007F8003E3800F0380 1C0380380700780700F00708F00708F00F08F00F08F017107867A01F83C015157D9418>97 D<00FF000381C00603C00C03C01C0180380000780000700000F00000F00000F00000F00000F000 00E00000F00000F000807001007001003806001C180007E00012157C9416>99 D<006000F001F001F000E00000000000000000000000000000000001C00FC001C001C001C001C0 0380038003800380038003800700070007000700070007000E000F00FFE00C227FA10E>105 D<01C3F01FCC1801D00C01E00E01E00E01C00E03C01C03801C03801C03801C03801C03801C0700 380700380700380700380700380700380E00700F0078FFE7FF18157F941B>110 D<007E000383800600C00C00E01C0070380070780078700078F00078F00078F00078F00078E000 F0E000F0E000E0F001E07001C07003803807001C1C0007F00015157D9418>I<01C7C01FC8E001 D1E001E1E001E0C001C00003C00003800003800003800003800003800007000007000007000007 00000700000700000E00000F0000FFF00013157F9413>114 D<01F906070C0318031801180118 021C001FE00FF807FC007E000E4006400640066006600CE008D83087C010157E9413>I E /Fp 11 122 df66 D<0FF8001C1E003E0F803E07803E07C01C07C00007C0007FC007E7C01F 07C03C07C07C07C0F807C0F807C0F807C0780BC03E13F80FE1F815127F9117>97 DI<03F8F00E0F381E0F381C07303C07803C07803C07803C 07801C07001E0F000E0E001BF8001000001800001800001FFF001FFFC00FFFE01FFFF07801F8F0 0078F00078F000787000707800F01E03C007FF00151B7F9118>103 DI<1E003F003F003F003F001E00000000000000000000000000FF00FF001F001F001F 001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B1E7F9D0E>I108 D<01FC000F07801C01C03C01E07800F078 00F0F800F8F800F8F800F8F800F8F800F8F800F87800F07800F03C01E01E03C00F078001FC0015 127F9118>111 DI114 D121 D E /Fq 21 117 df45 D<000070000000007000000000F800000000F800000000F800000001FC00000001FC00000003FE 00000003FE00000003FE00000006FF000000067F0000000E7F8000000C3F8000000C3F80000018 3FC00000181FC00000381FE00000300FE00000300FE00000600FF000006007F00000E007F80000 FFFFF80000FFFFF800018001FC00018001FC00038001FE00030000FE00030000FE000600007F00 0600007F00FFE00FFFF8FFE00FFFF825227EA12A>65 D69 D73 D<01FC0407FF8C1F03FC3C007C7C003C78001C78001CF8000CF8000CFC000CFC0000FF00 00FFE0007FFF007FFFC03FFFF01FFFF80FFFFC03FFFE003FFE0003FF00007F00003F00003FC000 1FC0001FC0001FE0001EE0001EF0003CFC003CFF00F8C7FFE080FF8018227DA11F>83 D<07FC001FFF803F07C03F03E03F01E03F01F01E01F00001F00001F0003FF003FDF01FC1F03F01 F07E01F0FC01F0FC01F0FC01F0FC01F07E02F07E0CF81FF87F07E03F18167E951B>97 D<00FF8007FFE00F83F01F03F03E03F07E03F07C01E07C0000FC0000FC0000FC0000FC0000FC00 00FC00007C00007E00007E00003E00301F00600FC0E007FF8000FE0014167E9519>99 D<00FE0007FF800F87C01E01E03E01F07C00F07C00F8FC00F8FC00F8FFFFF8FFFFF8FC0000FC00 00FC00007C00007C00007E00003E00181F00300FC07003FFC000FF0015167E951A>101 D<003F8000FFC001E3E003C7E007C7E00F87E00F83C00F80000F80000F80000F80000F80000F80 00FFFC00FFFC000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80 000F80000F80000F80000F80000F80000F80000F80007FF8007FF80013237FA211>I<03FC1E0F FF7F1F0F8F3E07CF3C03C07C03E07C03E07C03E07C03E07C03E03C03C03E07C01F0F801FFF0013 FC003000003000003800003FFF801FFFF00FFFF81FFFFC3800FC70003EF0001EF0001EF0001EF0 001E78003C7C007C3F01F80FFFE001FF0018217E951C>II<1C003E007F007F007F003E001C0000000000000000000000 00000000FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F 001F001F00FFE0FFE00B247EA310>I107 DIII<00FE0007FFC00F83E01E00F03E00F87C007C7C007C7C007CFC007EFC007EFC 007EFC007EFC007EFC007EFC007E7C007C7C007C3E00F81F01F00F83E007FFC000FE0017167E95 1C>II114 D<0FF3003FFF00781F00600700E00300E00300F00300 FC00007FE0007FF8003FFE000FFF0001FF00000F80C00780C00380E00380E00380F00700FC0E00 EFFC00C7F00011167E9516>I<0180000180000180000180000380000380000780000780000F80 003F8000FFFF00FFFF000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80 000F80000F81800F81800F81800F81800F81800F830007C30003FE0000F80011207F9F16>I E /Fr 47 124 df<007E0001C1800301800703C00E03C00E01800E00000E00000E00000E00000E 0000FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E 01C00E01C00E01C00E01C00E01C07F87F8151D809C17>12 D<1C1C3C3870C0800607779C15>19 D<1C001E00078003C001C00380FF000A077B7E12>24 D<004000800100020006000C000C001800 1800300030007000600060006000E000E000E000E000E000E000E000E000E000E000E000E00060 0060006000700030003000180018000C000C00060002000100008000400A2A7D9E10>40 D<800040002000100018000C000C000600060003000300038001800180018001C001C001C001C0 01C001C001C001C001C001C001C001C0018001800180038003000300060006000C000C00180010 002000400080000A2A7E9E10>I<60F0F0701010101020204080040C7C830C>44 D<60F0F06004047C830C>46 D<03C00C301818300C300C700E60066006E007E007E007E007E007 E007E007E007E007E007E007E007E00760066006700E300C300C18180C3007E0101D7E9B15>48 D<030007003F00C700070007000700070007000700070007000700070007000700070007000700 07000700070007000700070007000F80FFF80D1C7C9B15>I<07C01830201C400C400EF00FF80F F807F8077007000F000E000E001C001C00380070006000C00180030006010C01180110023FFE7F FEFFFE101C7E9B15>I<07E01830201C201C781E780E781E381E001C001C00180030006007E000 30001C001C000E000F000F700FF80FF80FF80FF00E401C201C183007E0101D7E9B15>I<000C00 000C00001C00003C00003C00005C0000DC00009C00011C00031C00021C00041C000C1C00081C00 101C00301C00201C00401C00C01C00FFFFC0001C00001C00001C00001C00001C00001C00001C00 01FFC0121C7F9B15>I<03E00C301008200C20066006600660067006780C3E083FB01FE007F007 F818FC307E601E600FC007C003C003C003C00360026004300C1C1007E0101D7E9B15>56 D<03C00C301818300C700C600EE006E006E007E007E007E007E0076007700F300F18170C2707C7 00060006000E300C780C78187010203030C00F80101D7E9B15>I<60F0F0600000000000000000 000060F0F06004127C910C>I<000600000006000000060000000F0000000F0000000F00000017 800000178000001780000023C0000023C0000023C0000041E0000041E0000041E0000080F00000 80F0000180F8000100780001FFF80003007C0002003C0002003C0006003E0004001E0004001E00 0C001F001E001F00FF80FFF01C1D7F9C1F>65 D<001F808000E0618001801980070007800E0003 801C0003801C00018038000180780000807800008070000080F0000000F0000000F0000000F000 0000F0000000F0000000F0000000F0000000700000807800008078000080380000801C0001001C 0001000E000200070004000180080000E03000001FC000191E7E9C1E>67 D69 DI<1FFF00F800780078007800 780078007800780078007800780078007800780078007800780078007800787078F878F878F878 F0F040E021C01F00101D7F9B15>74 D77 D82 D<07E0801C1980300580700380600180E00180E00080E00080 E00080F00000F800007C00007FC0003FF8001FFE0007FF0000FF80000F800007C00003C00001C0 8001C08001C08001C0C00180C00180E00300D00200CC0C0083F800121E7E9C17>I91 D93 D<1FC000307000783800781C00301C00001C00001C0001FC00 0F1C00381C00701C00601C00E01C40E01C40E01C40603C40304E801F870012127E9115>97 DI<07E00C301878307870306000E000E000E000E000E000 E00060007004300418080C3007C00E127E9112>I<003F00000700000700000700000700000700 00070000070000070000070000070003E7000C1700180F00300700700700600700E00700E00700 E00700E00700E00700E00700600700700700300700180F000C370007C7E0131D7E9C17>I<03E0 0C301818300C700E6006E006FFFEE000E000E000E00060007002300218040C1803E00F127F9112 >I<00F8018C071E061E0E0C0E000E000E000E000E000E00FFE00E000E000E000E000E000E000E 000E000E000E000E000E000E000E000E000E007FE00F1D809C0D>I<00038003C4C00C38C01C38 80181800381C00381C00381C00381C001818001C38000C300013C0001000003000001800001FF8 001FFF001FFF803003806001C0C000C0C000C0C000C06001803003001C0E0007F800121C7F9215 >II<18003C003C00180000000000000000000000000000 00FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80091D 7F9C0C>I108 DII<03F0000E1C00180600300300700380600180E001C0E001C0E001C0E001C0E001C0E001C0 6001807003803003001806000E1C0003F00012127F9115>II<03C1000C330018 0B00300F00700700700700E00700E00700E00700E00700E00700E00700600700700700300F0018 0F000C370007C700000700000700000700000700000700000700000700003FE0131A7E9116>I< FCE01D301E781E781C301C001C001C001C001C001C001C001C001C001C001C001C00FFC00D127F 9110>I<1F9030704030C010C010E010F8007F803FE00FF000F880388018C018C018E010D0608F C00D127F9110>I<04000400040004000C000C001C003C00FFE01C001C001C001C001C001C001C 001C001C001C101C101C101C101C100C100E2003C00C1A7F9910>III121 D123 D E end %%EndProlog %%BeginSetup %%Feature: *Resolution 300dpi TeXDict begin %%PaperSize: A4 %%EndSetup %%Page: 129 1 129 0 bop 315 293 a Fq(Impleme)o(n)n(tation)16 b(of)j(the)f(Sc)n(ho)r(of-A)n (tkin-Elkies)f(Algorithm)802 422 y Fo(F)l(ran\030)-22 b(cois)16 b(Morain)779 481 y Fn(\023)775 492 y(Ecole)g(P)o(olytec)o(hnique)827 594 y(Marc)o(h,)e(7,)h(1994)699 696 y([summary)f(b)o(y)h(Daniel)h(Augot])50 836 y(After)d(the)g(de\014nitions)i(in)o(tro)q(duced)g(in)f(the)g(previous)g (talk,)f(algorithms)g(are)g(presen)o(ted)h(for)f(computing)h(the)0 890 y(n)o(um)o(b)q(er)j(p)q(oin)o(ts)f(of)g(an)h(elliptic)i(curv)o(e)d(on)h Fc(F)785 897 y Ff(p)806 890 y Fn(,)f Fk(p)e(>)h Fn(3)h(a)g(prime)h(n)o(um)o (b)q(er.)24 b(Three)17 b(authors)e(ha)o(v)o(e)h(con)o(tributed)0 944 y(to)e(the)h(problem,)g(Sc)o(ho)q(of,)g(A)o(tkin)g(and)g(Elkies.)21 b(The)15 b(basic)g(ideas)h(are)e(from)g(Sc)o(ho)q(of)h(and)g(A)o(tkin,)g (Elkies)h(giv)o(es)0 998 y(a)e(re\014nemen)o(t)h(of)g(Sc)o(ho)q(of)t('s)f (metho)q(d.)19 b(A)c(merge)g(of)f(Elkies)i(and)f(Sc)o(ho)q(of)t('s)f(metho)q (ds,)g(due)i(to)e(A)o(tkin,)g(is)i(\014nally)0 1052 y(adopted.)771 1179 y Fm(1.)26 b(Elliptic)20 b(Curv)o(es)50 1260 y(1.1.)25 b(Group)14 b(La)o(w.)23 b Fn(The)12 b(ab)q(elian)i(group)e(structure)g(of)g (an)h(elliptic)i(curv)o(e)d(can)h(b)q(e)g(used)g(in)g(cryptograph)o(y)l(,)0 1314 y(using)j(the)f(di\016cult)o(y)i(of)e(the)g(discrete)i(logarithm)e (problem.)21 b(One)16 b(has)f(to)g(\014nd)h(a)f(generator,)f(and)h(th)o(us)h (m)o(ust)0 1368 y(compute)f(the)h(n)o(um)o(b)q(er)f(of)g(p)q(oin)o(ts)h(on)f (the)g(elliptic)j(curv)o(e)d(o)o(v)o(er)g Fc(F)1152 1375 y Ff(p)1173 1368 y Fn(.)50 1425 y(An)g(elliptic)j(curv)o(e)e Fk(E)s Fn(\()p Fm(k)p Fn(\))d(o)o(v)o(er)h(a)h(\014eld)i Fm(k)d Fn(is)i(de\014ned)h(b)o(y)e(its)g(\(pro)s(jectiv)o(e\))f(equation)738 1520 y Fk(y)762 1501 y Fj(2)780 1520 y Fk(z)h Fn(=)e Fk(x)890 1501 y Fj(3)918 1520 y Fn(+)e Fk(Axz)1047 1501 y Fj(2)1076 1520 y Fn(+)f Fk(B)r(z)1180 1501 y Fj(3)1200 1520 y Fk(:)0 1615 y Fn(The)15 b(group)g(la)o(w)g(on)h Fk(E)s Fn(\()p Fm(k)p Fn(\))d(\(restricted)i(to)g(the)g(a\016ne)g(plane\))h(is)699 1710 y(\()p Fk(x)743 1717 y Fj(3)761 1710 y Fk(;)8 b(y)804 1717 y Fj(3)822 1710 y Fn(\))13 b(=)g(\()p Fk(x)945 1717 y Fj(1)963 1710 y Fk(;)8 b(y)1006 1717 y Fj(1)1024 1710 y Fn(\))i(+)g(\()p Fk(x)1141 1717 y Fj(2)1160 1710 y Fk(;)e(y)1203 1717 y Fj(2)1221 1710 y Fn(\))p Fk(:)0 1805 y Fn(where)257 1832 y Fg(\032)309 1864 y Fk(x)335 1871 y Fj(3)395 1864 y Fn(=)42 b Fk(\025)499 1847 y Fj(2)527 1864 y Fe(\000)10 b Fk(x)598 1871 y Fj(1)627 1864 y Fe(\000)h Fk(x)699 1871 y Fj(2)311 1917 y Fk(y)333 1924 y Fj(3)395 1917 y Fn(=)42 b Fk(\025)p Fn(\()p Fk(x)543 1924 y Fj(1)571 1917 y Fe(\000)10 b Fk(x)642 1924 y Fj(3)661 1917 y Fn(\))f Fe(\000)i Fk(y)756 1924 y Fj(1)823 1891 y Fn(and)16 b Fk(\025)c Fn(=)999 1832 y Fg(\032)1051 1864 y Fn(\()p Fk(y)1091 1871 y Fj(2)1119 1864 y Fe(\000)f Fk(y)1187 1871 y Fj(1)1206 1864 y Fn(\)\()p Fk(x)1268 1871 y Fj(2)1296 1864 y Fe(\000)f Fk(x)1367 1871 y Fj(1)1386 1864 y Fn(\))1404 1847 y Fh(\000)p Fj(1)1463 1864 y Fn(if)16 b Fk(x)1531 1871 y Fj(2)1562 1864 y Fe(6)p Fn(=)d Fk(x)1636 1871 y Fj(1)1655 1864 y Fk(;)1051 1917 y Fn(\(3)p Fk(x)1118 1901 y Fj(2)1118 1929 y(1)1146 1917 y Fn(+)d Fk(A)p Fn(\)\(2)p Fk(y)1306 1924 y Fj(1)1324 1917 y Fn(\))1342 1901 y Fh(\000)p Fj(1)1402 1917 y Fn(otherwise.)0 2010 y(The)15 b(neutral)h(elemen)o(t)g(if)g(0)483 2017 y Ff(E)523 2010 y Fn(=)d(\(0)f(:)g(1)h(:)f(0\);)i(the)h(in)o(v)m(arian)o(t)h(is)g Fk(j)s Fn(\()p Fk(E)s Fn(\))10 b(=)j(2)1269 1994 y Fj(8)1288 2010 y Fn(3)1311 1994 y Fj(3)1393 1992 y Ff(A)1418 1980 y Fd(3)p 1334 1999 159 2 v 1334 2026 a Fj(4)p Ff(A)1376 2018 y Fd(3)1392 2026 y Fj(+27)p Ff(B)1477 2018 y Fd(2)1498 2010 y Fn(.)50 2116 y Fi(Theorem)18 b Fn(1)p Fi(.)i Fn(#)p Fk(E)s Fn(\()p Fc(F)449 2123 y Ff(p)468 2116 y Fn(\))13 b(=)f Fk(p)7 b Fn(+)g(1)g Fe(\000)g Fk(t)p Fl(,)14 b Fe(j)p Fk(t)p Fe(j)e(\024)h Fn(2)859 2088 y Fe(p)p 897 2088 23 2 v 28 x Fk(p)p Fl(.)20 b Fk(E)s Fn(\()p Fc(F)1035 2123 y Ff(p)1055 2116 y Fn(\))14 b Fl(is)g(isomorphic)i(to)f Fk(E)1453 2123 y Fj(1)1477 2116 y Fe(\002)7 b Fk(E)1553 2123 y Fj(2)1571 2116 y Fl(,)15 b(wher)n(e)g Fn(#)p Fk(E)1799 2123 y Fj(1)1830 2116 y Fn(=)e Fk(m)1918 2123 y Fj(1)1936 2116 y Fl(,)0 2170 y Fn(#)p Fk(E)72 2177 y Fj(2)103 2170 y Fn(=)g Fk(m)191 2177 y Fj(2)209 2170 y Fl(,)j Fk(m)279 2177 y Fj(1)311 2170 y Fe(j)c Fk(m)376 2177 y Fj(2)411 2170 y Fl(and)k Fk(m)539 2177 y Fj(1)570 2170 y Fe(j)c Fk(p)e Fe(\000)h Fn(1)p Fl(.)50 2276 y Fm(1.2.)25 b(Coun)o(ting)18 b(p)q(oin)o(ts,)g(old.)23 b Fn(The)15 b(\\Lang-T)l(rotter")f(metho)q(d)h(uses)h(the)f(quadratic)h(c)o (haracter:)582 2408 y(#)p Fk(E)s Fn(\()p Fc(F)701 2415 y Ff(p)721 2408 y Fn(\))c(=)h Fk(p)d Fn(+)g(1)g(+)956 2353 y Ff(p)p Fh(\000)p Fj(1)956 2368 y Fg(X)956 2455 y Ff(x)p Fj(=0)1024 2348 y Fg(\022)1060 2377 y Fk(x)1086 2361 y Fj(3)1114 2377 y Fn(+)h Fk(Ax)f Fn(+)g Fk(B)p 1060 2397 253 2 v 1175 2439 a(p)1317 2348 y Fg(\023)1355 2408 y Fk(:)0 2539 y Fn(The)15 b(cost)g(of)g(computation)g(is)h Fk(O)q Fn(\()p Fk(p)p Fn(\),)e(th)o(us)h(con)o(v)o(enien)o(t)g(for)g(small)h Fk(p)f Fn(only)l(.)50 2596 y(Shanks')h(tec)o(hnique)i(of)e(\\Bab)o(y)h (Steps,)f(Gian)o(t)h(Steps",)f(v)m(alid)i(for)e(general)h(groups,)g(can)f(b)q (e)h(applied)i(here,)0 2650 y(at)c(cost)f Fk(O)q Fn(\()p Fk(p)231 2622 y Fd(1)p 231 2627 15 2 v 231 2643 a(4)252 2650 y Fn(\).)944 2749 y Fr(129)p eop %%Page: 130 2 130 1 bop 794 141 a Fm(2.)26 b(\(F)l(ull\))19 b(Sc)o(ho)q(of)50 221 y(2.1.)25 b(Division)16 b(p)q(olynomials.)23 b Fn(One)14 b(can)e(see)h(that)f(the)g(co)q(ordinates)h(of)f Fk(nP)19 b Fn(can)13 b(b)q(e)g(expressed)g(in)h(terms)0 275 y(of)h(p)q(olynomials)i(in)f (the)f(co)q(ordinates)g(of)g Fk(P)22 b Fn(a)15 b(p)q(oin)o(t)g(of)g(the)g (elliptic)j(curv)o(e:)622 387 y Fk(n)p Fn(\()p Fk(X)q(;)8 b(Y)h Fn(\))k(=)841 327 y Fg(\022)877 356 y Fk(\036)904 363 y Ff(n)927 356 y Fn(\()p Fk(X)q(;)8 b(Y)h Fn(\))p 876 376 183 2 v 876 418 a Fk( )908 405 y Fj(2)906 429 y Ff(n)928 418 y Fn(\()p Fk(X)q(;)f(Y)h Fn(\))1064 387 y Fk(;)1090 356 y(!)1118 363 y Ff(n)1141 356 y Fn(\()p Fk(X)q(;)f(Y)h Fn(\))p 1089 376 V 1089 418 a Fk( )1121 405 y Fj(3)1119 429 y Ff(n)1142 418 y Fn(\()p Fk(X)q(;)f(Y)h Fn(\))1277 327 y Fg(\023)1315 387 y Fk(:)50 503 y Fi(Definition)16 b Fn(1)p Fi(.)k Fn(The)c(division)h(p)q (olynomial)g Fk(f)884 510 y Ff(n)906 503 y Fn(\()p Fk(X)q(;)8 b(Y)h Fn(\))15 b(is)533 617 y Fk(f)555 624 y Ff(n)578 617 y Fn(\()p Fk(X)q(;)8 b(Y)h Fn(\))j(=)769 557 y Fg(\032)821 589 y Fk( )851 596 y Ff(n)873 589 y Fn(\()p Fk(X)q(;)c(Y)h Fn(\))174 b(for)15 b Fk(n)g Fn(o)q(dd,)821 643 y Fk( )851 650 y Ff(n)873 643 y Fn(\()p Fk(X)q(;)8 b(Y)h Fn(\))p Fk(=)p Fn(\(2)p Fk(Y)h Fn(\))56 b(for)15 b Fk(n)g Fn(ev)o(en.)0 732 y(The)j(\014rst)f(division)i(p)q (olynomials)g(are)e Fk(f)717 739 y Fh(\000)p Fj(1)778 732 y Fn(=)g Fe(\000)p Fn(1,)h Fk(f)941 739 y Fj(0)976 732 y Fn(=)f(0,)g Fk(f)1103 739 y Fj(1)1138 732 y Fn(=)g(1,)g Fk(f)1265 739 y Fj(2)1301 732 y Fn(=)f(1,)i Fk(f)1428 739 y Fj(3)1446 732 y Fn(\()p Fk(X)q(;)8 b(Y)i Fn(\))16 b(=)g(3)p Fk(X)1710 716 y Fj(4)1739 732 y Fn(+)c(6)p Fk(AX)1885 716 y Fj(4)1915 732 y Fn(+)0 786 y(12)p Fk(B)r(X)i Fe(\000)c Fk(A)213 770 y Fj(2)232 786 y Fn(.)50 875 y(The)21 b(division)j(p)q(olynomials)e(can)g(b)q(e)g (computed)f(with)h(recurrence)g(relations.)39 b(They)21 b(are)g(in)h(fact)f (uni-)0 929 y(v)m(ariate)h(p)q(olynomials,)j(and)d(their)h(degree)f(is)h(of)e (order)h Fe(\031)j Fk(n)1114 913 y Fj(2)1132 929 y Fk(=)p Fn(2.)40 b(The)22 b(p)q(oin)o(ts)h Fk(P)30 b Fn(=)25 b(\()p Fk(x;)8 b(y)r Fn(\))22 b Fe(2)j Fk(E)f Fn(of)d(or-)0 983 y(der)e Fk(`)g Fn(in)g Fk(E)s Fn(\()p 231 947 47 2 v Fc(F)257 990 y Ff(p)277 983 y Fn(\))f(are)h(the)g(p)q(oin)o(ts)g(suc)o(h)g(that)f Fk(f)845 990 y Ff(`)861 983 y Fn(\()p Fk(x)p Fn(\))g(=)h(0;)h(these)e(p)q(oin)o(ts)i (can)e(b)q(e)i(describ)q(ed)h(in)e(the)g(algebra)0 1037 y Fc(F)26 1044 y Ff(p)47 1037 y Fn([)p Fk(X)q(;)8 b(Y)h Fn(])p Fk(=)f Fn(\()o Fk(Y)252 1021 y Fj(2)281 1037 y Fe(\000)i Fn(\()p Fk(X)386 1021 y Fj(3)414 1037 y Fn(+)g Fk(AX)k Fn(+)c Fk(B)r Fn(\))p Fk(;)e(f)687 1044 y Ff(`)703 1037 y Fn(\()p Fk(X)t Fn(\)\))n(.)50 1130 y Fi(Theorem)18 b Fn(2)p Fi(.)i Fl(L)n(et)e Fk(E)s Fn([)p Fk(`)p Fn(])d(=)j Fe(f)p Fk(P)24 b Fe(2)17 b Fc(P)715 1137 y Fj(2)731 1130 y Fn(\()p 749 1094 V Fc(F)775 1137 y Ff(p)795 1130 y Fn(\))p Fk(;)8 b(`P)23 b Fn(=)18 b(0)981 1137 y Ff(E)1009 1130 y Fe(g)g Fl(denotes)h(the)g(set)f(of)h(p)n(oints)g(of)g Fk(`)p Fl(-)p Fn(division)p Fl(.)31 b(Then)0 1184 y Fk(E)s Fn([)p Fk(`)p Fn(])15 b Fl(is)g(isomorphic)i(to)g Fc(Z)-13 b Fk(=`)p Fc(Z)k Fe(\002)11 b Fc(Z)-13 b Fk(=`)p Fc(Z)d Fl(.)50 1278 y Fm(2.2.)25 b(The)d(algorithm.)h Fn(Let)c Fk(\036)g Fn(:)f Fk(E)i Fe(!)f Fk(E)i Fn(denote)e(the)g(map)f(\()p Fk(x;)8 b(y)r Fn(\))17 b Fe(7!)i Fn(\()p Fk(x)1429 1261 y Ff(p)1448 1278 y Fk(;)8 b(y)1493 1261 y Ff(p)1511 1278 y Fn(\).)30 b(It)18 b(is)i(kno)o(wn)e(that)g Fk(\036)0 1332 y Fn(satis\014es)d(the)h(equation)f Fk(\036)458 1315 y Fj(2)487 1332 y Fe(\000)c Fk(t\036)f Fn(+)h Fk(p)h Fn(=)h(0,)i(where)g Fk(t)h Fn(is)f(de\014ned)i(in)f(theorem)f(1.)50 1387 y(One)h(w)o(orks)e(with)h(the)h(equation)619 1435 y Fg(\020)644 1482 y Fk(X)686 1463 y Ff(p)703 1451 y Fd(2)721 1482 y Fk(;)8 b(Y)777 1463 y Ff(p)794 1451 y Fd(2)813 1435 y Fg(\021)848 1482 y Fn(+)i Fk(p)e Fn(\()o Fk(X)q(;)g(Y)i Fn(\))i(=)h Fk(t)8 b Fn(\()p Fk(X)1199 1463 y Ff(p)1217 1482 y Fk(;)g(Y)1274 1463 y Ff(p)1293 1482 y Fn(\))f Fk(;)0 1581 y Fn(in)14 b(the)f(\014eld)h Fc(F)249 1588 y Ff(p)270 1581 y Fn([)p Fk(X)q(;)8 b(Y)h Fn(])p Fk(=)f Fn(\()o Fk(Y)475 1565 y Fj(2)504 1581 y Fe(\000)i Fn(\()p Fk(X)609 1565 y Fj(3)637 1581 y Fn(+)h Fk(AX)i Fn(+)d Fk(B)r Fn(\))p Fk(;)e(f)910 1588 y Ff(`)926 1581 y Fn(\()p Fk(X)t Fn(\)\))o(,)13 b(\014nding)h(the)f(v)m(alue)h(of)f Fk(t)g Fn(mo)q(d)g Fk(`)f Fn(b)o(y)h(trial)h(and)f(error.)50 1636 y(F)l(or)i(di\013eren)o(t)g(v) m(alues)i(of)e Fk(`)p Fn(,)g Fk(t)e Fn(mo)q(d)g Fk(`)i Fn(is)h(obtained,)g (and)f Fk(t)h Fn(is)g(found)g(b)o(y)f(the)h(Chinese)g(remainder)h(theorem,)0 1690 y(kno)o(wing)e(that)g Fe(j)p Fk(t)p Fe(j)d(\024)h Fn(2)403 1662 y Fe(p)p 441 1662 23 2 v 28 x Fk(p)p Fn(.)877 1800 y Fm(3.)26 b(A)o(tkin)50 1881 y Fn(The)15 b(trouble)h(with)f(division)i(p)q(olynomials)g (is)e(their)h(imp)q(ortan)o(t)f(degree,)g Fe(\031)e Fk(`)1414 1864 y Fj(2)1432 1881 y Fk(=)p Fn(2)i(for)f(p)q(oin)o(ts)i(of)e Fk(`)p Fn(-division.)0 1935 y(A)o(tkin's)19 b(approac)o(h)f(do)q(es)h(not)g (use)g(the)g(division)i(p)q(olynomials,)g(and)e(is)g(related)g(to)f(the)h(mo) q(dular)h(equation)0 1989 y(\010)33 1996 y Ff(`)49 1989 y Fn(\()p Fk(j)s Fn(\()p Fk(q)129 1972 y Ff(`)143 1989 y Fn(\))p Fk(;)8 b(j)s Fn(\()p Fk(q)r Fn(\)\).)50 2082 y Fm(3.1.)25 b(The)16 b(factorization)i(of)d(a)h(mo)q(dular)g(equation.)23 b Fn(The)14 b(\(canonical\))g(mo)q(dular)g(equation)g(for)e Fk(j)s Fn(\()p Fk(q)1917 2065 y Ff(`)1932 2082 y Fn(\))0 2136 y(is)k(in)g(strong)e(corresp)q (ondence)i(with)g(the)f(p)q(oin)o(ts)h(of)f Fk(`)p Fn(-division.)50 2191 y(It)f(is)h(kno)o(wn)f(from)g(the)g(literature)h(that)f(a)g(mo)q(dular)g (equation)h(\010)1201 2198 y Ff(`)1217 2191 y Fn(\()p Fk(X)q(;)8 b(j)s Fn(\()p Fk(E)s Fn(\))o(\))j(admits)k(one)f(of)g(four)g(t)o(yp)q(es)g (of)0 2245 y(factorization)h(mo)q(dulo)h Fk(p)p Fn(:)70 2314 y(\(1\))k(\010)182 2321 y Ff(`)215 2314 y Fn(factors)d(in)o(to)h Fk(s)h Fn(irreducible)i(p)q(olynomials)e(of)f(degree)g Fk(r)q Fn(.)29 b(Then)18 b(the)h(equation)f Fk(X)1680 2298 y Fj(2)1710 2314 y Fe(\000)12 b Fk(tX)k Fn(+)c Fk(p)18 b Fe(\021)149 2368 y Fn(0)12 b(mo)q(d)h Fk(`)k Fn(has)g(t)o(w)o(o)e(ro)q(ots)h Fk(\013)i Fn(and)f Fk(\014)i Fn(in)f Fc(F)870 2375 y Ff(`)884 2367 y Fd(2)915 2368 y Fe(n)11 b Fc(F)975 2375 y Ff(`)993 2368 y Fn(,)17 b(suc)o(h)h(that)e(the)h(m)o(ultiplicativ)o(e)i(order)e(of)g Fk(\013=\014)i Fn(is)f Fk(r)q Fn(,)149 2422 y(and)d Fk(`)10 b Fn(+)g(1)j(=)g Fk(r)q(s)p Fn(;)70 2476 y(\(2\))20 b(\010)182 2483 y Ff(`)214 2476 y Fn(has)c(a)g(factorization)g(of)g(t)o(yp)q(e)g (\(1\)\(1\)\()p Fk(r)q Fn(\))8 b Fe(\001)f(\001)h(\001)t Fn(\()p Fk(r)q Fn(\).)22 b(Then)17 b(the)f(equation)h Fk(X)1519 2460 y Fj(2)1548 2476 y Fe(\000)11 b Fk(tX)j Fn(+)e Fk(p)i Fe(\021)h Fn(0)d(mo)q(d)h Fk(`)149 2530 y Fn(has)h(t)o(w)o(o)f(ro)q(ots)h Fk(\013)h Fn(and)g Fk(\014)i Fn(in)e Fc(F)682 2537 y Ff(`)700 2530 y Fn(,)g(suc)o(h)g(that)f(the)g(m)o(ultiplicativ)o(e)k(order)c(of)g Fk(\013=\014)j Fn(is)e Fk(r)q Fn(,)f(and)h Fk(`)9 b Fe(\000)h Fn(1)i(=)h Fk(r)q(s)p Fn(;)70 2584 y(\(3\))20 b(\010)182 2591 y Ff(`)212 2584 y Fn(has)c(a)e(factorisation)h(of)g(t)o(yp)q(e)g(\(1\)\()p Fk(`)p Fn(\).)j(Then)e Fk(t)1027 2568 y Fj(2)1059 2584 y Fe(\021)d Fn(4)p Fk(p)f Fn(mo)q(d)h Fk(`)p Fn(;)70 2638 y(\(4\))20 b(\010)182 2645 y Ff(`)212 2638 y Fn(has)c(a)e(factorisation)h(of)g(t)o(yp)q(e)g(\(1\)) 806 2622 y Ff(`)p Fj(+1)863 2638 y Fn(,)g(and)g Fk(t)995 2622 y Fj(2)1027 2638 y Fe(\021)e Fn(4)p Fk(p)f Fn(mo)q(d)h Fk(`)1252 2622 y Fj(2)1271 2638 y Fn(.)944 2749 y Fr(130)p eop %%Page: 131 3 131 2 bop 50 141 a Fm(3.2.)25 b(Matc)o(hing.)e Fn(Ha)o(ving)13 b(computed)g(the)g(equation)g(\010)1062 148 y Ff(`)1078 141 y Fn(,)f(the)h(t)o(yp)q(e)g(of)f(the)h(factorization)f(of)g(\010)1747 148 y Ff(`)1763 141 y Fn(\()p Fk(X)q(;)c(j)s Fn(\()p Fk(E)s Fn(\))o(\))0 195 y(is)18 b(found)g(b)o(y)g(computing)h Fk(X)514 179 y Ff(p)532 195 y Fk(;)8 b(X)595 179 y Ff(p)612 166 y Fd(2)629 195 y Fk(;)g(:)g(:)g(:)22 b Fn(mo)q(dulo)d(\010)926 202 y Ff(`)942 195 y Fn(\()p Fk(X)q(;)8 b(j)s Fn(\()p Fk(E)r Fn(\)\),)15 b(un)o(til)k(the)f (degree)g(of)f(the)h(splitting)h(\014eld)g(of)0 249 y(\010)33 256 y Ff(`)49 249 y Fn(\()p Fk(X)q(;)8 b(j)s Fn(\()p Fk(E)s Fn(\))o(\))k(is)k(found.)50 304 y(Then)i(v)m(alues)h(of)e Fk(t)h Fn(are)f(obtained)h(suc)o(h)g(that)f(the)h(equation)g Fk(X)1181 288 y Fj(2)1210 304 y Fe(\000)12 b Fk(tX)k Fn(+)c Fk(p)17 b Fn(has)g(ro)q(ots)g(corresp)q(onding)i(to)0 358 y(t)o(yp)q(es)g(of)g (factorization.)32 b(Note)19 b(that,)h(for)e(a)h(giv)o(en)h Fk(`)p Fn(,)g(man)o(y)f(v)m(alues)h(of)f Fk(t)13 b Fn(mo)q(d)g Fk(`)19 b Fn(ma)o(y)g(b)q(e)h(found.)33 b(This)19 b(is)0 412 y(done)d(for)e(sev)o(eral)h Fk(`)346 419 y Ff(i)360 412 y Fn(,)g Fk(i)d Fe(2)h Fn([1)p Fk(;)8 b(n)p Fn(])14 b(\(sa)o(y\),)f(and)i(then)h(a)f (\\matc)o(hing")f(is)i(done)g(to)e(get)h(the)g(v)m(alues)h(of)f Fk(t)e Fn(mo)q(d)g Fk(`)1868 419 y Ff(i)1882 412 y Fn(,)h(as)0 466 y(follo)o(ws.)50 521 y(Let)h Fk(K)170 528 y Ff(i)196 521 y Fn(=)e(\()262 489 y Fg(Q)308 521 y Fk(`)327 528 y Ff(j)345 521 y Fn(\))p Fk(=`)405 528 y Ff(i)418 521 y Fn(,)h Fk(i)f Fe(2)g Fn([1)p Fk(;)8 b(n)p Fn(].)18 b(Compute)c(and)h(store)f(the)h(v)m (alues)h(\()p Fk(p)9 b Fn(+)h(1)f Fe(\000)1425 489 y Fg(P)1468 500 y Ff(n)1468 533 y(i)p Fj(=2)1532 521 y Fk(K)1571 528 y Ff(i)1584 521 y Fk(t)1600 528 y Ff(i)1615 521 y Fn(\))p Fk(P)d Fn(,)14 b(and)h(compare)0 575 y(with)j Fk(t)122 582 y Fj(1)141 575 y Fk(K)180 582 y Fj(1)198 575 y Fk(P)24 b Fn(for)17 b(the)h(v)m(alues)g (at)f Fk(t)615 582 y Fj(1)634 575 y Fn(,)h Fk(P)24 b Fn(b)q(eing)19 b(some)e(p)q(oin)o(t)h(of)f Fk(E)s Fn(.)26 b(This)19 b(will)g(matc)o(h)e(for) g(one)g(set)h(of)f(v)m(alues)0 629 y Fk(t)16 636 y Ff(i)43 629 y Fn(mo)q(d)c Fk(`)162 636 y Ff(i)175 629 y Fn(,)i(then)h Fk(t)f Fn(is)h(reco)o(v)o(ered)f(b)o(y)g(the)g(Chinese)i(remainder)f (theorem.)874 737 y Fm(4.)26 b(Elkies)50 817 y Fn(The)21 b(idea)h(of)f (Elkies)i(is)f(to)f(w)o(ork)f(with)i(p)q(olynomials)g Fk(g)1070 824 y Ff(`)1086 817 y Fn(\()p Fk(X)t Fn(\))e(with)i(lo)o(w)o(er)f(degree)g (than)g(the)h Fk(`)p Fn(-division)0 871 y(p)q(olynomials)17 b Fk(f)275 878 y Ff(`)291 871 y Fn(.)50 963 y Fm(4.1.)25 b(Subsets)18 b(of)f(p)q(oin)o(ts)i(of)e Fk(`)p Fm(-division.)24 b Fn(W)l(e)16 b(recall)g(that)f Fk(E)i Fn(is)f(isomorphic)h(to)d Fc(C)7 b Fk(=)p Fc(L)p Fn(\()p Fk(!)1687 970 y Fj(1)1707 963 y Fk(;)h(!)1756 970 y Fj(2)1774 963 y Fn(\).)20 b(Let)c(us)0 1017 y(consider)g Fk(x)203 1024 y Ff(r)234 1017 y Fn(=)d Fk(})p Fn(\()p Fk(r)q(!)379 1024 y Fj(1)397 1017 y Fk(=`)p Fn(\),)i(for)f(1)e Fe(\024)h Fk(r)h Fe(\024)f Fk(d)f Fn(=)h(\()p Fk(`)d Fe(\000)g Fn(1\))p Fk(=)p Fn(2.)19 b(Let)c Fk(p)1119 1024 y Fj(1)1153 1017 y Fn(b)q(e)h(the)f (sum)g Fk(p)1412 1024 y Fj(1)1443 1017 y Fn(=)e Fk(x)1517 1024 y Fj(1)1546 1017 y Fn(+)e Fe(\001)d(\001)g(\001)g Fn(+)i Fk(x)1726 1024 y Ff(d)1746 1017 y Fn(.)50 1108 y Fi(Theorem)18 b Fn(3)p Fi(.)i Fl(The)15 b(p)n(olynomial)h Fk(g)673 1115 y Ff(`)689 1108 y Fn(\()p Fk(X)t Fn(\))11 b(=)826 1076 y Fg(Q)865 1086 y Ff(d)865 1120 y(r)q Fj(=1)926 1108 y Fn(\()p Fk(X)i Fe(\000)d Fk(x)1066 1115 y Ff(r)1085 1108 y Fn(\))15 b Fl(is)h(in)g Fc(Q)p Fn(\()p Fk(A;)8 b(B)r(;)g(p)1413 1115 y Fj(1)1429 1108 y Fn(\)[)p Fk(X)t Fn(])p Fl(.)50 1200 y Fn(The)18 b(p)q(olynomial)i Fk(g)406 1207 y Ff(`)422 1200 y Fn(\()p Fk(X)t Fn(\))d(ob)o(viously)i(divides)h(the)e (division)i(p)q(olynomial)g Fk(f)1389 1207 y Ff(`)1405 1200 y Fn(\()p Fk(X)t Fn(\);)e(w)o(e)g(ha)o(v)o(e)g(the)g(follo)o(wing)0 1254 y(to)o(w)o(er)c(of)h(extensions:)20 b([)p Fc(Q)p Fn(\()p Fk(A;)8 b(B)r(;)g(x)618 1261 y Fj(1)634 1254 y Fn(\))k(:)g Fc(Q)p Fn(\()p Fk(A;)c(B)r(;)g(p)879 1261 y Fj(1)895 1254 y Fn(\)])k(=)h Fk(d)i Fn(and)g([)p Fc(Q)p Fn(\()p Fk(A;)8 b(B)r(;)g(p)1316 1261 y Fj(1)1332 1254 y Fn(\))k(:)g Fc(Q)p Fn(\()p Fk(A;)c(B)r Fn(\)])i(=)j Fk(`)d Fn(+)h(1.)50 1309 y(The)i(p)q(olynomial)i Fk(g)396 1316 y Ff(`)411 1309 y Fn(\()p Fk(X)t Fn(\))d(describ)q(es)j(a)d (subset)i(of)e Fk(E)s Fn([)p Fk(`)p Fn(].)18 b(The)13 b(follo)o(wing)h (theorem)f(describ)q(es)h(what)f(happ)q(ens)0 1363 y(mo)q(dulo)j Fk(p)p Fn(,)f(and)g(states)f(an)h(in)o(teresting)h(case)f(of)g(the)g (factorization)g(of)g(\010)1293 1370 y Ff(`)1309 1363 y Fn(\()p Fk(X)q(;)8 b(j)s Fn(\()p Fk(E)s Fn(\))o(\).)50 1454 y Fi(Theorem)18 b Fn(4)p Fi(.)89 b Fn(\(1\))20 b Fl(If)15 b Fn(\010\()p Fk(X)q(;)8 b(j)s Fn(\()p Fk(E)r Fn(\)\))k Fl(has)k(a)f(r)n(o)n(ot)h(mo)n(d)f Fk(p)p Fl(,)h(then)f Fk(E)s Fn([)p Fk(`)p Fn(])f Fl(has)h(a)h(cyclic)e(sub)n (gr)n(oup)i(of)f(or)n(der)h Fk(`)p Fl(,)149 1508 y(whose)i(p)n(oints)g(have)g (c)n(o)n(or)n(dinates)g(in)g Fc(F)848 1515 y Ff(p)869 1508 y Fl(.)27 b(This)17 b(is)h(e)n(quivalent)g(to)g(saying)g(that)h Fk(t)1591 1492 y Fj(2)1622 1508 y Fe(\000)12 b Fn(4)p Fk(p)18 b Fl(is)g(a)g(squar)n(e)149 1562 y(mo)n(d)e Fk(`)p Fl(.)70 1616 y Fn(\(2\))k Fl(Then)c(if)i Fk(t)330 1600 y Fj(2)360 1616 y Fe(\000)11 b Fn(4)p Fk(p)17 b Fl(is)g(a)h(squar)n(e)f(mo)n(d)h Fk(`)p Fl(,)f(ther)n(e)h(is)f(at)h(le)n(ast)e(one)i(1-dimensional)e Fc(F)1583 1623 y Ff(`)1601 1616 y Fl(-subsp)n(ac)n(e)h(of)h Fk(E)s Fn([)p Fk(`)p Fn(])p Fl(,)149 1670 y(which)e(is)g(invariant)g(by)g Fk(\036)p Fl(,)h(henc)n(e)e Fk(p)787 1677 y Fj(1)818 1670 y Fe(2)e Fc(F)887 1677 y Ff(p)908 1670 y Fl(,)j(and)g Fk(g)1048 1677 y Ff(`)1064 1670 y Fn(\()p Fk(X)t Fn(\))11 b Fe(2)i Fc(F)1222 1677 y Ff(p)1243 1670 y Fn([)p Fk(X)t Fn(])p Fl(.)50 1762 y Fn(In)k(the)f(h)o(yp)q(othesis)h(of)e(theorem)h(4,)g Fk(g)716 1769 y Ff(`)731 1762 y Fn(\()p Fk(X)t Fn(\))d Fe(2)i Fc(F)893 1769 y Ff(p)914 1762 y Fn([)p Fk(X)t Fn(],)f(and)i(w)o(e)g(searc)o(h)g(for)f (an)i(eigen)o(v)m(alue)h Fk(k)f Fn(of)e Fk(\036)p Fn(,)h(that)g(is,)0 1816 y Fk(k)e Fe(2)f Fn([1)p Fk(;)8 b(`)p Fn(])13 b(suc)o(h)i(that)329 1902 y(\()p Fk(X)389 1883 y Ff(p)408 1902 y Fk(;)8 b(Y)464 1883 y Ff(p)483 1902 y Fn(\))13 b(=)g Fk(k)8 b Fn(\()p Fk(X)q(;)g(Y)h Fn(\))23 b(in)16 b Fc(F)827 1909 y Ff(p)848 1902 y Fn([)p Fk(X)q(;)8 b(Y)h Fn(])p Fk(=)1000 1867 y Fg(\000)1018 1902 y Fk(Y)1054 1883 y Fj(2)1083 1902 y Fe(\000)h Fn(\()p Fk(X)1188 1883 y Fj(3)1216 1902 y Fn(+)h Fk(AX)i Fn(+)d Fk(B)r Fn(\))p Fk(;)e(g)1489 1909 y Ff(`)1505 1902 y Fn(\()p Fk(X)t Fn(\))1583 1867 y Fg(\001)1608 1902 y Fk(:)0 1989 y Fn(This)16 b(giv)o(es)f(an)g(unique)i(v)m(alue)f(of)f Fk(t)e Fn(mo)q(d)g Fk(`)p Fn(,)i(namely)h Fk(t)d Fe(\021)g Fn(\()p Fk(k)1049 1972 y Fj(2)1077 1989 y Fn(+)e Fk(p)p Fn(\))p Fk(=k)h Fn(mo)q(d)h Fk(`)p Fn(.)50 2080 y Fm(4.2.)25 b(The)18 b(whole)g(algorithm.)23 b Fn(The)16 b(main)f(steps)h(of)e(the)i(algorithm)f (are)70 2149 y(\(1\))20 b(Compute)e Fl(a)23 b Fn(mo)q(dular)d(equation)f (\010)802 2156 y Ff(`)818 2149 y Fn(\()p Fk(F)q(;)8 b(J)t Fn(\),)19 b(where)g Fk(F)26 b Fn(is)20 b(a)e(function)i(on)f(\000)1524 2156 y Fj(0)1543 2149 y Fn(\()p Fk(`)p Fn(\))f(\(ma)o(y)g(not)h(b)q(e)h(the) 149 2203 y(canonical)c(mo)q(dular)g(equation\).)70 2257 y(\(2\))k Fm(If)14 b Fn(\010)232 2264 y Ff(`)248 2257 y Fn(\()p Fk(F)q(;)8 b(j)s Fn(\()p Fk(E)s Fn(\)\))i(mo)q(d)j Fk(p)i Fn(has)g(at)f(least)h(one)h (ro)q(ot)e Fm(then)i Fl(\(Elkies')e(way\))185 2311 y Fn(\(a\))20 b(compute)15 b(a)g(factor)f Fk(g)638 2318 y Ff(`)654 2311 y Fn(\()p Fk(X)t Fn(\))g(of)g Fk(f)819 2318 y Ff(`)836 2311 y Fn(\()p Fk(X)t Fn(\))f(mo)q(dulo)j Fk(p)p Fn(,)f(ha)o(ving)g(degree)h Fk(d)c Fn(=)h(\()p Fk(`)d Fe(\000)g Fn(1\))p Fk(=)p Fn(2.)182 2365 y(\(b\))21 b(\014nk)16 b Fk(k)g Fn(suc)o(h)g(that)e(\()p Fk(X)655 2348 y Ff(p)673 2365 y Fk(;)8 b(Y)730 2348 y Ff(p)749 2365 y Fn(\))13 b(=)g Fk(k)q Fn(\()p Fk(X)q(;)8 b(Y)h Fn(\))15 b(in)h Fc(F)1078 2372 y Ff(p)1099 2365 y Fn([)p Fk(X)q(;)8 b(Y)h Fn(])p Fk(=)f Fn(\()o Fk(Y)1304 2348 y Fj(2)1333 2365 y Fe(\000)i Fn(\()p Fk(X)1438 2348 y Fj(3)1466 2365 y Fn(+)g Fk(AX)k Fn(+)c Fk(B)r Fn(\))p Fk(;)e(g)1739 2372 y Ff(`)1755 2365 y Fn(\()p Fk(X)t Fn(\)\))n(,)15 b(and)264 2419 y(deduce)h Fk(t)d Fe(\021)g Fn(\()p Fk(k)535 2402 y Fj(2)564 2419 y Fn(+)d Fk(p)p Fn(\))p Fk(=k)j Fn(mo)q(d)g Fk(`)p Fn(.)149 2473 y Fm(else)h Fl(\(A)o(tkin)-5 b('s)14 b(way\))h Fk(\025)552 2456 y Fj(2)578 2473 y Fe(\000)9 b Fk(t\025)g Fn(+)g Fk(p)j Fe(\021)h Fn(0)f(mo)q(d)h Fk(`)i Fn(has)f(t)o(w)o(o)f(ro)q(ots)g Fk(\013)i Fn(and)g Fk(\014)h Fn(suc)o(h)f(that)f Fk(\013=\014)i Fn(has)e(order)h Fk(r)q Fn(,)149 2527 y Fk(r)h Fn(de\014ned)h(b)o(y)f(the)g(splitting)h(of)f(\010\()p Fk(F)q(;)8 b(j)s Fn(\()p Fk(E)s Fn(\)\))h(mo)q(d)k Fk(p)i Fn(in)o(to)h Fk(r)1196 2510 y Fh(0)1223 2527 y Fn(factors)f(of)h(degree)g Fk(r)q Fn(,)f(with)h Fk(r)q(r)1765 2510 y Fh(0)1790 2527 y Fn(=)e Fk(`)d Fn(+)g(1.)149 2581 y(Ev)o(en)o(tually)k(do)h(some)e(\\matc)o (hing",)h(and)g(deduce)i(the)e(v)m(alue)h(of)f Fk(t)e Fn(mo)q(d)g Fk(`)p Fn(.)0 2650 y(A)o(tkin)j(has)f(describ)q(ed)i(an)e(ingenious)i(w)o(a)o (y)d(for)g(computing)i Fk(p)1082 2657 y Fj(1)1101 2650 y Fn(,)e(and)i(the)f (v)m(alue)h(of)f Fk(g)1486 2657 y Ff(`)1502 2650 y Fn(\()p Fk(X)t Fn(\).)944 2749 y Fr(131)p eop %%Page: 132 4 132 3 bop 817 141 a Fm(5.)25 b(Conclusion)50 220 y Fn(The)17 b(implemen)o(tation)h(is)f(no)o(w)f(using)h(fast)f(p)q(olynomial)i (arithmetic,)f(whic)o(h)h(has)e(pro)o(v)o(en)g(to)g(b)q(e)i(sup)q(erior.)0 274 y(The)d(op)q(erations)h(includes)h(fast)e(m)o(ultiplication)i(\(with)f (FFT,)d(done)j(b)o(y)f(R.)g(Lercier\),)h(fast)f(division,)h(gcd,)f Fk(:)8 b(:)g(:)50 328 y Fn(Mo)q(dular)16 b(equations)g(for)f Fk(`)f Fe(\024)g Fn(500)h(can)h(b)q(e)g(found,)g(with)h(Chinese)g(remainder)f (theorem)g(on)f(64)h(bits.)22 b(Tw)o(o)0 382 y(curv)o(es)15 b(are)g(studied)h(as)f(examples:)102 448 y Fm({)21 b Fn(the)15 b Fi(INRIA)h Fn(curv)o(e:)k Fk(y)552 432 y Fj(2)583 448 y Fn(=)13 b Fk(x)657 432 y Fj(3)686 448 y Fn(+)d(105)p Fk(x)g Fn(+)g(78153;)102 502 y Fm({)21 b Fn(the)15 b Fi(Pol)m(ytechnique)f Fn(curv)o(e:)20 b Fk(y)746 486 y Fj(2)778 502 y Fn(=)13 b Fk(x)852 486 y Fj(3)880 502 y Fn(+)e(4589)p Fk(x)e Fn(+)h(91128.)50 569 y(Morain's)i(record)g(is)h Fi(Pol)m(ytechnique)f Fn(for)g(a)g(prime)h(of)f(350)g(digits,)h(using)h (impro)o(v)o(emen)o(ts)e(of)g(Couv)o(eignes,)0 623 y(for)j(computing)g(v)m (alues)i(of)d Fk(t)31 b Fn(mo)q(d)15 b Fk(l)645 606 y Ff(n)667 623 y Fn(.)841 710 y Fp(Bibliograp)o(h)o(y)0 785 y Fr([1])20 b(Morain)13 b(\(F)m(ran\030)-18 b(cois\).)15 b({)20 b(Calcul)14 b(du)g(nom)o(bre)g(de)h(p)q(oin)o(ts)f(sur)h(une)h(courb)q(e)f(elliptique)f (dans)h(un)f(corps)i(\014ni)e(:)19 b(asp)q(ects)65 834 y(algorithmi)o(ques.) 11 b({)17 b(Marc)o(h)c Fa(1994)p Fr(.)f(Submitted)g(for)h(publication)f(of)h (the)g(Actes)i(des)f(Journ)o(\023)-20 b(ees)15 b(Arithm)o(\023)-20 b(etiques)12 b(1993.)0 884 y([2])20 b(Sc)o(ho)q(of)13 b(\(R.\).)f({)17 b(Elliptic)c(curv)o(es)h(o)o(v)o(er)g(\014nite)f(\014elds)h(and)g(the)g (computation)d(of)i(square)h(ro)q(ots)g(mo)q(d)e Fa(p)p Fr(.)h Fb(Mathematics)65 934 y(of)h(Computation)p Fr(,)g(v)o(ol.)f(44,)f Fa(1985)p Fr(,)h(pp.)g(483{494.)0 984 y([3])20 b(Sc)o(ho)q(of)c(\(Ren)o(\023) -20 b(e\).)16 b({)26 b(Coun)o(ting)16 b(p)q(oin)o(ts)g(on)g(elliptic)g(curv)o (es)i(o)o(v)o(er)e(\014nite)h(\014elds.)f({)26 b(F)m(ebruary)17 b Fa(1994)p Fr(.)e(Submitted)g(for)65 1034 y(publication)d(of)i(the)g(Actes)i (des)e(Journ)o(\023)-20 b(ees)16 b(Arithm)o(\023)-20 b(etiques)13 b(1993.)944 2749 y(132)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF