{VERSION 5 0 "IBM INTEL LINUX" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 256 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 0 }{PSTYLE "Normal " -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Plot" 0 13 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Normal" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 2" -1 257 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 8 2 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 2" -1 258 1 {CSTYLE "" -1 -1 "Time s" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 8 2 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "with(networks);" }}{PARA 12 "" 1 " " {XPPMATH 20 "6#7ho%)acycpolyG%(addedgeG%*addvertexG%*adjacencyG%)all pairsG%)ancestorG%)arrivalsG%-bicomponentsG%)charpolyG%*chrompolyG%+co mplementG%)completeG%+componentsG%(connectG%-connectivityG%)contractG% *countcutsG%+counttreesG%%cubeG%&cycleG%*cyclebaseG%)daughterG%*degree seqG%'deleteG%+departuresG%)diameterG%&dinicG%+djspantreeG%-dodecahedr onG%%drawG%'draw3dG%*duplicateG%&edgesG%%endsG%(eweightG%%flowG%)flowp olyG%(fundcycG%)getlabelG%&girthG%&graphG%*graphicalG%&gsimpG%'gunionG %%headG%,icosahedronG%*incidenceG%)incidentG%)indegreeG%'induceG%)ispl anarG%*maxdegreeG%'mincutG%*mindegreeG%*neighborsG%$newG%+octahedronG% *outdegreeG%%pathG%)petersenG%'randomG%%rankG%)rankpolyG%.shortpathtre eG%%showG%'shrinkG%%spanG%)spanpolyG%)spantreeG%%tailG%,tetrahedronG%* tuttepolyG%(vdegreeG%)verticesG%%voidG%(vweightG" }}}{SECT 0 {PARA 3 " " 0 "" {TEXT -1 20 "Dijkstra's algorithm" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 363 "The following procedure is an implementation of Dijsktra 's algorithm for finite, simple, undirected graphs. Actually, the same algorithm would work for directed graphs as well, but the program wou ld have to be modified slightly to account for the way Maple deals wit h directed and undirected edges. It would be easy to extend the algori thm to multigraphs as well." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2629 "dijkstra:=proc(G::graph, x)\n\n # G is our graph, and x is the \+ starting vertex\n\n # weight is a local procedure which returns the w eight of the edge\n # from u to v, or infinity if there is no such \+ edge\n # L(v) is a table of temporary distances from x, where we stor e the\n # length of the shortest path found SO FAR from x to v\n # K(v) is a table where we store the predecessor of v in the shortest\n # path found SO FAR from x to v\n # P is a set which contains the k closest vertices to x\n # Q is the complement of P (it's used for \+ efficiency, so we don't have\n # to compute the complement of P rep eatedly)\n # v and u are temporary variable used in loops that run ov er vertices\n \n local weight,L,K,P,Q,v,u;\n\n weight:=proc(G::grap h, u, v)\n\n # Check if there is an edge from u to v. If not return infinity,\n # otherwise return the weight of that edge\n # Edge s(\{u,v\},G) returns the set of all edges between u and v.\n if edg es(\{u,v\},G)=\{\} then\n return infinity;\n else\n retur n eweight(edges(\{u,v\},G)[1],G);\n # Since G is simple, edges(\{ u,v\},G) will have exactly one element,\n # but it's still formal ly a set, so we have to pick its first element\n # eweight return s the weight of an edge in G\n end if;\n end proc;\n\n # Initiali zation\n P:=\{\}; # Set P = empty set\n Q:=verti ces(G); # Set Q = set of all verices\n L:=table();\n K:=t able();\n for v in vertices(G) do\n L[v]:=infinity; # Set all the L(v) to infinity\n end do;\n L[x]:=0; # T he distance of x from itself is 0\n u:=x; # x wi ll be the first vertex we move to P\n\n # Main loop of the algorithm \+ continues until the next closest vertex\n # is infinitely far from x, that is there is no path from x to it\n while L[u]%)dijkstraGf*6$'%\"GG%&graphG%\"xG6)% 'weightG%\"LG%\"KG%\"PG%\"QG%\"vG%\"uG6\"F3C,>8$f*6%F'F2F1F3F3F3@%/-%& edgesG6$<$9%9&9$<\"O%)infinityGO-%(eweightG6$&F;6#\"\"\"FAF3F3F3>8'FB> 8(-%)verticesG6#FA>8%-%&tableGF3>8&FU?&8)FP%%trueG>&FT6#FZFD>&FT6#F?\" \"!>8*F??(F3FKFKF32&FT6#F^oFDC(>FM-%&unionG6$FM<#F^o>FO-%&minusG6$FOFh o@$/FOFB[?&FZFOFen@$2,&FaoFK-F66%FAF^oFZFKFgnC$>FgnFcp>&FXFhnF^o>F^o&F OFJ?&FZFOFen@$2FgnFao>F^oFZO7$FTFXF3F3F3" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 113 "This next procedure takes the output of dijkstra and two vertices u and v and returns a shortest path from u to v" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 354 "listpath:=proc(lk,u,v)\n\n local \+ p;\n\n # First we check if there is even a path from u to v\n if lk[ 1][v]=infinity then\n error(\"There is no path from %1 to %2.\", u, v);\n end if;\n # If u=v then the path consists of the vertex u, ot herwise do recursion\n if u=v then\n return [u];\n else\n retu rn [listpath(lk,u,lk[2][v])[], v];\n end if;\nend proc;" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%)listpathGf*6%%#lkG%\"uG%\"vG6#%\"pG6\"F,C$@$/ &&9$6#\"\"\"6#9&%)infinityGY6%Q@There~is~no~path~from~%1~to~%2.F,9%F6@ %/F;F6O7#F;O7$&-F$6%F2F;&&F26#\"\"#F5F,F6F,F,F," }}}}{SECT 0 {PARA 3 " " 0 "" {TEXT -1 21 "The graph from 3.3.11" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 142 "gr1:=graph(\{A, B, C, D, E, F, G, H, I, S\},\{\{A,D \}, \{A,G\}, \{B,G\}, \{B,I\}, \{C,D\}, \{C,E\}, \{C,S\}, \{D,F\}, \{E ,F\}, \{E,H\}, \{F,G\}, \{F,I\}, \{H,I\}, \{H,S\}\});" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%$gr1Gf*6#%\"xG6\"6$%&GRAPHG%\"1GE\\s/%*_Vertices G<,%\"GG%\"EG%\"HG^#\"\"\"%\"AG%\"BG%\"CG%\"SG%\"DG%\"FG%&_HeadG=F(%&f alseGE\\[l!%&_EndsG=F(F-9!6#Fin<\"/FhrFeo>-F[ s6#Feo-%&tableG6#Fgo/FhrF:>-F[s6#F:-FcsF(/FhrFfq>-F[s6#FfqFis/FhrF`o>- F[s6#F`oFis/FhrF>>-F[s6#F>Fis/FhrF->-F[s6#F-F]s/FhrF[o>-F[s6#F[o-Fcs6# F]o/Fhr%*_AncestorG>-F[s6#FauFis/Fhr%*_DaughterG>-F[s6#FfuFis/FhrFiq>- F[s6#FiqFis/Fhr%(_StatusG>-F[s6#F_v<#.%'SIMPLEG/FhrFgn>-F[s6#Fgn\"\"!O .-F[s6#9\"F(F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "W:=ewei ght(gr1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"WG-%&TABLEG6#70/%#e3G \"\"\"/%#e5GF+/%#e7GF+/%$e12GF+/%$e14GF+/%$e11GF+/%#e2GF+/%#e4GF+/%#e9 GF+/%#e6GF+/%$e13GF+/%$e10GF+/%#e8GF+/%#e1GF+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 144 "W[e1]:=5: W[e2]:=1: W[e3]:=2: W[e4]:=4: W[e5]:= 2: W[e6]:=1: W[e7]:=3: W[e8]:=1: W[e9]:=2: W[e10]:=1: W[e11]:=1: W[e12 ]:=3: W[e13]:=1: W[e14]:=5:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 103 "draw(Linear([S], [C,E,H], [D,F,I], [A,G,B]), gr1); # Unfortunatel y, Maple doesn't draw the edge weights" }}{PARA 13 "" 1 "" {GLPLOT2D 602 602 602 {PLOTDATA 2 "6E-%'POINTSG6#7$\"\"\"F'-%%TEXTG6$7$$\"\"*!\" \"F'Q\"S6\"-F$6#7$\"\"#\"\"!-F)6$7$$\"#>F.F5Q\"CF0-F$6#7$F4F'-F)6$7$F9 F'Q\"EF0-F$6#7$F4F4-F)6$7$F9F4Q\"HF0-F$6#7$\"\"$F5-F)6$7$$\"#HF.F5Q\"D F0-F$6#7$FMF'-F)6$7$FQF'Q\"FF0-F$6#7$FMF4-F)6$7$FQF4Q\"IF0-F$6#7$\"\"% F5-F)6$7$$\"$3%!\"#F5Q\"AF0-F$6#7$F_oF'-F)6$7$FcoF'Q\"GF0-F$6#7$F_oF4- F)6$7$FcoF4Q\"BF0-%'CURVESG6$7$F^oFL-%'COLOURG6&%$RGBGF5$\"#5F.F5-Ffp6 $7$FioF^oFip-Ffp6$7$FioF`pFip-Ffp6$7$FgnF`pFip-Ffp6$7$F3FLFip-Ffp6$7$F >F3Fip-Ffp6$7$F3F&Fip-Ffp6$7$FLFVFip-Ffp6$7$F>FVFip-Ffp6$7$F>FEFip-Ffp 6$7$FioFVFip-Ffp6$7$FgnFVFip-Ffp6$7$FEFgnFip-Ffp6$7$FEF&Fip-%*AXESSTYL EG6#%%NONEG" 1 2 0 1 10 0 2 9 1 1 2 1.000000 45.000000 45.000000 0 0 " Curve 1" "Curve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" " Curve 8" "Curve 9" "Curve 10" "Curve 11" "Curve 12" "Curve 13" "Curve \+ 14" "Curve 15" "Curve 16" "Curve 17" "Curve 18" "Curve 19" "Curve 20" "Curve 21" "Curve 22" "Curve 23" "Curve 24" "Curve 25" "Curve 26" "Cur ve 27" "Curve 28" "Curve 29" "Curve 30" "Curve 31" "Curve 32" "Curve 3 3" "Curve 34" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "res1:=dijk stra(gr1, S);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%res1G7$%\"LG%\"KG " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "res1[1][A];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\")" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "listpath(res1,S,A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7(%\"SG %\"CG%\"EG%\"FG%\"GG%\"AG" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 14 "A \+ random graph" }}{EXCHG {PARA 0 "" 0 "" {TEXT 256 76 "Here we generate \+ a random graph with edge weights in the integer range [0,5]" }{TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "rnd:=rand(5);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%$rndGf*6\"6#%\"tGF&F&C&>%&_seedG-%%i remG6$*&T#\"\"\"F+F1T%>8$F+?(F&F1F1T'%%trueGC$>F+F,>F4,&*&T)F1F4F1F1F+ F1,&-F-6$F4T+F1T-F1F&6#F+6.%\"aG%\"aG%\"pG%\"pG%(concatsG%(concatsG%\" sG%\"sG%(divisorG%(divisorG%'offsetG%'offsetG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "gr2:=random(6,8): for i in edges(gr2) do: eweigh t(gr2)[i]:=rnd(): od;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&-%(eweightG 6#%$gr2G6#%#e1G\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&-%(eweightG6 #%$gr2G6#%#e2G\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&-%(eweightG6# %$gr2G6#%#e3G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&-%(eweightG6#% $gr2G6#%#e4G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&-%(eweightG6#% $gr2G6#%#e5G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&-%(eweightG6#%$ gr2G6#%#e6G\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&-%(eweightG6#%$g r2G6#%#e7G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&-%(eweightG6#%$gr 2G6#%#e8G\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "draw(gr2 );" }}{PARA 13 "" 1 "" {GLPLOT2D 602 602 602 {PLOTDATA 2 "67-%'POINTSG 6#7$$\"\"\"\"\"!$F)F)-%%TEXTG6$F&Q\"16\"-F$6#7$$\"+-+++]!#5$\"+PSDg')F 5-F,6$F2Q\"2F/-F$6#7$$!+(*******\\F5$\"+SSDg')F5-F,6$F=Q\"3F/-F$6#7$$! \"\"F)$\"+&QKz*e!#>-F,6$FGQ\"4F/-F$6#7$$!+2+++]F5$!+MSDg')F5-F,6$FRQ\" 5F/-F$6#7$$\"+\"*******\\F5$!+VSDg')F5-F,6$FfnQ\"6F/-%'CURVESG6$7$F&FG -%'COLOURG6&%$RGBGF)$\"#5FIF)-F_o6$7$F2F=Fbo-F_o6$7$F=FfnFbo-F_o6$7$FR FfnFbo-F_o6$7$F=FGFbo-F_o6$7$F=FRFbo-F_o6$7$FGFRFbo-F_o6$7$FGFfnFbo-%* AXESSTYLEG6#%%NONEG" 1 2 0 1 10 0 2 9 1 1 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" "Curve 8" "Curve 9" "Curve 10" "Curve 11" "Curve 12" "Cu rve 13" "Curve 14" "Curve 15" "Curve 16" "Curve 17" "Curve 18" "Curve \+ 19" "Curve 20" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "show(gr2) ;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#-%&TABLEG6#70/%)_VweightG-F$6$%'s parseG7\"/%*_EmaxnameG\"\")/%/_EconnectivityGF1/%'_EdgesG<*%#e1G%#e2G% #e3G%#e4G%#e5G%#e6G%#e7G%#e8G/%+_EdgeIndexG-F$6$%*symmetricG7*/6$\"\"$ \"\"%<#F9/6$FF\"\"'<#F " 0 "" {MPLTEXT 1 0 22 "res2:=dijkstra(gr2,1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%res 2G7$%\"LG%\"KG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "listpath( res2, 1, 6);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%\"\"\"\"\"%\"\"'" }} }}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 50 "Maple's own implementation of D ijkstra's algorithm" }}{EXCHG {PARA 258 "" 0 "" {TEXT -1 345 "The netw orks package in Maple has its own version of Dijsktra's algorithm. It \+ is the procedure shortpathtree. It's a little more general than our ve rsion: it works or directed or undirected multigraphs with nonnegative egde weights and returns the same graph with vertex weights containin g the distances of the vertices from the starting vertex." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "gr1res:=shortpathtree(gr1,S);" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#>%'gr1resGf*6#%\"xG6\"6$%&GRAPHG%\"3GE \\s2%+_EdgeIndexG=%*symmetricG%&falseGE\\[l*6$%\"HG%\"SG<#%$e14G6$%\"C GF4<#%#e7G6$%\"EGF8<#%#e6G6$F<%\"FG<#%#e9G6$%\"GGF@<#%$e11G6$FD%\"AG<# %#e2G6$F3^#\"\"\"<#%$e13G6$F8%\"DG<#%#e5G6$FD%\"BG<#%#e3G%&_TailG=F(F0 E\\[l!%/_EconnectivityGFen%,_CounttreesGFfn%*_EmaxnameG\"#9%*_Vertices G<,FDFFMF:\" \"$FBF^oFFFMFOFMF6\"\"&%(_StatusG<#%'SIMPLEG%&_EndsG=F(F0E\\[l*FJ<$FDF HFW<$FDFUFS<$F8FQF><$FF:FBFFFOF6%*_AncestorG=F(F0E\\[l*FUFfpF@<#F-9!6#FhqFbq/F\\sF->-F_s6#F--%&tableG6#F//F\\sF`p>-F_s6#F`p -FfsF(/F\\sFX>-F_s6#FXF\\t/F\\sF[o>-F_s6#F[oF\\t/F\\sFdo>-F_s6#FdoF\\t /F\\sFin>-F_s6#FinFbq/F\\sF`r>-F_s6#F`r-Ffs6#Fbr/F\\sFjq>-F_s6#FjqF\\t /F\\sF_q>-F_s6#F_qF\\t/F\\sFcp>-F_s6#FcpF\\t/F\\sFao>-F_s6#Fao<#.Fco/F \\sFgn>-F_s6#FgnFfrO.-F_s6#9\"F(F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "vweight(A, gr1res);" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#\"\")" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "path([S,A],gr1re s);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7(%\"SG%\"CG%\"EG%\"FG%\"GG%\"A G" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 45 "You can look at code for thi s procedure below" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "interf ace(verboseproc=2): print(shortpathtree);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#f*6$%&GraphG%\"sG6.%\"GG%%distG%\"eG%%esetG%\"hG%\"tG%* treeedgesG%\"vG%%vsetG%\"wG%$whtG%'tredgeG6#%foCopyright~(c)~1992~by~J .~S.~Devitt~and~C.~J.~Colbourn.~All~rights~reserved.G6\"C2>8$-&%)netwo rksG6#.%*duplicateG6#9$>8%-%(vweightG6#F9>8/-%&tableGF6?&8+-&F<6#.%)ve rticesGFF%%trueG>&FC6#FL%)infinityG>&FC6#9%\"\"!-&%)priqueueG6#.%+init ializeG6#8(>FLFZ>8,<\">8*%%NULLG?(F6\"\"\"FfoF60FLFdoC&?&8--%&minusG6$ -&F<6#.%+departuresG6$FLF9F`oFRC&>8'-F\\p6$-&F<6#.%&edgesG6%<$FLFjoF9. %$allG-Fjp6$7$FjoFLF9@%2Ffo-%%nopsG6#FfpC&>8&&Ffp6#Ffo>8.-&F<6#.%(ewei ghtG6$F\\rF9?&8)FfpFR@$2-Fbr6$FhrF9F`rC$>F\\rFhr>F`rFar@$2F`rFenYQAneg ative~edge~weight~encounteredF6C$>F\\rF]r>F`rFar@$5/&FC6#FjoFV2,&FTFfo F`rFfoFjsC%>FjsF]t>&-&F<6#.%)ancestorGFFF[t<#FL>&FHF[tF\\r-&Fhn6#.%'in sertG6$7$,$Fjs!\"\"FjoF]o>F`o-%&unionG6$F`oFgt@%2Fen&F]o6#FenC$>FL-&Fh n6#.%(extractGF\\o?(F6FfoFfoF63Fgo-%'memberG6$&FL6#\"\"#F`o@%Fhu>FLF]v >FLFdo>FLFdo@$Fgo>FLFgv-%)userinfoG6%Ffo.%'shortpG%/queue~is~emptyG-Fa w6&\"\"$Fcw-%&printG6#Fbt-Fjw6#FH?&FLFMFR>&-&F<6#.%)daughterGFFFUFao?& FL-F\\p6$FM<#FZFRC%>Fjo-%#opG6#&FbtFU>&FaxF[t-Feu6$FayFgt>Fco6$Fco&FHF U-&F<6#.%'deleteG6$-F\\p6$-FjpFF<#FcoF9-%%evalGFFF6F6F6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{MARK "6" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }