From 1bcdc8adb16d9140d485ee0cb1364318880f375f Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Fri, 27 Oct 2006 11:54:35 +0200 Subject: [PATCH] Importing initial version. --- 1-toky/1-toky.tex | 170 ++ 1-toky/Makefile | 3 + 1-toky/bip-graf.eps | 221 ++ 1-toky/bip-tok.eps | 434 +++ 1-toky/graf.eps | 310 ++ 1-toky/podrozdeleni.eps | 262 ++ 1-toky/vrchol.eps | 196 ++ 2-dinic/2-dinic.tex | 299 ++ 2-dinic/Makefile | 3 + 2-dinic/dinic-bipartitni.eps | 420 +++ 2-dinic/dinic-cestashranouzpet.eps | 297 ++ 2-dinic/dinic-cistasit.eps | 385 +++ 2-dinic/dinic-neprocistenasit.eps | 489 ++++ 2-dinic/dinic-scaling-g.eps | 654 +++++ 2-dinic/dinic-scaling-original.eps | 451 +++ 2-dinic/dinic-sort.eps | 427 +++ 2-dinic/dinic-vrcholrez.eps | 226 ++ 2-dinic/dinic-zpetnahrana.eps | 426 +++ 2-dinic/dinic.dia | Bin 0 -> 11124 bytes 3-bipcon/3-bipcon.tex | 116 + 3-bipcon/Makefile | 3 + 4-ght/4-ght-g1g2.eps | 743 +++++ 4-ght/4-ght-htl-a.eps | 300 ++ 4-ght/4-ght-htl-b.eps | 300 ++ 4-ght/4-ght-htl.eps | 554 ++++ 4-ght/4-ght-rez.eps | 382 +++ 4-ght/4-ght-rezx.eps | 708 +++++ 4-ght/4-ght.tex | 250 ++ 4-ght/Makefile | 3 + 5-mst/01.eps | 458 +++ 5-mst/02.eps | 429 +++ 5-mst/03.eps | 520 ++++ 5-mst/04.eps | 272 ++ 5-mst/05.eps | 364 +++ 5-mst/5-mst.tex | 241 ++ 5-mst/Makefile | 3 + 6-borjar/6-borjar.tex | 194 ++ 6-borjar/Makefile | 3 + 7-ram/7-ram.tex | 351 +++ 7-ram/Makefile | 3 + 8-qheapuf/8-qheapuf.tex | 291 ++ 8-qheapuf/Makefile | 3 + 8-qheapuf/trie.eps | 4274 ++++++++++++++++++++++++++++ 8-qheapuf/trie.vrr | 125 + 9-suffix/9-suffix.tex | 229 ++ 9-suffix/CT-35120024224-FS.eps | 593 ++++ 9-suffix/Makefile | 3 + 9-suffix/ST-BARBARA.eps | 404 +++ 9-suffix/ct-35120024224-fs.eps | 775 +++++ 9-suffix/ct-35120024224.eps | 465 +++ 9-suffix/st-barbara.eps | 771 +++++ 9-suffix/trie-c.eps | 266 ++ 9-suffix/trie-cd.eps | 336 +++ 9-suffix/trie.eps | 681 +++++ Makefile | 6 + Makerules | 37 + all/Makefile | 10 + all/preprocess | 24 + sgr.tex | 74 + 59 files changed, 21237 insertions(+) create mode 100644 1-toky/1-toky.tex create mode 100644 1-toky/Makefile create mode 100644 1-toky/bip-graf.eps create mode 100644 1-toky/bip-tok.eps create mode 100644 1-toky/graf.eps create mode 100644 1-toky/podrozdeleni.eps create mode 100644 1-toky/vrchol.eps create mode 100644 2-dinic/2-dinic.tex create mode 100644 2-dinic/Makefile create mode 100644 2-dinic/dinic-bipartitni.eps create mode 100644 2-dinic/dinic-cestashranouzpet.eps create mode 100644 2-dinic/dinic-cistasit.eps create mode 100644 2-dinic/dinic-neprocistenasit.eps create mode 100644 2-dinic/dinic-scaling-g.eps create mode 100644 2-dinic/dinic-scaling-original.eps create mode 100644 2-dinic/dinic-sort.eps create mode 100644 2-dinic/dinic-vrcholrez.eps create mode 100644 2-dinic/dinic-zpetnahrana.eps create mode 100644 2-dinic/dinic.dia create mode 100644 3-bipcon/3-bipcon.tex create mode 100644 3-bipcon/Makefile create mode 100644 4-ght/4-ght-g1g2.eps create mode 100644 4-ght/4-ght-htl-a.eps create mode 100644 4-ght/4-ght-htl-b.eps create mode 100644 4-ght/4-ght-htl.eps create mode 100644 4-ght/4-ght-rez.eps create mode 100644 4-ght/4-ght-rezx.eps create mode 100644 4-ght/4-ght.tex create mode 100644 4-ght/Makefile create mode 100644 5-mst/01.eps create mode 100644 5-mst/02.eps create mode 100644 5-mst/03.eps create mode 100644 5-mst/04.eps create mode 100644 5-mst/05.eps create mode 100644 5-mst/5-mst.tex create mode 100644 5-mst/Makefile create mode 100644 6-borjar/6-borjar.tex create mode 100644 6-borjar/Makefile create mode 100644 7-ram/7-ram.tex create mode 100644 7-ram/Makefile create mode 100644 8-qheapuf/8-qheapuf.tex create mode 100644 8-qheapuf/Makefile create mode 100644 8-qheapuf/trie.eps create mode 100644 8-qheapuf/trie.vrr create mode 100644 9-suffix/9-suffix.tex create mode 100644 9-suffix/CT-35120024224-FS.eps create mode 100644 9-suffix/Makefile create mode 100644 9-suffix/ST-BARBARA.eps create mode 100644 9-suffix/ct-35120024224-fs.eps create mode 100644 9-suffix/ct-35120024224.eps create mode 100644 9-suffix/st-barbara.eps create mode 100644 9-suffix/trie-c.eps create mode 100644 9-suffix/trie-cd.eps create mode 100644 9-suffix/trie.eps create mode 100644 Makefile create mode 100644 Makerules create mode 100644 all/Makefile create mode 100755 all/preprocess create mode 100644 sgr.tex diff --git a/1-toky/1-toky.tex b/1-toky/1-toky.tex new file mode 100644 index 0000000..334827c --- /dev/null +++ b/1-toky/1-toky.tex @@ -0,0 +1,170 @@ +%%%%%%%%%%%%%%%%%%%%%%% +% Zápisek prvého semináøe z grafových algoritmù - ze dne ? 7.6.2006 ? +% Téma Toky v sítích a zejména Ford-Fulkersonùv algoritmus. +% Zapsal Radovan ©esták - radovan.sestak@gmail.com +%%%%%%%%%%%%%%%%%%%%%% + +\input ../sgr.tex + +\prednaska{1}{Toky v sítích a FF algoritmus}{zapsal Radovan ©esták} + +\h{Toky v sítích} + +V následujícím odstavci uká¾eme nìkolik tvrzení o sítích, které je +mo¾né si pøedstavit jako sí» potrubí køí¾ící se v uzlech. Vrchol +z kterého se kapalina ¹íøí nazveme zdroj a vrchol kde odtéká stok. Pro +ostatní vrcholy platí, ¾e objem kapaliny pøitékající se rovná objemu +kapaliny odtékající. Toto pravidlo, které pochází z teorie o elektrických obvodech, +se zvykne nazývat Kirchhoffùv zákon. Hledání maximálního toku je duální úlohou k hledání +minimálního øezu. Ford-Fulkersonùv(FF) algoritmus, který bude popsán ní¾e je základním +algoritmem pro hledání tokù. Na úlohu hledání maximálního toku se dají pøevést mnohé +grafové problémy a i proto existuje mnoho algoritmù a nìkteré z nich jsou pouze modifikace +základního FF algoritmu. V dal¹í pøedná¹ce najdete Dinitzùv algoritmus pro tenhle problém. + + +\s{Definice:} + +\itemize\ibull +\:sí»: $N=(V,E,s,t,w)$ kde $V$ je mno¾ina vrcholù, $E\subseteq V\times V$, +$s\in V$ je zdroj, $t\in V$ je stok, $w:\, E\rightarrow{R}^{+}$ jsou kapacity hran +\:tok: $f:\, E\rightarrow{R}^{+}$kde $\forall e\in E\, f(e)\leq w(e)$ a +$\forall v\in V,\, v\neq s,\, v\neq t\,\,\sum_{uv\in E}f(uv)=\sum_{vw\in E}f(vw)$ +\:velikost toku: $\|f\|=\sum_{sv\in E}f(sv)-\sum_{vs\in E}f(vs)$ kde $s$ je zdroj +\:øez: $st$-øez je mno¾ina hran $C\subseteq E$ taková, ¾e v grafu $(V,\, E\setminus C)$ neexistuje +cesta z s do t +\:separátor: $st$-separátor je mno¾ina vrcholù $S\subseteq V$ taková, ¾e v grafu +$(V\setminus S,\, E\cap(V\setminus S)\times(V\backslash S))$ neexistuje +cesta z s do t +\:velikost øezu: $\|c\|=\sum_{e\in c}w(e)$ je velikost øezu +\endlist + +\figure{graf.eps}{Pøíklad orientovaného grafu ze zvoleným zdrojem a stokem.}{0.4\hsize} + +\s{Vìta(Ford-Fulkerson) o souvislosti tokù a øezù} +Nech» $N=(V,E,s,t,w)$ je sí», $F$ je mno¾ina pøípustných tokù pro tuto sí» a $C$ je +mno¾ina øezù oddìlující zdroj od stoku. Pak +$$max_{f\in F}|f|=min_{c\in C}\|c\|$$. +Vìta platí pro v¹echny výbìry zdrojù a stokù $\forall s,t\in V, s\neq t$ nech» $st-F$ je mno¾ina +v¹ech tokù ze zdroje $s$ do stoku $t$ a $st-C$ je mno¾ina v¹ech øezù oddìlujících $s$ od $t$. Pak +$$max_{f\in st-F}\|f\|=min_{c\in st-C}\|c\|$$ +pro graf $G=(V,E,w)$. + +\s{Dùkaz vìty:} + +\s{$max_{f}\|f\|\leq min_{c}\|c\|$:} Vìznìme libovolný øez oddìlující zdroj od stoku $c$ a uva¾me +graf $G'=(V,E\setminus c)$, který vznikl odebráním hran nacházejících se v øezu. Buï $S$ mno¾ina +vrcholù dosa¾itelných ze zdroje v $G'$. +Pro libovolnej tok $f$ platí: + +$$\|f\| = \sum_{uv\in E, u\in S, v\notin S}f(uv) - \sum_{uv\in E, u\in S, v\notin S}f(vu)$$ +velikost toku je rovna rozdílu velikostí tokù pøes hrany opou¹tìjící $S$ a pøicházející do $S$. +$$\|f\| = \sum_{u\in V}f(su) - \sum_{u\in V}f(us)$$ +proto¾e se tok zachovává ve v¹ech vrcholech partity $S$ kromì $s$ dostáváme +$$= \sum_{v\in S}(\sum_{u\in V}f(uv)-\sum_{u\in V}f(vu))$$ +$f(uv)$ pro $u,v\in S$ jsme jednou pøièítali a jednou odèítali +$$= \sum_{uv\in E, u\in S, v\notin S}f(uv) - \sum_{uv\in E, u\in S, v\notin S}f(vu)$$ + +Teï si u¾ staèí jenom uvìdomit, ¾e +$$\|f\| = \sum_{uv\in E, u\in S, v\notin S}f(uv)- \sum_{uv\in E, u\in S, v\notin S}f(vu) \leq \sum_{uv\in E, u\in S, v\notin S}f(uv) +\leq \sum_{uv\in E, u\in S, v\notin S}w(uv) \leq \|c\|$$ +Poslední nerovnost je dùsledkem toho, ¾e øez obsahuje v¹echny hrany opou¹tìjící $S$. + +$max_{f}|f|\geq min_{c}|c|$: dùkaz plyne z korektnosti +Ford-Fulkersonova algoritmu viz. algoritmus dále + +\s{Dùsledek:}Pro ka¾dou sí» s celoèíselnými kapacitami je její maximální tok celoèíselný. + +\h{Maximální párování v bipartitním grafu} +Maximální párování v bipartitním grafu $(A\cup B,E)$ se dá najít +pomocí maximálního toku v síti $(A\cup B\cup s\cup t,E',s,t,w)$ kde +$w(e)=1$ a $E'=\{ uv\| u\in A, uv\in E\} \cup \{su\| u\in A\} \cup\{ut\| u\in B\}$ a +obdobnì mù¾eme nalézt minimální vrcholové pokrytí. + +\figure{bip-graf.eps}{Bipartitní graf pro který hledáme maximální párování.}{0.2\hsize} +\figure{bip-tok.eps}{Sí» v které najdeme maximální tok.}{0.3\hsize} + +\s{Definice} +\itemize\ibull +\:neorientovaný graf G je vrcholovì k-souvislý $\Leftrightarrow$ G má alespoò +k+1 vrcholù a neexistuje separátor s ménì ne¾ k vrcholy +\:neorientovaný graf G je hranovì k-souvislý $\Leftrightarrow$ G má alespoò k+1 vrcholù +a neexistuje øez s ménì ne¾ k hranami +\:orientovaný graf je silnì souvislý $\Leftrightarrow$ existuje orientovaná cesta mezi +v¹emi vrcholy v obou smìrech +\:cirkulace je nulový tok t.j. $\forall v\in V, \sum f(uv)=\sum f(vu)$ +\endlist + +\s{Vìta:}(Menger) o souvislosti existencí disjunktních cest a souvislostí +grafù + +buï $G$ neorientovaný graf, pak: +\itemize\ibull +\:$G$ je vrcholovì k-souvislý $\Leftrightarrow$$\forall v,w\in V\,\exists$ +k vrcholovì disjunktních cest z $v$ do $w$ +\:$G$ je hranovì k-souvislý $\Leftrightarrow$$\forall v,w\in V\,\exists$ +k hranovì disjunktních cest z $v$ do $w$ +\:kdy¾ $u$ a $v$ jsou nesousední vrcholy v $G$ pak maximální poèet vrcholovì disjunktních +cest mezi $u$ a $v$ se rovná minimálnímu poètu vrcholù z $G-{u,v}$ kterých odebrání oddìlí +$u$ od $v$ +\:kdy¾ $u$ a $v$ jsou vrcholy v $G$ pak maximální poèet hranovì disjunktních +cest mezi $u$ a $v$ se rovná minimálnímu poètu hran, kterých odebrání oddìlí $u$ od $v$ +\endlist +buï $G$ orientovaný graf, pak: +\itemize\ibull +\:kdy¾ $u$ a $v$ jsou vrcholy $G$, $uv\notin E(G)$ pak maximální poèet vrcholovì disjunktních +cest z $u$ do $v$ je rovný minimálnímu poètu vrcholù z $G-{u,v}$ kterých odebrání oddìlí $u$ od $v$ +\:kdy¾ $u$ a $v$ jsou vrcholy $G$ pak maximální poèet hranovì disjunktních cest z $u$ do $v$ je +rovný minimálnímu poètu hran, kterých odebrání oddìlí $u$ od $v$ +\endlist + +Vrcholová i hranová souvislost grafu se dá zjistit pomocí maximálního +toku. Pro hranovou souvislost pøímo zjistíme maximální tok pro ka¾dou +dvojici vrcholù (volba zdroje a stoku). V pøípadì neorientovaného grafu vyrobíme orientovaný graf tak, ¾e ka¾dou +neorientovanou hranu nahradíme orientovanými v obou smìrech. Pro vrcholovou souvislost +navíc musíme ka¾dý vrchol nahradit dvìma novými a spojit je hranou +v obou smìrech (pod-rozdìlení vrcholu). Kapacity hran volíme 1. +Pro nalezení tìchto cest staèí v¾dy v síti odebírat postupnì cestu +z $s$ do $t$. Odebrání jedné cesty sní¾í tok o jedna a tedy cest +musíme nalézt $k$. +\figure{vrchol.eps}{Vrchol který chceme pod-rozdìlit.}{0.1\hsize} +\figure{podrozdeleni.eps}{Výsledek pod-rozdìlení vrcholu.}{0.15\hsize} + + +\s{Ford-Fulkersonùv algoritmus} +Algoritmus nepracuje pøímo s kapacitami a s toky pøes hrany, ale s rezervami +tìchto hran. Funkce rezerv definujeme jako $r(uv)\equiv w(uv)-f(uv)+f(vu)$. +Jestli $uv\notin E(G)$ pak $w(uv)=0$. +Kdy¾ zmen¹ujeme rezervu hrany tak o stejnou hodnotu zvý¹íme hodnotu +rezervy opaèné hrany. Dále pak FF cesta, je cesta pro kterou má ka¾dá hrana kladnou rezervu. + +\algo +\:nastav rezervy pro nulový tok na v¹ech hranách (rezervy se rovnají kapacitám) +\:while $\exists$FF cesta z $s$ do $t$ +\::buï $p$ FF cesta z $s$ do $t$ +\::zvìt¹i tok zmen¹ením rezerv, o $m=min_{uv\in p}r(uv)$ +\:end while +\:spoèti tok z rezerv +\endalgo + +Pro dùkaz korektnosti algoritmu uva¾ mno¾inu $X=\{ v,\,\exists$FF +cesta z $s$ do $v\}$ po dobìhnutí algoritmu. Proto¾e neexistuje FF cesta z $s$ do $t$, $t\notin X$. +Pak mno¾iny $X$ a $V\setminus X$ urèují øez tvoøený hranami spojujícími +vrcholy z rùzných mno¾in $c=\{uv: uv\in E, u\in X, v\in V\setminus X\}$. V¹echny hrany $uv\in c$ +mají nulovou rezervu, nebo» jinak by se dala prodlou¾it FF cesta do vrcholu z $V\setminus X$. Tak¾e velikost +toku se rovná souètu kapacit hran z $X$ do $V\setminus X$ (tohle tvrzení jsme dokázali pøi dùkazu opaèné implikace +FF vìty). Souèasnì tyhle hrany tvoøí $st$-øez, kterého kapacita je rovna velikosti toku. Na¹li jsme tedy øez, +kterého velikost se rovná velikosti pøípustného toku a tím je dùkaz FF vìty ukonèen. + +Kdy¾ máme celoèíselné kapacity hran tak v ka¾dém kroku se tok zvìt¹í +alespoò o jedna a maximální tok je z hora omezen, napøíklad souètem +v¹ech kapacit hran. Pro racionální kapacity staèí vynásobit kapacity +a dostaneme celoèíselné. Z toho plyne koneènost FF algoritmu pro hrany s racionálními kapacitami. +Táto varianta FF algoritmu není obecnì koneèná pøi reálných kapacitách. Volíme-li ov¹em zlep¹ující cestu, která +má maximální minimum pøes rezervy tak je FF algoritmus koneèný i pro reálné kapacity hran. + +Pro FF algoritmus s jednotkovými kapacitami a vyu¾itím BFS (procházení +do ¹íøky) na hledání FF cest je èasová slo¾itost algoritmu $O(n.m)$. +Edmunds s Karpem dokázali, ¾e pøi volbì nejkrat¹í cesty je èasová +slo¾itost v obecném pøípadì $O(n.m^{2})$. + +\bye diff --git a/1-toky/Makefile b/1-toky/Makefile new file mode 100644 index 0000000..e82416b --- /dev/null +++ b/1-toky/Makefile @@ -0,0 +1,3 @@ +P=1-toky + +include ../Makerules diff --git a/1-toky/bip-graf.eps b/1-toky/bip-graf.eps new file mode 100644 index 0000000..98da488 --- /dev/null +++ b/1-toky/bip-graf.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: /mnt/data/toky/toky.dia +%%Creator: Dia v0.95 +%%CreationDate: Tue Jun 13 12:12:35 2006 +%%For: radofan +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 197 171 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-8.605723 4.387504 translate +%%EndProlog + + +1.000000 1.000000 1.000000 srgb +n 13.857500 -7.427508 0.826777 2.937496 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 13.857500 -7.427508 0.826777 2.937496 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 10.200000 -7.375000 0.826777 2.937496 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 10.200000 -7.375000 0.826777 2.937496 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 -10.000000 m 14.000000 -8.000000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 -8.000000 m 14.000000 -6.000000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 -5.000000 m 14.000000 -5.000000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.000000 -8.000000 m 10.000000 -6.000000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.000000 -10.000000 m 10.000000 -7.000000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 -9.000000 m 14.000000 -10.000000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 -7.000000 m 14.000000 -8.000000 l s +gsave 8.623223 -7.187504 translate 0.035278 -0.035278 scale +start_ol +1600 2882 moveto +985 1216 lineto +2218 1216 lineto +1600 2882 lineto +1344 3328 moveto +1858 3328 lineto +3136 0 lineto +2665 0 lineto +2360 832 lineto +847 832 lineto +542 0 lineto +64 0 lineto +1344 3328 lineto +end_ol grestore +gsave 15.148223 -7.312504 translate 0.035278 -0.035278 scale +start_ol +896 1600 moveto +896 384 lineto +1632 384 lineto +2007 384 2187 534 conicto +2368 684 2368 993 conicto +2368 1304 2187 1452 conicto +2007 1600 1632 1600 conicto +896 1600 lineto +896 2944 moveto +896 1984 lineto +1575 1984 lineto +1911 1984 2075 2102 conicto +2240 2221 2240 2464 conicto +2240 2705 2075 2824 conicto +1911 2944 1575 2944 conicto +896 2944 lineto +448 3328 moveto +1608 3328 lineto +2127 3328 2407 3117 conicto +2688 2906 2688 2517 conicto +2688 2216 2546 2037 conicto +2404 1859 2129 1815 conicto +2455 1743 2635 1514 conicto +2816 1286 2816 943 conicto +2816 492 2514 246 conicto +2212 0 1654 0 conicto +448 0 lineto +448 3328 lineto +end_ol grestore +showpage diff --git a/1-toky/bip-tok.eps b/1-toky/bip-tok.eps new file mode 100644 index 0000000..355a493 --- /dev/null +++ b/1-toky/bip-tok.eps @@ -0,0 +1,434 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: toky.dia +%%Creator: Dia v0.94 +%%CreationDate: Tue Jun 13 20:07:01 2006 +%%For: sestr2am +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 343 189 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-6.498220 -2.584992 translate +%%EndProlog + + +1.000000 1.000000 1.000000 srgb +n 9.907497 -0.502504 0.826777 2.937496 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 9.907497 -0.502504 0.826777 2.937496 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 13.882477 -0.402504 0.826777 2.937496 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 13.882477 -0.402504 0.826777 2.937496 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 -3.000000 m 13.564590 -1.217705 l s +[] 0 sd +0 slj +0 slc +n 13.900000 -1.050000 m 13.340983 -1.050000 l 13.564590 -1.217705 l 13.564590 -1.497214 l ef +n 13.900000 -1.050000 m 13.340983 -1.050000 l 13.564590 -1.217705 l 13.564590 -1.497214 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 -1.000000 m 13.564590 0.782295 l s +[] 0 sd +0 slj +0 slc +n 13.900000 0.950000 m 13.340983 0.950000 l 13.564590 0.782295 l 13.564590 0.502786 l ef +n 13.900000 0.950000 m 13.340983 0.950000 l 13.564590 0.782295 l 13.564590 0.502786 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 2.000000 m 13.513197 2.000000 l s +[] 0 sd +0 slj +0 slc +n 13.888197 2.000000 m 13.388197 2.250000 l 13.513197 2.000000 l 13.388197 1.750000 l ef +n 13.888197 2.000000 m 13.388197 2.250000 l 13.513197 2.000000 l 13.388197 1.750000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 13.564590 -0.782295 m 10.000000 1.000000 l s +[] 0 sd +0 slj +0 slc +n 13.900000 -0.950000 m 13.564590 -0.502786 l 13.564590 -0.782295 l 13.340983 -0.950000 l ef +n 13.900000 -0.950000 m 13.564590 -0.502786 l 13.564590 -0.782295 l 13.340983 -0.950000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 0.000000 m 13.610557 -2.707918 l s +[] 0 sd +0 slj +0 slc +n 13.910557 -2.932918 m 13.660557 -2.432918 l 13.610557 -2.707918 l 13.360557 -2.832918 l ef +n 13.910557 -2.932918 m 13.660557 -2.432918 l 13.610557 -2.707918 l 13.360557 -2.832918 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 -2.000000 m 13.527731 -2.881933 l s +[] 0 sd +0 slj +0 slc +n 13.891535 -2.972884 m 13.467097 -2.609080 l 13.527731 -2.881933 l 13.345830 -3.094152 l ef +n 13.891535 -2.972884 m 13.467097 -2.609080 l 13.527731 -2.881933 l 13.345830 -3.094152 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 0.000000 m 13.527731 -0.881933 l s +[] 0 sd +0 slj +0 slc +n 13.891535 -0.972884 m 13.467097 -0.609080 l 13.527731 -0.881933 l 13.345830 -1.094152 l ef +n 13.891535 -0.972884 m 13.467097 -0.609080 l 13.527731 -0.881933 l 13.345830 -1.094152 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.000000 -1.000000 m 9.594955 -2.729970 l s +[] 0 sd +0 slj +0 slc +n 9.906974 -2.937983 m 9.629624 -2.452620 l 9.594955 -2.729970 l 9.352274 -2.868645 l ef +n 9.906974 -2.937983 m 9.629624 -2.452620 l 9.594955 -2.729970 l 9.352274 -2.868645 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.000000 -1.000000 m 9.538178 -1.846059 l s +[] 0 sd +0 slj +0 slc +n 9.893934 -1.964645 m 9.498649 -1.569360 l 9.538178 -1.846059 l 9.340535 -2.043702 l ef +n 9.893934 -1.964645 m 9.498649 -1.569360 l 9.538178 -1.846059 l 9.340535 -2.043702 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.000000 -1.000000 m 9.513197 -1.000000 l s +[] 0 sd +0 slj +0 slc +n 9.888197 -1.000000 m 9.388197 -0.750000 l 9.513197 -1.000000 l 9.388197 -1.250000 l ef +n 9.888197 -1.000000 m 9.388197 -0.750000 l 9.513197 -1.000000 l 9.388197 -1.250000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.000000 -1.000000 m 9.538178 -0.153941 l s +[] 0 sd +0 slj +0 slc +n 9.893934 -0.035355 m 9.340535 0.043702 l 9.538178 -0.153941 l 9.498649 -0.430640 l ef +n 9.893934 -0.035355 m 9.340535 0.043702 l 9.538178 -0.153941 l 9.498649 -0.430640 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.000000 -1.000000 m 9.594955 0.729970 l s +[] 0 sd +0 slj +0 slc +n 9.906974 0.937983 m 9.352274 0.868645 l 9.594955 0.729970 l 9.629624 0.452620 l ef +n 9.906974 0.937983 m 9.352274 0.868645 l 9.594955 0.729970 l 9.629624 0.452620 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.000000 -1.000000 m 9.655778 1.655778 l s +[] 0 sd +0 slj +0 slc +n 9.920943 1.920943 m 9.390613 1.744166 l 9.655778 1.655778 l 9.744166 1.390613 l ef +n 9.920943 1.920943 m 9.390613 1.744166 l 9.655778 1.655778 l 9.744166 1.390613 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.000000 -3.000000 m 17.564590 -1.217705 l s +[] 0 sd +0 slj +0 slc +n 17.900000 -1.050000 m 17.340983 -1.050000 l 17.564590 -1.217705 l 17.564590 -1.497214 l ef +n 17.900000 -1.050000 m 17.340983 -1.050000 l 17.564590 -1.217705 l 17.564590 -1.497214 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.000000 -1.000000 m 17.513197 -1.000000 l s +[] 0 sd +0 slj +0 slc +n 17.888197 -1.000000 m 17.388197 -0.750000 l 17.513197 -1.000000 l 17.388197 -1.250000 l ef +n 17.888197 -1.000000 m 17.388197 -0.750000 l 17.513197 -1.000000 l 17.388197 -1.250000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.000000 1.000000 m 17.564590 -0.782295 l s +[] 0 sd +0 slj +0 slc +n 17.900000 -0.950000 m 17.564590 -0.502786 l 17.564590 -0.782295 l 17.340983 -0.950000 l ef +n 17.900000 -0.950000 m 17.564590 -0.502786 l 17.564590 -0.782295 l 17.340983 -0.950000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.000000 2.000000 m 17.610557 -0.707918 l s +[] 0 sd +0 slj +0 slc +n 17.910557 -0.932918 m 17.660557 -0.432918 l 17.610557 -0.707918 l 17.360557 -0.832918 l ef +n 17.910557 -0.932918 m 17.660557 -0.432918 l 17.610557 -0.707918 l 17.360557 -0.832918 l cp s +gsave 8.898220 -3.337500 translate 0.035278 -0.035278 scale +start_ol +3072 0 moveto +2596 0 lineto +2281 896 lineto +855 896 lineto +541 0 lineto +64 0 lineto +1273 3328 lineto +1862 3328 lineto +3072 0 lineto +2143 1280 moveto +1569 2895 lineto +990 1280 lineto +2143 1280 lineto +end_ol grestore +gsave 14.473200 -3.462500 translate 0.035278 -0.035278 scale +start_ol +2944 1020 moveto +2944 772 2850 583 conicto +2757 394 2599 272 conicto +2413 125 2189 62 conicto +1966 0 1621 0 conicto +448 0 lineto +448 3328 lineto +1440 3328 lineto +1806 3328 1988 3301 conicto +2171 3274 2337 3189 conicto +2522 3093 2605 2941 conicto +2688 2789 2688 2579 conicto +2688 2340 2567 2173 conicto +2446 2006 2244 1903 conicto +2244 1885 lineto +2569 1816 2756 1590 conicto +2944 1364 2944 1020 conicto +2240 2517 moveto +2240 2638 2199 2720 conicto +2158 2803 2067 2855 conicto +1961 2915 1808 2929 conicto +1656 2944 1432 2944 conicto +896 2944 lineto +896 1984 lineto +1477 1984 lineto +1688 1984 1812 2005 conicto +1937 2026 2044 2093 conicto +2151 2160 2195 2266 conicto +2240 2372 2240 2517 conicto +2496 1001 moveto +2496 1198 2436 1314 conicto +2376 1431 2218 1512 conicto +2111 1567 1958 1583 conicto +1806 1600 1588 1600 conicto +896 1600 lineto +896 384 lineto +1479 384 lineto +1769 384 1953 413 conicto +2138 443 2256 522 conicto +2380 608 2438 718 conicto +2496 828 2496 1001 conicto +end_ol grestore +gsave 6.498220 -0.912504 translate 0.035278 -0.035278 scale +start_ol +2240 719 moveto +2240 375 1952 155 conicto +1665 -64 1167 -64 conicto +885 -64 650 4 conicto +415 72 256 153 conicto +256 640 lineto +278 640 lineto +479 493 725 406 conicto +971 320 1196 320 conicto +1476 320 1634 403 conicto +1792 486 1792 665 conicto +1792 812 1705 889 conicto +1619 965 1374 1018 conicto +1283 1038 1136 1065 conicto +990 1092 869 1124 conicto +536 1212 396 1380 conicto +256 1549 256 1796 conicto +256 1950 320 2087 conicto +384 2224 515 2332 conicto +641 2436 836 2498 conicto +1031 2560 1272 2560 conicto +1497 2560 1728 2505 conicto +1959 2450 2112 2371 conicto +2112 1920 lineto +2089 1920 lineto +1929 2028 1699 2102 conicto +1470 2176 1250 2176 conicto +1020 2176 862 2095 conicto +704 2014 704 1852 conicto +704 1698 802 1619 conicto +897 1540 1111 1492 conicto +1229 1465 1375 1438 conicto +1522 1411 1620 1388 conicto +1917 1321 2078 1158 conicto +2240 992 2240 719 conicto +end_ol grestore +gsave 18.348200 -0.812504 translate 0.035278 -0.035278 scale +start_ol +1728 8 moveto +1610 -23 1471 -43 conicto +1333 -64 1224 -64 conicto +844 -64 646 140 conicto +448 345 448 794 conicto +448 2112 lineto +192 2112 lineto +192 2496 lineto +448 2496 lineto +448 3200 lineto +896 3200 lineto +896 2496 lineto +1728 2496 lineto +1728 2112 lineto +896 2112 lineto +896 994 lineto +896 801 904 692 conicto +913 584 965 489 conicto +1012 401 1094 360 conicto +1177 320 1347 320 conicto +1445 320 1552 344 conicto +1659 368 1707 384 conicto +1728 384 lineto +1728 8 lineto +end_ol grestore +showpage diff --git a/1-toky/graf.eps b/1-toky/graf.eps new file mode 100644 index 0000000..e9edee3 --- /dev/null +++ b/1-toky/graf.eps @@ -0,0 +1,310 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: /mnt/data/toky/toky.dia +%%Creator: Dia v0.95 +%%CreationDate: Tue Jun 13 12:12:08 2006 +%%For: radofan +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 397 169 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-5.545100 12.570000 translate +%%EndProlog + + +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0.000000 0.000000 0.000000 srgb +n 6.000000 -16.000000 m 9.564590 -17.782295 l s +[] 0 sd +0 slj +0 slc +n 9.900000 -17.950000 m 9.564590 -17.502786 l 9.564590 -17.782295 l 9.340983 -17.950000 l ef +n 9.900000 -17.950000 m 9.564590 -17.502786 l 9.564590 -17.782295 l 9.340983 -17.950000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 6.000000 -16.000000 m 9.527731 -16.881933 l s +[] 0 sd +0 slj +0 slc +n 9.891535 -16.972884 m 9.467097 -16.609080 l 9.527731 -16.881933 l 9.345830 -17.094152 l ef +n 9.891535 -16.972884 m 9.467097 -16.609080 l 9.527731 -16.881933 l 9.345830 -17.094152 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 6.000000 -16.000000 m 9.527731 -15.118067 l s +[] 0 sd +0 slj +0 slc +n 9.891535 -15.027116 m 9.345830 -14.905848 l 9.527731 -15.118067 l 9.467097 -15.390920 l ef +n 9.891535 -15.027116 m 9.345830 -14.905848 l 9.527731 -15.118067 l 9.467097 -15.390920 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 -13.000000 m 6.389443 -15.707918 l s +[] 0 sd +0 slj +0 slc +n 6.089443 -15.932918 m 6.639443 -15.832918 l 6.389443 -15.707918 l 6.339443 -15.432918 l ef +n 6.089443 -15.932918 m 6.639443 -15.832918 l 6.389443 -15.707918 l 6.339443 -15.432918 l cp s +gsave 5.562600 -15.887500 translate 0.035278 -0.035278 scale +start_ol +2048 2432 moveto +2048 2048 lineto +1868 2144 1674 2192 conicto +1480 2240 1273 2240 conicto +957 2240 798 2144 conicto +640 2048 640 1856 conicto +640 1709 757 1625 conicto +875 1542 1229 1467 conicto +1380 1435 lineto +1812 1341 1994 1170 conicto +2176 999 2176 692 conicto +2176 343 1899 139 conicto +1622 -64 1137 -64 conicto +936 -64 717 -32 conicto +498 0 256 64 conicto +256 512 lineto +490 385 718 320 conicto +947 256 1170 256 conicto +1470 256 1631 358 conicto +1792 461 1792 647 conicto +1792 820 1670 912 conicto +1549 1004 1141 1089 conicto +988 1123 lineto +600 1203 428 1369 conicto +256 1535 256 1824 conicto +256 2177 510 2368 conicto +765 2560 1233 2560 conicto +1466 2560 1670 2528 conicto +1875 2496 2048 2432 conicto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 -18.000000 m 13.564590 -16.217705 l s +[] 0 sd +0 slj +0 slc +n 13.900000 -16.050000 m 13.340983 -16.050000 l 13.564590 -16.217705 l 13.564590 -16.497214 l ef +n 13.900000 -16.050000 m 13.340983 -16.050000 l 13.564590 -16.217705 l 13.564590 -16.497214 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.000000 -16.000000 m 10.389443 -13.292082 l s +[] 0 sd +0 slj +0 slc +n 10.089443 -13.067082 m 10.339443 -13.567082 l 10.389443 -13.292082 l 10.639443 -13.167082 l ef +n 10.089443 -13.067082 m 10.339443 -13.567082 l 10.389443 -13.292082 l 10.639443 -13.167082 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.000000 -18.000000 m 10.389443 -15.292082 l s +[] 0 sd +0 slj +0 slc +n 10.089443 -15.067082 m 10.339443 -15.567082 l 10.389443 -15.292082 l 10.639443 -15.167082 l ef +n 10.089443 -15.067082 m 10.339443 -15.567082 l 10.389443 -15.292082 l 10.639443 -15.167082 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.000000 -18.000000 m 18.548014 -16.180794 l s +[] 0 sd +0 slj +0 slc +n 18.896193 -16.041523 m 18.339107 -15.995099 l 18.548014 -16.180794 l 18.524802 -16.459337 l ef +n 18.896193 -16.041523 m 18.339107 -15.995099 l 18.548014 -16.180794 l 18.524802 -16.459337 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 19.000000 -16.000000 m 14.486803 -16.000000 l s +[] 0 sd +0 slj +0 slc +n 14.111803 -16.000000 m 14.611803 -16.250000 l 14.486803 -16.000000 l 14.611803 -15.750000 l ef +n 14.111803 -16.000000 m 14.611803 -16.250000 l 14.486803 -16.000000 l 14.611803 -15.750000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 -13.000000 m 18.538178 -15.846059 l s +[] 0 sd +0 slj +0 slc +n 18.893934 -15.964645 m 18.498649 -15.569360 l 18.538178 -15.846059 l 18.340535 -16.043702 l ef +n 18.893934 -15.964645 m 18.498649 -15.569360 l 18.538178 -15.846059 l 18.340535 -16.043702 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 -18.000000 m 18.524789 -16.105602 l s +[] 0 sd +0 slj +0 slc +n 18.890859 -16.024254 m 18.348533 -15.888672 l 18.524789 -16.105602 l 18.456998 -16.376766 l ef +n 18.890859 -16.024254 m 18.348533 -15.888672 l 18.524789 -16.105602 l 18.456998 -16.376766 l cp s +gsave 19.275000 -15.725000 translate 0.035278 -0.035278 scale +start_ol +832 3200 moveto +832 2496 lineto +1664 2496 lineto +1664 2176 lineto +832 2176 lineto +832 804 lineto +832 495 914 407 conicto +997 320 1248 320 conicto +1664 320 lineto +1664 0 lineto +1248 0 lineto +793 0 620 173 conicto +448 347 448 804 conicto +448 2176 lineto +128 2176 lineto +128 2496 lineto +448 2496 lineto +448 3200 lineto +832 3200 lineto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 9.987600 -16.987500 m 18.253945 -16.042775 l s +[] 0 sd +0 slj +0 slc +n 18.626520 -16.000195 m 18.101367 -15.808585 l 18.253945 -16.042775 l 18.158140 -16.305351 l ef +n 18.626520 -16.000195 m 18.101367 -15.808585 l 18.253945 -16.042775 l 18.158140 -16.305351 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 -18.000000 m 13.513197 -18.000000 l s +[] 0 sd +0 slj +0 slc +n 13.888197 -18.000000 m 13.388197 -17.750000 l 13.513197 -18.000000 l 13.388197 -18.250000 l ef +n 13.888197 -18.000000 m 13.388197 -17.750000 l 13.513197 -18.000000 l 13.388197 -18.250000 l cp s +showpage diff --git a/1-toky/podrozdeleni.eps b/1-toky/podrozdeleni.eps new file mode 100644 index 0000000..ee2fd3f --- /dev/null +++ b/1-toky/podrozdeleni.eps @@ -0,0 +1,262 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: /mnt/data/toky/toky.dia +%%Creator: Dia v0.95 +%%CreationDate: Tue Jun 13 12:14:41 2006 +%%For: radofan +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 180 84 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-7.932918 -10.469574 translate +%%EndProlog + + +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0.000000 0.000000 0.000000 srgb +n 8.000000 8.000000 m 9.564590 8.782295 l s +[] 0 sd +0 slj +0 slc +n 9.900000 8.950000 m 9.340983 8.950000 l 9.564590 8.782295 l 9.564590 8.502786 l ef +n 9.900000 8.950000 m 9.340983 8.950000 l 9.564590 8.782295 l 9.564590 8.502786 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 8.000000 9.000000 m 9.513197 9.000000 l s +[] 0 sd +0 slj +0 slc +n 9.888197 9.000000 m 9.388197 9.250000 l 9.513197 9.000000 l 9.388197 8.750000 l ef +n 9.888197 9.000000 m 9.388197 9.250000 l 9.513197 9.000000 l 9.388197 8.750000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 8.000000 10.000000 m 9.564590 9.217705 l s +[] 0 sd +0 slj +0 slc +n 9.900000 9.050000 m 9.564590 9.497214 l 9.564590 9.217705 l 9.340983 9.050000 l ef +n 9.900000 9.050000 m 9.564590 9.497214 l 9.564590 9.217705 l 9.340983 9.050000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 12.000000 9.000000 m 13.564590 8.217705 l s +[] 0 sd +0 slj +0 slc +n 13.900000 8.050000 m 13.564590 8.497214 l 13.564590 8.217705 l 13.340983 8.050000 l ef +n 13.900000 8.050000 m 13.564590 8.497214 l 13.564590 8.217705 l 13.340983 8.050000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 12.000000 9.000000 m 13.564590 9.782295 l s +[] 0 sd +0 slj +0 slc +n 13.900000 9.950000 m 13.340983 9.950000 l 13.564590 9.782295 l 13.564590 9.502786 l ef +n 13.900000 9.950000 m 13.340983 9.950000 l 13.564590 9.782295 l 13.564590 9.502786 l cp s +gsave 9.850000 8.325000 translate 0.035278 -0.035278 scale +start_ol +448 986 moveto +448 2496 lineto +832 2496 lineto +832 1001 lineto +832 629 978 442 conicto +1124 256 1417 256 conicto +1768 256 1972 477 conicto +2176 699 2176 1081 conicto +2176 2496 lineto +2560 2496 lineto +2560 0 lineto +2176 0 lineto +2176 384 lineto +2022 157 1819 46 conicto +1617 -64 1349 -64 conicto +906 -64 677 203 conicto +448 471 448 986 conicto +end_ol grestore +gsave 10.239467 8.325000 translate 0.035278 -0.035278 scale +start_ol +832 3328 moveto +832 2048 lineto +448 2048 lineto +448 3328 lineto +832 3328 lineto +end_ol grestore +gsave 11.648223 8.193746 translate 0.035278 -0.035278 scale +start_ol +448 986 moveto +448 2496 lineto +832 2496 lineto +832 1001 lineto +832 629 978 442 conicto +1124 256 1417 256 conicto +1768 256 1972 477 conicto +2176 699 2176 1081 conicto +2176 2496 lineto +2560 2496 lineto +2560 0 lineto +2176 0 lineto +2176 384 lineto +2022 157 1819 46 conicto +1617 -64 1349 -64 conicto +906 -64 677 203 conicto +448 471 448 986 conicto +end_ol grestore +gsave 12.037690 8.193746 translate 0.035278 -0.035278 scale +start_ol +832 3328 moveto +832 2048 lineto +448 2048 lineto +448 3328 lineto +832 3328 lineto +end_ol grestore +gsave 12.207023 8.193746 translate 0.035278 -0.035278 scale +start_ol +832 3328 moveto +832 2048 lineto +448 2048 lineto +448 3328 lineto +832 3328 lineto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 10.000000 9.000000 m 10.948223 9.518746 11.073223 9.568746 11.585095 9.254620 c s +[] 0 sd +0 slj +0 slc +n 11.904709 9.058478 m 11.609318 9.533077 l 11.585095 9.254620 l 11.347796 9.106924 l ef +n 11.904709 9.058478 m 11.609318 9.533077 l 11.585095 9.254620 l 11.347796 9.106924 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 12.000000 9.000000 m 11.098223 8.343746 11.048223 8.443746 10.430008 8.771810 c s +[] 0 sd +0 slj +0 slc +n 10.098759 8.947592 m 10.423237 8.492384 l 10.430008 8.771810 l 10.657612 8.934049 l ef +n 10.098759 8.947592 m 10.423237 8.492384 l 10.430008 8.771810 l 10.657612 8.934049 l cp s +showpage diff --git a/1-toky/vrchol.eps b/1-toky/vrchol.eps new file mode 100644 index 0000000..cf720a5 --- /dev/null +++ b/1-toky/vrchol.eps @@ -0,0 +1,196 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: /mnt/data/toky/toky.dia +%%Creator: Dia v0.95 +%%CreationDate: Tue Jun 13 12:14:09 2006 +%%For: radofan +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 123 84 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-7.932918 -6.469574 translate +%%EndProlog + + +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0.000000 0.000000 0.000000 srgb +n 8.000000 4.000000 m 9.564590 4.782295 l s +[] 0 sd +0 slj +0 slc +n 9.900000 4.950000 m 9.340983 4.950000 l 9.564590 4.782295 l 9.564590 4.502786 l ef +n 9.900000 4.950000 m 9.340983 4.950000 l 9.564590 4.782295 l 9.564590 4.502786 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 8.000000 5.000000 m 9.513197 5.000000 l s +[] 0 sd +0 slj +0 slc +n 9.888197 5.000000 m 9.388197 5.250000 l 9.513197 5.000000 l 9.388197 4.750000 l ef +n 9.888197 5.000000 m 9.388197 5.250000 l 9.513197 5.000000 l 9.388197 4.750000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 8.000000 6.000000 m 9.564590 5.217705 l s +[] 0 sd +0 slj +0 slc +n 9.900000 5.050000 m 9.564590 5.497214 l 9.564590 5.217705 l 9.340983 5.050000 l ef +n 9.900000 5.050000 m 9.564590 5.497214 l 9.564590 5.217705 l 9.340983 5.050000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 5.000000 m 11.564590 4.217705 l s +[] 0 sd +0 slj +0 slc +n 11.900000 4.050000 m 11.564590 4.497214 l 11.564590 4.217705 l 11.340983 4.050000 l ef +n 11.900000 4.050000 m 11.564590 4.497214 l 11.564590 4.217705 l 11.340983 4.050000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.000000 5.000000 m 11.564590 5.782295 l s +[] 0 sd +0 slj +0 slc +n 11.900000 5.950000 m 11.340983 5.950000 l 11.564590 5.782295 l 11.564590 5.502786 l ef +n 11.900000 5.950000 m 11.340983 5.950000 l 11.564590 5.782295 l 11.564590 5.502786 l cp s +gsave 9.825000 4.475000 translate 0.035278 -0.035278 scale +start_ol +448 986 moveto +448 2496 lineto +832 2496 lineto +832 1001 lineto +832 629 978 442 conicto +1124 256 1417 256 conicto +1768 256 1972 477 conicto +2176 699 2176 1081 conicto +2176 2496 lineto +2560 2496 lineto +2560 0 lineto +2176 0 lineto +2176 384 lineto +2022 157 1819 46 conicto +1617 -64 1349 -64 conicto +906 -64 677 203 conicto +448 471 448 986 conicto +end_ol grestore +showpage diff --git a/2-dinic/2-dinic.tex b/2-dinic/2-dinic.tex new file mode 100644 index 0000000..a96e168 --- /dev/null +++ b/2-dinic/2-dinic.tex @@ -0,0 +1,299 @@ +%%%%%%%%%%%% +% Zápisek druhého semináøe z grafových algoritmù - ze dne 13.3.2006 +% Téma Dinicùv algoritmus a v¹emo¾né jeho modifikace. +% Zapsal Bernard Lidický - bernard@matfyz.cz +% +% Verze z 29. dubna 2006 +% +%%%%%%%%%%% + +\input ../sgr.tex + +\prednaska{2}{Dinicùv algoritmus a jeho analýza}{zapsal Bernard Lidický} + +\h{Dinicùv algoritmus} + +Dinicùv algoritmus je zalo¾en na my¹lence, ¾e ve Ford-Fulkersonovì algoritmu +není potøeba pøièítat jen zlep¹ující cesty, ale je mo¾né pøièítat rovnou zlep¹ující +toky. Funguje takto: + +\algo +\:Zaèni s~libovolným tokem~$f$, napøíklad prázdným (v¹ude nulovým). +\:Iterativnì vylep¹uj tok podle zlep¹ujících tokù v síti rezerv: {\I (vnìj¹í cyklus)} +\::Sestroj sí» rezerv. +\::Najdi nejkrat¹í $st$-cestu. Kdy¾ ¾ádná neexistuje, skonèi. +\::Proèisti sí», tj. nech v ní pouze vrcholy a hrany na nejkrat¹ích $st$-cestách. +\::Najdi blokující tok $f_B$: +\:::$f_B \leftarrow \$ +\:::Postupnì pøidáváme $st$-cesty: {\I (vnitøní cyklus)} +\::::Najdi $st$-cestu. Napø. hladovì metodou rovnou za nosem. +\::::Po¹li co nejvíce po cestì. +\::::Sma¾ nasycené hrany. (Pozor, smazáním hran mohou vzniknout slepé ulièky, +èím¾ se zneèistí sí» a nebude fungovat metoda rovnou za nosem.) +\::::Doèisti sí». +\::Zlep¹i $f$ podle $f_B$ +\endalgo + +\figure{dinic-cistasit.eps}{Proèi¹tìná sí» rozdìlená do vrstev}{0.3\hsize} + +\s{Slo¾itost algoritmu:} +Oznaèíme $l$ délku nejkrat¹í $st$-cesty, $n$ poèet vrcholù sítì a $m$ poèet hran sítì. + +\itemize\ibull +\:Jeden prùchod vnitøním cyklem trvá $\O(l)$, co¾ mù¾eme odhadnout jako $\O(n)$, proto¾e v¾dy platí $l \leq n$. +\:Vnitøní cyklus se provede maximálnì $m$-krát, proto¾e se v¾dy alespoò jedna hrana nasytí + a ze sítì vypadne, tak¾e krok~6 mimo podkroku~12 bude trvat $\O(mn)$. +\:Èi¹tìní a doèi¹»ování sítì dohromady provedeme takto: + \itemize\ibull + \:Rozvrstvíme vrcholy do vrstev podle vzdálenosti od $s$. + \:Zaøízneme dlouhé cesty (del¹í, ne¾ do vrstvy obsahující $t$). + \:Dr¾íme si frontu vrcholù, které mají $\deg^+ = 0$ èi $\deg^- = 0$. + \:Vrcholy z~fronty vybíráme a zahazujeme vèetnì hran, které vedou do/z nich. + A pøípadnì pøidáváme do~fronty vrcholy, kterým klesl jeden ze stupòù na 0 + pøi vyhazování hran. Vyma¾ou se tím slepé ulièky, které by vadily v podkroku~9. + \endlist + Tedy kroky 5 a 12 dohromady spotøebují èas $\O(m)$\foot{Pøesnìji $\O(m+n)$, pokud by v síti byly izolované + vrcholy, ale ty mù¾eme zahodit úplnì u¾ na zaèátku.}. + \:Jeden prùchod vnìj¹ím cyklem tedy trvá $\O(mn)$. +\endlist + +\s{Vìta:} +V~ka¾dém prùchodu Dinicova algoritmu vzroste $l$ alespoò~o~1. + +\s{Dùsledek:} +Vnìj¹ím cyklem projdeme $\O(n)$ krát, proto¾e nejdel¹í cesta bude mít +délku $\leq n$. Celková slo¾itost algoritmu tedy bude $\O(n^2m)$ + +\s{Korektnost algoritmu:} +Korektnost Dinicova algoritmu plyne z korektnosti FF algoritmu. Kdy¾ se Dinicùv +algoritmus zastaví, musí vydat maximální tok. Pokud ne, tak podle FF algoritmu +existuje zlep¹ující cesta, ale to je ve sporu s~krokem~4, který po¾aduje, ¾e ¾ádná +zlep¹ující cesta neexistuje. + +\s{Dùkaz vìty:} +Podíváme se na výpoèet jednoho prùchodu vnìj¹ím cyklem. +Délku aktuálnì nejkrat¹í $st$-cesty oznaème~$l$. +Vypozorujeme, ¾e délka cest, které pøípadnì vzniknou pøi hledání a sycení +v¹ech cest délky $l$, musí být vìt¹í ne¾ $l$. Jinak øeèeno, nestane se, +¾e by vznikaly nové krátké cesty. + +Vnìj¹í cyklus zaèíná s neproèi¹tìnou sítí. Pøíklad takové sítì je na obrázku nìkde +okolo. Po proèi¹tìní zùstanou v~síti jen èerné hrany. Èervené a modré\foot{Modré jsou +ty, které vedou v rámci jedné vrstvy, èervené vedou zpìt èi za~spotøebiè èi do~slepých +ulièek. Pøi vyti¹tìní na papír není snadné je barevnì odli¹it od èerných.} se zahodí. +\figure{dinic-neprocistenasit.eps}{Neproèi¹tìná sí». Obsahuje zpìtné hrany, hrany uvnitø vrstvy a slepé ulièky.}{0.3\hsize} +Nové hrany tak mohou vznikat jen díky èerným hranám, proto¾e s hranami zahozenými pøi èi¹tìní algoritmus +dále nepoèítá. + +Nová hrana mù¾e vzniknout zlep¹ení toku po nìjaké zlep¹ující cestì, proto¾e +kdy¾ po hranì po¹leme nìjaký tok, zvedne se rezerva hrany opaèné, která mohla být +nulová\foot{Tedy po zpìtné hranì ne¹lo nic poslat a nepoèítalo se s ní.}. +Tím vznikne nová zpìtná hrana. ®ádné novì dopøedné hrany pøeskakující více vrstev nevznikají. +\figure{dinic-zpetnahrana.eps}{Vznik nové zpìtné hrany}{0.3\hsize} + +Poka¾dé, kdy¾ se zlep¹í tok podél nìjaké cesty, budou v grafu ke v¹em hranám cesty +existovat hrany opaèného smìru s~nenulovou rezervou. Nìkteré +tyto opaèné hrany u¾ v~grafu mohly být, ale tím lépe pro nás\foot{Tento odstavec +je spí¹e informativní a slou¾í malinko pro osvícení ètenáøe. V dùkazu nemá ¾ádný smysl.}. + +Vznikem nových hran by mohly vzniknout nové $st$-cesty, které pou¾ívají +zpìtné hrany. Ale $st$-cesta, která pou¾ívá zpìtnou hranu, musí alespoò jednou skoèit zpìt. +Tedy její délka je alespoò $l+2$. + +\figure{dinic-cestashranouzpet.eps}{Cesta u¾ívající novou zpìtnou hranu}{0.3\hsize} + +Tedy ve vnitøním cyklu zaniknou v¹echny $st$-cesty délky $l$ a pøitom nevzniknou ¾ádné nové krat¹í $st$-cesty. +Proto délka nejkrat¹ích cest vzroste alespoò o 1. +\qed + +\h{Implementaèní poznámky} + +\itemize\ibull +\:Není potøeba tak brutální èi¹tìní. Vrcholy se vstupním stupnìm 0 nám + nevadí -- stejnì se do nich nedostaneme. Vadí jen vrcholy s výstupním stupnìm 0, kde by mohl + havarovat postup v podkroku 9. +\:Je mo¾né dìlat prohledávání a èi¹tìní souèasnì. Jednodu¹e metodou HRRR na nì a kdy¾ + to nevyjde (dostaneme se do slepé ulièky), kus ustoupíme a pøi ústupu èistíme sí» + odstraòováním slepé ulièky. +\:U¾ pøi prohledáváni si rovnou udr¾ujeme minimum z rezerv a pøi zpáteèní cestì + opravujeme kapacity.\foot{Jak se asi zkombinuje s pøedchozím, kde musíme ustupovat? + V ka¾dé úrovni rekurze si zapamatujeme minimum, jaké bylo, kdy¾ jsme tam pøi¹li. Pokud + se vracíme, recyklujeme toto minimum.} +\:V prùbìhu výpoètu udr¾ujeme jen sí» rezerv a tok vypoèteme a¾ nakonec z rezerv a kapacit. +\:Kdy¾ budeme chtít hledat minimální øez, spustíme Dinicùv algoritmus, pak jednou iterací FF + algoritmu dostaneme jeden z minimálních øezù\foot{Samozøejmì získáme i maximální tok.}. +\endlist + +\s{Na pøemý¹lení:} Máme minimální øez. Jak zjistíme maximální tok? + +\h{Speciální sítì (ubíráme na obecnosti)} + +Dále se budeme vìnovat modifikacím algoritmu na speciální druhy sítí, +kde je mo¾né dostat lep¹í èasovou slo¾itost ne¾ v~obecném pøípadì. + +\s{Jednotkové kapacity:} +V¹echny rezervy jsou jen 0 nebo~1. Na $st$-cestì má v¹echno kapacitu/rezervu~1. +Mù¾eme poslat~1~a rovnou celou cestu zahodit -- není potøeba si pamatovat minimum z~rezerv. +Kdy¾ máme $m$ hran, zlep¹eních po cestách délky $l$ bude maximálnì $m/l$. +Proto slo¾itost podkrokù 9, 10 a 11 bude $m/l \cdot \O(l) = \O(m)$.% +\foot{Nebo by ¹lo argumentovat, ¾e ka¾dou hranu pou¾ijeme jen $1\times$.} +Tedy pro jednotkové kapacity dostáváme slo¾itost $\O(nm)$. + +\s{Jednotkové kapacity znovu a lépe:} +Vnitøní cyklus lépe udìlat nepùjde. Je potøeba alespoò $\O(m)$ pro èi¹tìní. +Mù¾eme se ale pokusit lépe odhadnout poèet iterací vnìj¹ího cyklu. + +Sledujeme stav sítì po $k$ iteracích vnìj¹ího cyklu a pokusíme se odhadnout, kolik iterací +je¹tì algoritmus udìlá. Oznaème délku nejkrat¹í $st$-cesty $l$. +Víme, ¾e $l \geq k$, proto¾e v ka¾dé iteraci vzroste $l$ alespoò o 1. + +Máme tok $f_k$ a chceme dostat maximální tok $f$. $f - f_k$ je tok v~síti rezerv. +Tedy $\exists f_R$ tok v síti rezerv takový, ¾e +zlep¹ení $f_k$ podle $f_R$ je $f$. +Ka¾dá iterace velkého cyklu zlep¹í $f_k$ alespoò o 1. Tedy nám zbývá je¹tì +nejvý¹e $\vert f_R \vert$ iterací. +Proto bychom chtìli omezit velikost toku $f_R$. Napøíklad øezem. + +Najdeme v síti rezerv øez $C$. Kde ho vzít?\foot{Pøeci v øeznictví. Kdepak, spí¹e v cukrárnì. +Myslíte, ¾e v cukrárnì mají Dinicovy øezy? Myslím, ¾e v cukrárnì je vìt¹ina øezù minimální.} +Poèítejme jen hrany zleva doprava. Tìch je jistì nejvý¹e $m$ a tvoøí $k-1$ rozhraní mezi +$k$ vrstvami. Tedy existuje rozhraní vrstev +s~nejvý¹e $m/k$ hranami\foot{Princip holubníku a nìjaká ta $\pm1$.}. +Toto rozhraní je øez. Tedy existuje øez $C$, ¾e $\vert C\vert \leq m/k$ +Algoritmu tedy zbývá maximálnì $m/k$ krokù. +Celkový poèet krokù je nejvý¹ $k + m/k$. Staèí zvolit $k = \sqrt{m}$. Poèet krokù +pak bude $\O(\sqrt{m})$. + +Celkovì slo¾itost Dinicova algoritmu pro jednotkové kapacity znovu a lépe +je $\O(\sqrt{m} m) = \O(m^{3/2})$. Pomohli jsme si pro øídké grafy. + +\s{Jednotkové kapacity a jeden ze stupòù roven 1:} +Úlohu hledání maximálního párování v bipartitním grafu lze +hezky pøevést na hledání maximálního toku. Z grafu se vytvoøí +sí» tak, ¾e v¹echny vrcholy jedné partity se napojí na $s$ a v¹echny +vrcholy druhé partity se napojí na $t$.\foot{$s,t$ jsou novì pøidané vrcholy.} +Na v¹echny hrany se dají jednotkové kapacity a orientace ka¾dé bude smìrem\foot{% +V¹echny hrany v bipartitním grafu se zorientují smìrem ke komponentì, kde je napojený +vrchol $t$. Hrany obsahující vrchol $t$ se zorientují smìrem do $t$. Hrany obsahující vrchol +$s$ se zorientují smìrem od $s$. Snad je to intuitivnì vidìt. Pro jistotu je nìkde okolo +obrázek popisované sítì.} k~$t$. +Najde se maximální tok a hrany v~toku tvoøí maximální párování. Proto mù¾e být +u¾iteèné zkoumat tento speciální pøípad sítí. + +\figure{dinic-bipartitni.eps}{Sí» vzniklá z bipartitního grafu}{0.4\hsize} + +Sí» se vyznaèuje tím, ¾e ka¾dý vrchol krom $s$ a $t$ má vstupní nebo výstupní stupeò 1. +Pro takovou sí» mù¾eme odhad je¹tì tro¹ku upravit. My¹lenka je stejná jako minule. Pokusíme +se nalézt v síti po $k$ krocích nìjaký malý øez. Místo rozhraní budeme hledat jednu malou +vrstvu a z malé vrstvy vytvoøíme malý øez. Pro ka¾dý vrchol z vrstvy vezmeme tu hranu, +která je ve svém smìru sama, a tím získáme øez. + +\figure{dinic-vrcholrez.eps}{Øez podle vrcholù ve vrstvì}{0.2\hsize} + +Tedy $\forall v \neq s,t: \min(\deg^-(v), \deg^+(v)) \leq 1$. +Po $k$ krocích máme $k$ vrstev. Tedy existuje vrstva $\delta$ s nejvý¹e $n/k$ vrcholy\foot{Holubníkový princip.}. +Tedy existuje øez $C$, ¾e $\vert C\vert \leq n/k$, který získáme z vrstvy $\delta$ vý¹e popsaným postupem. +Algoritmu zbývá do konce $\leq n/k$ iterací vnìj¹ího cyklu. Algoritmus celkem udìlá $k + n/k$ krokù% +\foot{Mo¾ná chybí nìjaké $\pm1$, ale to nehraje roli.}. Staèí zvolit $k = \sqrt{n}$ a slo¾itost +celého algoritmu vyjde $\O(\sqrt{n}m)$\foot{Poèet iterací vnìj¹ího cyklu je $\O(\sqrt{n})$ a +vnitøní cyklus má $\O(m)$.}. + +\s{Tøetí pokus pro jednotkové kapacity bez omezení na stupnì vrcholù v síti:} +Hlavní my¹lenkou je opìt po $k$ krocích najít nìjaký malý øez. Najdeme dvì malé\foot{Co do souètu +poètu vrcholù v obou vrstvách.} sousední vrstvy a v¹echny hrany mezi nimi budou tvoøit námi hledaný malý øez. + +Oznaème $s_i$ poèet vrcholù v $i$-té vrstvì. Souèet poètu vrcholù ve dvou +sousedních vrstvách oznaèíme $t_i = s_i + s_{i+1}$. Bude tedy platit nerovnost +$$\sum_i t_i \leq 2\sum_i s_i \leq 2n {\rm .}$$ + +Tedy existuje $i$, ¾e $t_i \leq 2n/k$\foot{Holubníkový princip. Zase.}. +Tedy $\exists i: s_i + s_{i+1} \leq 2n/k$. Poèet hran mezi $s_i$ a $s_{i+1}$ je velikost øezu +$C$ a to je men¹í ne¾ $s_i \cdot s_{i+1}$. +Nejhor¹í pøípad je, kdy¾ $s_i = s_{i+1} = n/k$. Tedy $\vert C\vert \leq {(n/k)}^2$. +Pro jistotu je¹tì jednou v celku jako dlouhá nerovnost: +$$ \<\# hran mezi>\ s_i, s_{i+1} = \vert C\vert \leq s_i\cdot s_{i+1} \leq {(n/k)}^2 {\rm .}$$ +Proto poèet iterací velkého cyklu je $\leq \ + k + {(n/k)}^2$. +Chytøe zvolíme $k = n^{2/3}$. Slo¾itost celého algoritmu pak bude $\O(n^{2/3}m)$. + +\s{Poslední odhad pro celoèíselné kapacity:} +Poslední\foot{Samozøejmì následuje je¹tì jeden algoritmus i s odhadem pro celoèíselné kapacity. +Ale to u¾ není pøímo Dinicùv algoritmus. Jen Dinice pou¾ívá jako podprogram.} odhad je zalo¾en na velikosti +maximálního toku $f$ a pøedpokladu celoèíselných kapacit. +Za jednu iteraci velkého cyklu projdeme malým cyklem maximálnì tolikrát, +o kolik se v nìm zvedl tok, proto¾e ka¾dá zlep¹ující cesta ho zvedne alespoò o $1$. +Zlep¹ující cesta se tedy hledá maximálnì $\vert f\vert$ krát za celou dobu bìhu algoritmu. +Cestu najedeme v èase $\O(n)$. Celkem na hledání +cest spotøebujeme $\O(\vert f\vert n)$ za celou dobu bìhu algoritmu. + +Nesmíme ale zapomenout na cleanupy. V jedné iteraci velkého cyklu stojí cleanupy $\O(m)$ a velkých +iterací je $\leq n$. Proto celková slo¾itost algoritmu je $\O(\vert f\vert n + nm)$ + +Pokud navíc budeme pøedpokládat omezení na maximální kapacitu hran $ \leq C$, +lze získat je¹tì jeden odhad tím, ¾e odhadneme maximální velikost toku jako $ \leq Cn$. +Co¾ lze odùvodnit napøíklad tak, ¾e z $s$ jde maximálnì $n$~hran\foot{Nepøedpokládáme multigraf.} +a kapacita ka¾dé je $ \leq C$. Proto celkový tok musí být $ \leq Cn$. +Dostaneme odhad $\O(Cn^2 + nm)$. + +\h{Scaling kapacit} + +Základní my¹lenka je podobná, jako u algoritmu pro tøídìní dlouhých èísel postupnì po øádech pomocí +radix-sortu. Pro jistotu si ho pøipomeòme. Algoritmus nejprve setøídí èísla podle poslední% +\foot{Poslední cifrou myslíme nejménì významnou cifru.} +cifry, poté podle pøedposlední, pøedpøedposlední a tak dále. + +\figure{dinic-sort.eps}{Kroky postupného tøídìní podle øádù}{0.2\hsize} + +V na¹em pøípadì budeme postupnì budovat sítì a v nich poèítat toky, a¾ nakonec získáme tok pro celou sí». + +Pøedpokládejme celoèíselné kapacity. Maximální tok v síti $G$ budeme hledat tak, ¾e hranám postupnì +budeme zvìt¹ovat kapacity bit po bitu v binárním zápisu, a¾ k jejich skuteèné kapacitì. +Pøitom po~ka¾dém posunu zavoláme Dinicùv algoritmus. Pomocí pøedchozího odhadu uká¾eme, ¾e jedno +volání Dinice nebude pøíli¹ drahé. + +\figure{dinic-scaling-original.eps}{Pùvodní sí», na hranách jsou jejich kapacity v binárním zápisu}{0.2\hsize} + +Oznaème $k$ poèet bitù v zápisu nejvìt¹í kapacity z celé sítì. $k = \lceil \log_2C \rceil$. +Postupnì budeme budovat sítì $G_i$ s kapacitami $C_i(e) = \lfloor {C(e) / 2^{k-i}} \rfloor$. +$G_0$ je nejoøezanìj¹í sí», kde ka¾dá hrana má kapacitu jako je nejvy¹¹í bit v binárním zápisu +její skuteèné kapacity. $G_k$ je pùvodní sí» $G$. + + $$ C_{i+1}(e) = \left\{ +\eqalign{ + 2C_i(e), &\hbox{\quad pokud $(k-i-1)$-tý bitík je 0} \cr + 2C_i(e)+1, &\hbox{\quad pokud $(k-i-1)$-tý bitík je 1} \cr} +\right. + $$ + +\figure{dinic-scaling-g.eps}{Sítì $G_0$, $G_1$ a $G_2$, jak vyjdou pro sí» z~pøedchozího obrázku}{0.8\hsize} + +Na spoètení maximálního toku $f_i$ v síti $G_i$ zavoláme Dinicùv algoritmus, +ov¹em do zaèátku nepou¾ijeme nulový tok, nýbr¾ tok $2f_{i-1}$. Rozdíl toku z inicializace +a výsledného bude malý. + +Tvrdíme, ¾e: +$$ \vert f_i\vert - \vert 2f_{i-1}\vert \leq m.$$ + +\s{Dùkaz:} +Vezmeme minimální øez $R$ v $G_{i-1}$. Platí $\vert f_{i-1}\vert = \vert R\vert$\foot{Minimaxová vìta.}. +Øez $R$ obsahuje $\leq m$ hran. V $G_{i}$ má øez $R$ kapacitu maximálnì $2\vert R\vert+m$. +Maximální tok je omezen ka¾dým øezem. Tedy i øezem $R$. Proto tok vzroste o $\leq m$. + +Proto podle pøedchozího odhadu výpoèet toku $f_i$ trvá $\O(mn)$. Tok se bude poèítat $k$-krát. +Celková slo¾itost bude $\O(mn\log C)$. +\qed + +\h{Dinicova tabulka} + +$$\vbox{\halign{# \hfil \quad &# \hfil \cr +\it verze &\it èas \cr\noalign{\smallskip\hrule\smallskip} +standardní &$\O(n^2m)$ \cr +jednotkové kapacity &$\O(nm)$ \cr +jednotkové kapacity podruhé &$\O(\sqrt{m}m) = \O(m^{3/2})$ \cr +jednotkové kapacity, 1 stupeò $\leq 1$ &$\O(\sqrt{n}m)$ \cr +jednotkové kapacity veseleji &$\O(n^{2/3}m)$ \cr +celoèíselné kapacity &$\O(\vert f\vert n + nm)$ \cr +celoèíselné kapacity $ \leq C$ &$\O(Cn^2 + mn)$ \cr +celoèíselné kapacity $ \leq C$ &$\O(mn\log C)$ \cr +}}$$ + +\bye diff --git a/2-dinic/Makefile b/2-dinic/Makefile new file mode 100644 index 0000000..c183fb0 --- /dev/null +++ b/2-dinic/Makefile @@ -0,0 +1,3 @@ +P=2-dinic + +include ../Makerules diff --git a/2-dinic/dinic-bipartitni.eps b/2-dinic/dinic-bipartitni.eps new file mode 100644 index 0000000..bc8b0ab --- /dev/null +++ b/2-dinic/dinic-bipartitni.eps @@ -0,0 +1,420 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Diagram1.dia +%%Creator: Dia v0.94 +%%CreationDate: Thu Apr 27 13:18:41 2006 +%%For: bernard +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 674 341 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-2.500000 -14.003022 translate +%%EndProlog + + +1.000000 1.000000 1.000000 srgb +n 18.960000 8.055822 0.950000 5.861600 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 18.960000 8.055822 0.950000 5.861600 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 15.185000 7.955822 0.462500 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 15.185000 7.955822 0.462500 0.450000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 25.671000 8.187822 0.450000 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 25.671000 8.187822 0.450000 0.450000 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 15.512040 7.637622 m 18.419170 5.984009 l s +[] 0 sd +0 slj +0 slc +n 18.745128 5.798600 m 18.434124 6.263118 l 18.419170 5.984009 l 18.186912 5.828507 l ef +n 18.745128 5.798600 m 18.434124 6.263118 l 18.419170 5.984009 l 18.186912 5.828507 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 15.512040 8.274022 m 18.422626 10.310358 l s +[] 0 sd +0 slj +0 slc +n 18.729891 10.525330 m 18.176889 10.443544 l 18.422626 10.310358 l 18.463519 10.033857 l ef +n 18.729891 10.525330 m 18.176889 10.443544 l 18.422626 10.310358 l 18.463519 10.033857 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 15.647500 7.955822 m 18.473418 8.041133 l s +[] 0 sd +0 slj +0 slc +n 18.848248 8.052448 m 18.340931 8.287247 l 18.473418 8.041133 l 18.356019 7.787475 l ef +n 18.848248 8.052448 m 18.340931 8.287247 l 18.473418 8.041133 l 18.356019 7.787475 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 19.013500 3.933422 m 22.283474 10.039186 l s +[] 0 sd +0 slj +0 slc +n 22.460516 10.369763 m 22.004075 10.047022 l 22.283474 10.039186 l 22.444845 9.810966 l ef +n 22.460516 10.369763 m 22.004075 10.047022 l 22.283474 10.039186 l 22.444845 9.810966 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 19.269500 8.093422 m 21.957872 5.947052 l s +[] 0 sd +0 slj +0 slc +n 22.250928 5.713079 m 22.016169 6.220414 l 21.957872 5.947052 l 21.704205 5.829673 l ef +n 22.250928 5.713079 m 22.016169 6.220414 l 21.957872 5.947052 l 21.704205 5.829673 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 18.885500 12.253422 m 22.202993 8.243405 l s +[] 0 sd +0 slj +0 slc +n 22.442032 7.954467 m 22.315939 8.499077 l 22.202993 8.243405 l 21.930688 8.180358 l ef +n 22.442032 7.954467 m 22.315939 8.499077 l 22.202993 8.243405 l 21.930688 8.180358 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 19.141500 10.589422 m 22.059297 10.590193 l s +[] 0 sd +0 slj +0 slc +n 22.434297 10.590293 m 21.934231 10.840160 l 22.059297 10.590193 l 21.934363 10.340160 l ef +n 22.434297 10.590293 m 21.934231 10.840160 l 22.059297 10.590193 l 21.934363 10.340160 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 22.661500 5.917422 m 24.958749 7.583788 l s +[] 0 sd +0 slj +0 slc +n 25.262299 7.803975 m 24.710774 7.712758 l 24.958749 7.583788 l 25.004357 7.308025 l ef +n 25.262299 7.803975 m 24.710774 7.712758 l 24.958749 7.583788 l 25.004357 7.308025 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 22.725500 7.901422 m 24.737371 8.132318 l s +[] 0 sd +0 slj +0 slc +n 25.109926 8.175074 m 24.584682 8.366435 l 24.737371 8.132318 l 24.641691 7.869696 l ef +n 25.109926 8.175074 m 24.584682 8.366435 l 24.737371 8.132318 l 24.641691 7.869696 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 22.789500 10.525422 m 24.970408 8.807276 l s +[] 0 sd +0 slj +0 slc +n 25.264977 8.575211 m 25.026928 9.081010 l 24.970408 8.807276 l 24.717508 8.688251 l ef +n 25.264977 8.575211 m 25.026928 9.081010 l 24.970408 8.807276 l 24.717508 8.688251 l cp s +gsave 14.597500 10.118322 translate 0.035278 -0.035278 scale +start_ol +6314 6050 moveto +6023 4487 lineto +5441 4766 4866 4911 conicto +4292 5056 3780 5056 conicto +3194 5056 2877 4902 conicto +2560 4749 2560 4465 conicto +2560 4297 2736 4196 conicto +2912 4096 3428 3985 conicto +3785 3918 lineto +4987 3660 5469 3254 conicto +5952 2848 5952 2126 conicto +5952 1034 5110 421 conicto +4269 -192 2758 -192 conicto +2127 -192 1467 -90 conicto +807 12 120 215 conicto +416 1793 lineto +946 1475 1551 1313 conicto +2156 1152 2790 1152 conicto +3408 1152 3720 1302 conicto +4032 1453 4032 1743 conicto +4032 1944 3856 2055 conicto +3680 2167 3131 2284 conicto +2774 2351 lineto +1726 2575 1279 3011 conicto +832 3448 832 4221 conicto +832 5269 1610 5834 conicto +2389 6400 3834 6400 conicto +4467 6400 5079 6312 conicto +5692 6225 6314 6050 conicto +end_ol grestore +gsave 25.613500 10.255322 translate 0.035278 -0.035278 scale +start_ol +4037 8003 moveto +3703 6228 lineto +5709 6228 lineto +5430 4800 lineto +3423 4800 lineto +2919 2171 lineto +2897 2082 2888 2021 conicto +2880 1960 2880 1904 conicto +2880 1650 3047 1539 conicto +3215 1428 3610 1428 conicto +4624 1428 lineto +4344 0 lineto +2704 0 lineto +1822 0 1359 378 conicto +896 757 896 1470 conicto +896 1625 912 1803 conicto +929 1981 961 2166 conicto +1460 4800 lineto +501 4800 lineto +770 6228 lineto +1736 6228 lineto +2072 8003 lineto +4037 8003 lineto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 15.185000 8.405822 m 18.375125 11.865157 l s +[] 0 sd +0 slj +0 slc +n 18.629346 12.140832 m 18.106601 11.942746 l 18.375125 11.865157 l 18.474167 11.603785 l ef +n 18.629346 12.140832 m 18.106601 11.942746 l 18.375125 11.865157 l 18.474167 11.603785 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 15.185000 7.505822 m 18.416343 4.216682 l s +[] 0 sd +0 slj +0 slc +n 18.679147 3.949177 m 18.507078 4.481053 l 18.416343 4.216682 l 18.150405 4.130647 l ef +n 18.679147 3.949177 m 18.507078 4.481053 l 18.416343 4.216682 l 18.150405 4.130647 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 22.405500 3.997422 m 25.350846 7.371108 l s +[] 0 sd +0 slj +0 slc +n 25.597471 7.653599 m 25.080310 7.441361 l 25.350846 7.371108 l 25.456965 7.112528 l ef +n 25.597471 7.653599 m 25.080310 7.441361 l 25.350846 7.371108 l 25.456965 7.112528 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 22.642000 12.297922 m 25.360633 9.012855 l s +[] 0 sd +0 slj +0 slc +n 25.599718 8.723955 m 25.473537 9.268545 l 25.360633 9.012855 l 25.088338 8.949765 l ef +n 25.599718 8.723955 m 25.473537 9.268545 l 25.360633 9.012855 l 25.088338 8.949765 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 19.013500 3.805422 m 21.854697 3.805422 l s +[] 0 sd +0 slj +0 slc +n 22.229697 3.805422 m 21.729697 4.055422 l 21.854697 3.805422 l 21.729697 3.555422 l ef +n 22.229697 3.805422 m 21.729697 4.055422 l 21.854697 3.805422 l 21.729697 3.555422 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 19.077500 12.253422 m 21.982697 12.253422 l s +[] 0 sd +0 slj +0 slc +n 22.357697 12.253422 m 21.857697 12.503422 l 21.982697 12.253422 l 21.857697 12.003422 l ef +n 22.357697 12.253422 m 21.857697 12.503422 l 21.982697 12.253422 l 21.857697 12.003422 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +n 22.291900 8.091422 0.950000 5.861600 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 3.500000 7.911600 0.950000 5.861600 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 3.500000 7.911600 0.950000 5.861600 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.553500 3.789200 m 7.053300 10.324100 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.809500 7.949200 m 6.878300 5.499100 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.425500 12.109200 m 7.053300 7.724100 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.681500 10.445200 m 7.086100 10.446100 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.553500 3.661200 m 6.881500 3.661200 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.617500 12.109200 m 7.009500 12.109200 l s +0.100000 slw +[] 0 sd +[] 0 sd +n 6.831900 7.947200 0.950000 5.861600 0 360 ellipse cp s +0.100000 slw +[0.200000] 0 sd +[0.200000] 0 sd +0 slj +0 slc +n 9.297500 8.575000 m 11.547500 7.075000 11.397500 9.425000 12.998695 8.304163 c s +[] 0 sd +0 slj +0 slc +n 13.305907 8.089115 m 13.039657 8.580654 l 12.998695 8.304163 l 12.752926 8.171038 l ef +n 13.305907 8.089115 m 13.039657 8.580654 l 12.998695 8.304163 l 12.752926 8.171038 l cp s +showpage diff --git a/2-dinic/dinic-cestashranouzpet.eps b/2-dinic/dinic-cestashranouzpet.eps new file mode 100644 index 0000000..0869139 --- /dev/null +++ b/2-dinic/dinic-cestashranouzpet.eps @@ -0,0 +1,297 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Diagram1.dia +%%Creator: Dia v0.94 +%%CreationDate: Sun Mar 26 18:45:50 2006 +%%For: bernard +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 539 219 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-5.000000 -8.493600 translate +%%EndProlog + + +1.000000 1.000000 1.000000 srgb +n 9.362500 4.500000 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 9.362500 4.500000 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 12.962500 4.564000 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 12.962500 4.564000 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 16.481600 4.793600 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 16.481600 4.793600 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 20.080500 4.632000 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 20.080500 4.632000 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 5.587500 4.400000 0.462500 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 5.587500 4.400000 0.462500 0.450000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 23.497500 4.760000 0.450000 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 23.497500 4.760000 0.450000 0.450000 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 6.050000 4.400000 m 8.875918 4.485311 l s +[] 0 sd +0 slj +0 slc +n 9.250748 4.496626 m 8.743431 4.731425 l 8.875918 4.485311 l 8.758519 4.231653 l ef +n 9.250748 4.496626 m 8.743431 4.731425 l 8.875918 4.485311 l 8.758519 4.231653 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 9.697600 4.601600 m 12.796832 6.404790 l s +[] 0 sd +0 slj +0 slc +n 13.120963 6.593375 m 12.563065 6.558015 l 12.796832 6.404790 l 12.814512 6.125841 l ef +n 13.120963 6.593375 m 12.563065 6.558015 l 12.796832 6.404790 l 12.814512 6.125841 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 16.481600 2.297600 m 19.672090 4.367088 l s +[] 0 sd +0 slj +0 slc +n 19.986701 4.571158 m 19.431172 4.508805 l 19.672090 4.367088 l 19.703266 4.089323 l ef +n 19.986701 4.571158 m 19.431172 4.508805 l 19.672090 4.367088 l 19.703266 4.089323 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 20.513600 4.729600 m 22.560732 4.754160 l s +[] 0 sd +0 slj +0 slc +n 22.935705 4.758659 m 22.432742 5.002643 l 22.560732 4.754160 l 22.438740 4.502679 l ef +n 22.935705 4.758659 m 22.432742 5.002643 l 22.560732 4.754160 l 22.438740 4.502679 l cp s +gsave 5.000000 6.562500 translate 0.035278 -0.035278 scale +start_ol +5729 6016 moveto +5533 5056 lineto +5124 5280 4670 5392 conicto +4216 5504 3734 5504 conicto +2921 5504 2452 5229 conicto +1984 4954 1984 4482 conicto +1984 3933 3088 3639 conicto +3172 3617 3213 3606 conicto +3548 3506 lineto +4567 3221 4907 2908 conicto +5248 2595 5248 2053 conicto +5248 1059 4456 433 conicto +3665 -192 2384 -192 conicto +1886 -192 1338 -98 conicto +790 -5 130 192 conicto +331 1280 lineto +896 997 1444 850 conicto +1992 704 2496 704 conicto +3263 704 3743 1023 conicto +4224 1343 4224 1833 conicto +4224 2361 2963 2686 conicto +2854 2714 lineto +2496 2802 lineto +1700 3010 1330 3349 conicto +960 3689 960 4217 conicto +960 5221 1716 5810 conicto +2472 6400 3771 6400 conicto +4283 6400 4769 6304 conicto +5256 6208 5729 6016 conicto +end_ol grestore +gsave 23.440000 6.827500 translate 0.035278 -0.035278 scale +start_ol +4867 6272 moveto +4711 5440 lineto +2658 5440 lineto +1992 2036 lineto +1958 1846 1941 1717 conicto +1925 1589 1925 1516 conicto +1925 1157 2140 994 conicto +2356 832 2831 832 conicto +3872 832 lineto +3698 0 lineto +2714 0 lineto +1796 0 1346 353 conicto +896 706 896 1423 conicto +896 1551 912 1702 conicto +929 1854 963 2036 conicto +1628 5440 lineto +752 5440 lineto +918 6272 lineto +1774 6272 lineto +2121 8064 lineto +3150 8064 lineto +2809 6272 lineto +4867 6272 lineto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0.975875 0.112764 0.032090 srgb +n 16.163919 1.258881 3.439993 3.439993 87.657866 147.036577 ellipse s +[] 0 sd +0 slj +0 slc +n 13.132801 2.784720 m 13.556586 3.149283 l 13.277703 3.130593 l 13.095421 3.342485 l ef +n 13.132801 2.784720 m 13.556586 3.149283 l 13.277703 3.130593 l 13.095421 3.342485 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0.000000 0.000000 0.000000 srgb +n 13.388362 6.692362 m 15.935649 5.171189 l s +[] 0 sd +0 slj +0 slc +n 16.257610 4.978923 m 15.956507 5.449918 l 15.935649 5.171189 l 15.700151 5.020638 l ef +n 16.257610 4.978923 m 15.956507 5.449918 l 15.935649 5.171189 l 15.700151 5.020638 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 13.025600 2.425600 m 15.802797 2.425600 l s +[] 0 sd +0 slj +0 slc +n 16.177797 2.425600 m 15.677797 2.675600 l 15.802797 2.425600 l 15.677797 2.175600 l ef +n 16.177797 2.425600 m 15.677797 2.675600 l 15.802797 2.425600 l 15.677797 2.175600 l cp s +showpage diff --git a/2-dinic/dinic-cistasit.eps b/2-dinic/dinic-cistasit.eps new file mode 100644 index 0000000..1f89736 --- /dev/null +++ b/2-dinic/dinic-cistasit.eps @@ -0,0 +1,385 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Diagram1.dia +%%Creator: Dia v0.94 +%%CreationDate: Sun Mar 26 18:42:37 2006 +%%For: bernard +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 539 213 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-2.500000 -9.500000 translate +%%EndProlog + + +1.000000 1.000000 1.000000 srgb +n 6.862500 5.700000 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 6.862500 5.700000 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 10.526500 5.700000 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 10.526500 5.700000 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 13.862500 5.800000 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 13.862500 5.800000 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 17.772500 5.768000 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 17.772500 5.768000 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 3.087500 5.600000 0.462500 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 3.087500 5.600000 0.462500 0.450000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 20.997500 5.768000 0.450000 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 20.997500 5.768000 0.450000 0.450000 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.414537 5.281802 m 6.321672 3.628187 l s +[] 0 sd +0 slj +0 slc +n 6.647630 3.442778 m 6.336625 3.907295 l 6.321672 3.628187 l 6.089413 3.472685 l ef +n 6.647630 3.442778 m 6.336625 3.907295 l 6.321672 3.628187 l 6.089413 3.472685 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.414537 5.918198 m 6.093929 7.401701 l s +[] 0 sd +0 slj +0 slc +n 6.422000 7.583344 m 5.863476 7.559867 l 6.093929 7.401701 l 6.105667 7.122439 l ef +n 6.422000 7.583344 m 5.863476 7.559867 l 6.093929 7.401701 l 6.105667 7.122439 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.550000 5.600000 m 6.375918 5.685311 l s +[] 0 sd +0 slj +0 slc +n 6.750748 5.696626 m 6.243431 5.931425 l 6.375918 5.685311 l 6.258519 5.431653 l ef +n 6.750748 5.696626 m 6.243431 5.931425 l 6.375918 5.685311 l 6.258519 5.431653 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.534251 3.119060 m 10.172509 7.690865 l s +[] 0 sd +0 slj +0 slc +n 10.359941 8.015664 m 9.893499 7.707553 l 10.172509 7.690865 l 10.326564 7.457644 l ef +n 10.359941 8.015664 m 9.893499 7.707553 l 10.172509 7.690865 l 10.326564 7.457644 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.812500 5.700000 m 9.895478 3.630595 l s +[] 0 sd +0 slj +0 slc +n 10.161508 3.366298 m 9.982999 3.896048 l 9.895478 3.630595 l 9.630603 3.541340 l ef +n 10.161508 3.366298 m 9.982999 3.896048 l 9.895478 3.630595 l 9.630603 3.541340 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.515823 8.237500 m 10.061063 5.845852 l s +[] 0 sd +0 slj +0 slc +n 10.334346 5.589060 m 10.141163 6.113637 l 10.061063 5.845852 l 9.798775 5.749260 l ef +n 10.334346 5.589060 m 10.141163 6.113637 l 10.061063 5.845852 l 9.798775 5.749260 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 11.198251 3.119060 m 13.566239 5.562896 l s +[] 0 sd +0 slj +0 slc +n 13.827192 5.832207 m 13.299714 5.647094 l 13.566239 5.562896 l 13.658796 5.299157 l ef +n 13.827192 5.832207 m 13.299714 5.647094 l 13.566239 5.562896 l 13.658796 5.299157 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 11.198251 8.280940 m 13.310798 8.286271 l s +[] 0 sd +0 slj +0 slc +n 13.685797 8.287218 m 13.185168 8.535955 l 13.310798 8.286271 l 13.186429 8.035957 l ef +n 13.685797 8.287218 m 13.185168 8.535955 l 13.310798 8.286271 l 13.186429 8.035957 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 11.476500 5.700000 m 13.484600 3.705546 l s +[] 0 sd +0 slj +0 slc +n 13.750667 3.441287 m 13.572084 3.971011 l 13.484600 3.705546 l 13.219738 3.616255 l ef +n 13.750667 3.441287 m 13.572084 3.971011 l 13.484600 3.705546 l 13.219738 3.616255 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.534251 3.219060 m 17.185798 3.213518 l s +[] 0 sd +0 slj +0 slc +n 17.560797 3.212734 m 17.061321 3.463778 l 17.185798 3.213518 l 17.060275 2.963779 l ef +n 17.560797 3.212734 m 17.061321 3.463778 l 17.185798 3.213518 l 17.060275 2.963779 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.812500 5.800000 m 17.010844 5.830702 l s +[] 0 sd +0 slj +0 slc +n 17.385808 5.835939 m 16.882365 6.078932 l 17.010844 5.830702 l 16.889347 5.578981 l ef +n 17.385808 5.835939 m 16.882365 6.078932 l 17.010844 5.830702 l 16.889347 5.578981 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.534251 8.380940 m 17.385804 8.365189 l s +[] 0 sd +0 slj +0 slc +n 17.760798 8.363118 m 17.262187 8.615876 l 17.385804 8.365189 l 17.259425 8.115883 l ef +n 17.760798 8.363118 m 17.262187 8.615876 l 17.385804 8.365189 l 17.259425 8.115883 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 18.444251 3.187060 m 20.337206 5.103467 l s +[] 0 sd +0 slj +0 slc +n 20.600733 5.370260 m 20.071502 5.190221 l 20.337206 5.103467 l 20.427225 4.838851 l ef +n 20.600733 5.370260 m 20.071502 5.190221 l 20.337206 5.103467 l 20.427225 4.838851 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 18.722500 5.768000 m 20.060697 5.768000 l s +[] 0 sd +0 slj +0 slc +n 20.435697 5.768000 m 19.935697 6.018000 l 20.060697 5.768000 l 19.935697 5.518000 l ef +n 20.435697 5.768000 m 19.935697 6.018000 l 20.060697 5.768000 l 19.935697 5.518000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 18.444251 8.348940 m 20.337206 6.432533 l s +[] 0 sd +0 slj +0 slc +n 20.600733 6.165740 m 20.427225 6.697149 l 20.337206 6.432533 l 20.071502 6.345779 l ef +n 20.600733 6.165740 m 20.427225 6.697149 l 20.337206 6.432533 l 20.071502 6.345779 l cp s +gsave 2.500000 7.762500 translate 0.035278 -0.035278 scale +start_ol +5729 6016 moveto +5533 5056 lineto +5124 5280 4670 5392 conicto +4216 5504 3734 5504 conicto +2921 5504 2452 5229 conicto +1984 4954 1984 4482 conicto +1984 3933 3088 3639 conicto +3172 3617 3213 3606 conicto +3548 3506 lineto +4567 3221 4907 2908 conicto +5248 2595 5248 2053 conicto +5248 1059 4456 433 conicto +3665 -192 2384 -192 conicto +1886 -192 1338 -98 conicto +790 -5 130 192 conicto +331 1280 lineto +896 997 1444 850 conicto +1992 704 2496 704 conicto +3263 704 3743 1023 conicto +4224 1343 4224 1833 conicto +4224 2361 2963 2686 conicto +2854 2714 lineto +2496 2802 lineto +1700 3010 1330 3349 conicto +960 3689 960 4217 conicto +960 5221 1716 5810 conicto +2472 6400 3771 6400 conicto +4283 6400 4769 6304 conicto +5256 6208 5729 6016 conicto +end_ol grestore +gsave 20.940000 8.027500 translate 0.035278 -0.035278 scale +start_ol +4867 6272 moveto +4711 5440 lineto +2658 5440 lineto +1992 2036 lineto +1958 1846 1941 1717 conicto +1925 1589 1925 1516 conicto +1925 1157 2140 994 conicto +2356 832 2831 832 conicto +3872 832 lineto +3698 0 lineto +2714 0 lineto +1796 0 1346 353 conicto +896 706 896 1423 conicto +896 1551 912 1702 conicto +929 1854 963 2036 conicto +1628 5440 lineto +752 5440 lineto +918 6272 lineto +1774 6272 lineto +2121 8064 lineto +3150 8064 lineto +2809 6272 lineto +4867 6272 lineto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.534251 8.380940 m 17.084091 6.455823 l s +[] 0 sd +0 slj +0 slc +n 17.383372 6.229867 m 17.134968 6.730662 l 17.084091 6.455823 l 16.833693 6.331621 l ef +n 17.383372 6.229867 m 17.134968 6.730662 l 17.084091 6.455823 l 16.833693 6.331621 l cp s +showpage diff --git a/2-dinic/dinic-neprocistenasit.eps b/2-dinic/dinic-neprocistenasit.eps new file mode 100644 index 0000000..0ef4bca --- /dev/null +++ b/2-dinic/dinic-neprocistenasit.eps @@ -0,0 +1,489 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Diagram1.dia +%%Creator: Dia v0.94 +%%CreationDate: Sun Mar 26 18:43:17 2006 +%%For: bernard +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 645 410 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-2.500000 -16.434513 translate +%%EndProlog + + +1.000000 1.000000 1.000000 srgb +n 6.862500 7.272280 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 6.862500 7.272280 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 10.462500 7.272280 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 10.462500 7.272280 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 13.862500 7.372280 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 13.862500 7.372280 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 17.708500 7.468280 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 17.708500 7.468280 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 3.087500 7.172280 0.462500 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 3.087500 7.172280 0.462500 0.450000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 20.997500 7.468280 0.450000 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 20.997500 7.468280 0.450000 0.450000 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.414537 6.854082 m 6.321672 5.200467 l s +[] 0 sd +0 slj +0 slc +n 6.647630 5.015059 m 6.336625 5.479576 l 6.321672 5.200467 l 6.089413 5.044965 l ef +n 6.647630 5.015059 m 6.336625 5.479576 l 6.321672 5.200467 l 6.089413 5.044965 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.414537 7.490478 m 6.093929 8.973981 l s +[] 0 sd +0 slj +0 slc +n 6.422000 9.155625 m 5.863476 9.132147 l 6.093929 8.973981 l 6.105667 8.694719 l ef +n 6.422000 9.155625 m 5.863476 9.132147 l 6.093929 8.973981 l 6.105667 8.694719 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.550000 7.172280 m 6.375918 7.257591 l s +[] 0 sd +0 slj +0 slc +n 6.750748 7.268907 m 6.243431 7.503705 l 6.375918 7.257591 l 6.258519 7.003933 l ef +n 6.750748 7.268907 m 6.243431 7.503705 l 6.375918 7.257591 l 6.258519 7.003933 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.534251 4.691341 m 10.172509 9.263145 l s +[] 0 sd +0 slj +0 slc +n 10.359941 9.587944 m 9.893499 9.279834 l 10.172509 9.263145 l 10.326564 9.029924 l ef +n 10.359941 9.587944 m 9.893499 9.279834 l 10.172509 9.263145 l 10.326564 9.029924 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.812500 7.272280 m 9.895478 5.202875 l s +[] 0 sd +0 slj +0 slc +n 10.161508 4.938578 m 9.982999 5.468328 l 9.895478 5.202875 l 9.630603 5.113621 l ef +n 10.161508 4.938578 m 9.982999 5.468328 l 9.895478 5.202875 l 9.630603 5.113621 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.534251 9.853220 m 10.064779 7.422042 l s +[] 0 sd +0 slj +0 slc +n 10.335199 7.162239 m 10.147841 7.688924 l 10.064779 7.422042 l 9.801436 7.328363 l ef +n 10.335199 7.162239 m 10.147841 7.688924 l 10.064779 7.422042 l 9.801436 7.328363 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 11.134251 4.691341 m 13.515281 7.031082 l s +[] 0 sd +0 slj +0 slc +n 13.782755 7.293918 m 13.250899 7.121786 l 13.515281 7.031082 l 13.601347 6.765154 l ef +n 13.782755 7.293918 m 13.250899 7.121786 l 13.515281 7.031082 l 13.601347 6.765154 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 11.134251 9.853220 m 13.310798 9.858581 l s +[] 0 sd +0 slj +0 slc +n 13.685797 9.859505 m 13.185183 10.108273 l 13.310798 9.858581 l 13.186414 9.608274 l ef +n 13.685797 9.859505 m 13.185183 10.108273 l 13.310798 9.858581 l 13.186414 9.608274 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 11.412500 7.272280 m 13.480030 5.273164 l s +[] 0 sd +0 slj +0 slc +n 13.749618 5.012496 m 13.563946 5.539778 l 13.480030 5.273164 l 13.216389 5.180327 l ef +n 13.749618 5.012496 m 13.563946 5.539778 l 13.480030 5.273164 l 13.216389 5.180327 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.534251 4.791341 m 17.185798 4.785798 l s +[] 0 sd +0 slj +0 slc +n 17.560797 4.785014 m 17.061321 5.036059 l 17.185798 4.785798 l 17.060275 4.536060 l ef +n 17.560797 4.785014 m 17.061321 5.036059 l 17.185798 4.785798 l 17.060275 4.536060 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.812500 7.372280 m 17.010844 7.402982 l s +[] 0 sd +0 slj +0 slc +n 17.385808 7.408219 m 16.882365 7.651212 l 17.010844 7.402982 l 16.889347 7.151261 l ef +n 17.385808 7.408219 m 16.882365 7.651212 l 17.010844 7.402982 l 16.889347 7.151261 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.534251 9.953220 m 17.385804 9.937469 l s +[] 0 sd +0 slj +0 slc +n 17.760798 9.935398 m 17.262187 10.188156 l 17.385804 9.937469 l 17.259425 9.688163 l ef +n 17.760798 9.935398 m 17.262187 10.188156 l 17.385804 9.937469 l 17.259425 9.688163 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 18.380251 4.887341 m 20.332351 6.808611 l s +[] 0 sd +0 slj +0 slc +n 20.599618 7.071657 m 20.067898 6.899107 l 20.332351 6.808611 l 20.418626 6.542751 l ef +n 20.599618 7.071657 m 20.067898 6.899107 l 20.332351 6.808611 l 20.418626 6.542751 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 18.658500 7.468280 m 20.060697 7.468280 l s +[] 0 sd +0 slj +0 slc +n 20.435697 7.468280 m 19.935697 7.718280 l 20.060697 7.468280 l 19.935697 7.218280 l ef +n 20.435697 7.468280 m 19.935697 7.718280 l 20.060697 7.468280 l 19.935697 7.218280 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 18.380251 10.049220 m 20.332351 8.127950 l s +[] 0 sd +0 slj +0 slc +n 20.599618 7.864904 m 20.418626 8.393810 l 20.332351 8.127950 l 20.067898 8.037454 l ef +n 20.599618 7.864904 m 20.418626 8.393810 l 20.332351 8.127950 l 20.067898 8.037454 l cp s +gsave 2.500000 9.334780 translate 0.035278 -0.035278 scale +start_ol +5729 6016 moveto +5533 5056 lineto +5124 5280 4670 5392 conicto +4216 5504 3734 5504 conicto +2921 5504 2452 5229 conicto +1984 4954 1984 4482 conicto +1984 3933 3088 3639 conicto +3172 3617 3213 3606 conicto +3548 3506 lineto +4567 3221 4907 2908 conicto +5248 2595 5248 2053 conicto +5248 1059 4456 433 conicto +3665 -192 2384 -192 conicto +1886 -192 1338 -98 conicto +790 -5 130 192 conicto +331 1280 lineto +896 997 1444 850 conicto +1992 704 2496 704 conicto +3263 704 3743 1023 conicto +4224 1343 4224 1833 conicto +4224 2361 2963 2686 conicto +2854 2714 lineto +2496 2802 lineto +1700 3010 1330 3349 conicto +960 3689 960 4217 conicto +960 5221 1716 5810 conicto +2472 6400 3771 6400 conicto +4283 6400 4769 6304 conicto +5256 6208 5729 6016 conicto +end_ol grestore +gsave 20.940000 9.599780 translate 0.035278 -0.035278 scale +start_ol +4867 6272 moveto +4711 5440 lineto +2658 5440 lineto +1992 2036 lineto +1958 1846 1941 1717 conicto +1925 1589 1925 1516 conicto +1925 1157 2140 994 conicto +2356 832 2831 832 conicto +3872 832 lineto +3698 0 lineto +2714 0 lineto +1796 0 1346 353 conicto +896 706 896 1423 conicto +896 1551 912 1702 conicto +929 1854 963 2036 conicto +1628 5440 lineto +752 5440 lineto +918 6272 lineto +1774 6272 lineto +2121 8064 lineto +3150 8064 lineto +2809 6272 lineto +4867 6272 lineto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 14.534251 9.953220 m 17.084091 8.028103 l s +[] 0 sd +0 slj +0 slc +n 17.383372 7.802147 m 17.134968 8.302942 l 17.084091 8.028103 l 16.833693 7.903901 l ef +n 17.383372 7.802147 m 17.134968 8.302942 l 17.084091 8.028103 l 16.833693 7.903901 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +1.000000 0.000000 0.000000 srgb +n 8.863225 5.441066 2.421913 2.421913 219.588577 311.325462 ellipse s +[] 0 sd +0 slj +0 slc +n 6.834543 4.235732 m 6.825501 3.676788 l 6.996801 3.897653 l 7.276273 3.893132 l ef +n 6.834543 4.235732 m 6.825501 3.676788 l 6.996801 3.897653 l 7.276273 3.893132 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0.975875 0.112764 0.032090 srgb +n 14.340216 6.146671 4.094721 4.094721 208.352852 325.345101 ellipse s +[] 0 sd +0 slj +0 slc +n 10.602251 4.552157 m 10.548134 3.995765 l 10.736698 4.202087 l 11.014894 4.175028 l ef +n 10.602251 4.552157 m 10.548134 3.995765 l 10.736698 4.202087 l 11.014894 4.175028 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.592609 8.092906 4.390150 4.390150 41.855976 148.145915 ellipse s +[] 0 sd +0 slj +0 slc +n 6.705357 10.069883 m 7.143037 10.417642 l 6.863637 10.409843 l 6.689758 10.628683 l ef +n 6.705357 10.069883 m 7.143037 10.417642 l 6.863637 10.409843 l 6.689758 10.628683 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0.000000 0.000000 1.000000 srgb +n 8.903416 7.318665 5.568561 5.568561 344.301874 23.291516 ellipse s +[] 0 sd +0 slj +0 slc +n 14.123991 5.464213 m 14.542882 5.834389 l 14.264273 5.811986 l 14.079185 6.021431 l ef +n 14.123991 5.464213 m 14.542882 5.834389 l 14.264273 5.811986 l 14.079185 6.021431 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.210327 7.033875 7.903347 7.903347 345.391335 13.883456 ellipse s +[] 0 sd +0 slj +0 slc +n 17.765218 9.286360 m 17.684576 8.733190 l 17.882784 8.930266 l 18.159369 8.889945 l ef +n 17.765218 9.286360 m 17.684576 8.733190 l 17.882784 8.930266 l 18.159369 8.889945 l cp s +0.100000 slw +[0.200000] 0 sd +[0.200000] 0 sd +0 slc +1.000000 0.000000 0.000000 srgb +n 18.098907 7.940924 5.095559 5.095559 76.123301 143.210625 ellipse s +[] 0 sd +0 slj +0 slc +n 19.673168 12.758936 m 19.289485 13.165491 l 19.320991 12.887764 l 19.117714 12.695923 l ef +n 19.673168 12.758936 m 19.289485 13.165491 l 19.320991 12.887764 l 19.117714 12.695923 l cp s +0.100000 slw +[0.200000] 0 sd +[0.200000] 0 sd +0 slc +n 20.523276 17.455177 4.647800 4.647800 262.370045 335.408063 ellipse s +[] 0 sd +0 slj +0 slc +n 24.864022 15.878065 m 24.473265 15.478304 l 24.749496 15.520981 l 24.949377 15.325603 l ef +n 24.864022 15.878065 m 24.473265 15.478304 l 24.749496 15.520981 l 24.949377 15.325603 l cp s +0.100000 slw +[0.200000] 0 sd +[0.200000] 0 sd +0 slc +n 22.877863 13.726900 3.137477 3.137477 198.708808 306.782461 ellipse s +[] 0 sd +0 slj +0 slc +n 25.013538 11.487115 m 24.488799 11.294373 l 24.756517 11.214048 l 24.852887 10.951679 l ef +n 25.013538 11.487115 m 24.488799 11.294373 l 24.756517 11.214048 l 24.852887 10.951679 l cp s +0.100000 slw +[0.200000] 0 sd +[0.200000] 0 sd +0 slc +n 20.651986 8.352373 5.405747 5.405747 237.008785 291.992378 ellipse s +[] 0 sd +0 slj +0 slc +n 23.007451 3.516038 m 22.448609 3.502032 l 22.676347 3.339982 l 22.683350 3.060561 l ef +n 23.007451 3.516038 m 22.448609 3.502032 l 22.676347 3.339982 l 22.683350 3.060561 l cp s +0.100000 slw +[0.200000] 0 sd +[0.200000] 0 sd +0 slc +n 20.212569 -19.590058 24.545884 24.545884 83.309864 94.281036 ellipse s +[] 0 sd +0 slj +0 slc +n 23.443465 4.736181 m 22.983393 5.053725 l 23.072158 4.788686 l 22.913386 4.558651 l ef +n 23.443465 4.736181 m 22.983393 5.053725 l 23.072158 4.788686 l 22.913386 4.558651 l cp s +showpage diff --git a/2-dinic/dinic-scaling-g.eps b/2-dinic/dinic-scaling-g.eps new file mode 100644 index 0000000..250a58a --- /dev/null +++ b/2-dinic/dinic-scaling-g.eps @@ -0,0 +1,654 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Diagram5.dia +%%Creator: Dia v0.94 +%%CreationDate: Thu Apr 27 16:18:04 2006 +%%For: bernard +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 1029 155 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/Times-Roman-latin1 + /Times-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-Italic-latin1 + /Times-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-Bold-latin1 + /Times-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-BoldItalic-latin1 + /Times-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-Book-latin1 + /AvantGarde-Book findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-BookOblique-latin1 + /AvantGarde-BookOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-Demi-latin1 + /AvantGarde-Demi findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-DemiOblique-latin1 + /AvantGarde-DemiOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-Light-latin1 + /Bookman-Light findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-LightItalic-latin1 + /Bookman-LightItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-Demi-latin1 + /Bookman-Demi findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-DemiItalic-latin1 + /Bookman-DemiItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-latin1 + /Courier findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-Oblique-latin1 + /Courier-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-Bold-latin1 + /Courier-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-BoldOblique-latin1 + /Courier-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-latin1 + /Helvetica findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Oblique-latin1 + /Helvetica-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Bold-latin1 + /Helvetica-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-BoldOblique-latin1 + /Helvetica-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-latin1 + /Helvetica-Narrow findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-Oblique-latin1 + /Helvetica-Narrow-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-Bold-latin1 + /Helvetica-Narrow-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-BoldOblique-latin1 + /Helvetica-Narrow-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Roman-latin1 + /NewCenturySchoolbook-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Italic-latin1 + /NewCenturySchoolbook-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Bold-latin1 + /NewCenturySchoolbook-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-BoldItalic-latin1 + /NewCenturySchoolbook-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Roman-latin1 + /Palatino-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Italic-latin1 + /Palatino-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Bold-latin1 + /Palatino-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-BoldItalic-latin1 + /Palatino-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Symbol-latin1 + /Symbol findfont +definefont pop +/ZapfChancery-MediumItalic-latin1 + /ZapfChancery-MediumItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/ZapfDingbats-latin1 + /ZapfDingbats findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +28.346000 -28.346000 scale +-2.500000 -7.467816 translate +%%EndProlog + + +1.000000 1.000000 1.000000 srgb +n 3.012500 4.697072 0.462500 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 3.012500 4.697072 0.462500 0.450000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 13.000000 4.697072 0.450000 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 13.000000 4.697072 0.450000 0.450000 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.339537 4.378874 m 6.074626 2.961014 l s +[] 0 sd +0 slj +0 slc +n 6.407551 2.788427 m 6.078709 3.240493 l 6.074626 2.961014 l 5.848594 2.796593 l ef +n 6.407551 2.788427 m 6.078709 3.240493 l 6.074626 2.961014 l 5.848594 2.796593 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.475000 4.697072 m 6.070801 5.161361 l s +[] 0 sd +0 slj +0 slc +n 6.439943 5.227387 m 5.903737 5.385447 l 6.070801 5.161361 l 5.991771 4.893258 l ef +n 6.439943 5.227387 m 5.903737 5.385447 l 6.070801 5.161361 l 5.991771 4.893258 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.339537 5.015270 m 6.199782 6.761352 l s +[] 0 sd +0 slj +0 slc +n 6.519855 6.956745 m 5.962829 6.909602 l 6.199782 6.761352 l 6.223354 6.482839 l ef +n 6.519855 6.956745 m 5.962829 6.909602 l 6.199782 6.761352 l 6.223354 6.482839 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 6.656000 2.858072 m 9.573797 2.858843 l s +[] 0 sd +0 slj +0 slc +n 9.948797 2.858942 m 9.448731 3.108810 l 9.573797 2.858843 l 9.448863 2.608810 l ef +n 9.948797 2.858942 m 9.448731 3.108810 l 9.573797 2.858843 l 9.448863 2.608810 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.326000 2.911072 m 12.268633 4.121446 l s +[] 0 sd +0 slj +0 slc +n 12.586910 4.319751 m 12.030338 4.267528 l 12.268633 4.121446 l 12.294744 3.843159 l ef +n 12.586910 4.319751 m 12.030338 4.267528 l 12.268633 4.121446 l 12.294744 3.843159 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 6.550000 5.247072 m 12.065229 4.741509 l s +[] 0 sd +0 slj +0 slc +n 12.438663 4.707278 m 11.963572 5.001876 l 12.065229 4.741509 l 11.917930 4.503963 l ef +n 12.438663 4.707278 m 11.963572 5.001876 l 12.065229 4.741509 l 11.917930 4.503963 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 6.815282 6.965000 m 12.219843 5.168801 l s +[] 0 sd +0 slj +0 slc +n 12.575705 5.050531 m 12.180070 5.445465 l 12.219843 5.168801 l 12.022376 4.970984 l ef +n 12.575705 5.050531 m 12.180070 5.445465 l 12.219843 5.168801 l 12.022376 4.970984 l cp s +/Helvetica-latin1 ff 1.050000 scf sf +(s) 2.550000 6.247072 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 1.050000 scf sf +(t) 12.700000 6.247072 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(0) 3.515282 3.665000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(0) 7.540282 2.590000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(1) 8.440282 4.840000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(1) 11.515282 3.240000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(0) 9.215282 6.840000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(1) 4.977409 6.015135 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(1) 4.690282 4.790000 m gs 1 -1 sc sh gr +1.000000 1.000000 1.000000 srgb +n 15.737500 4.697072 0.462500 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 15.737500 4.697072 0.462500 0.450000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 25.725000 4.697072 0.450000 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 25.725000 4.697072 0.450000 0.450000 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 16.064537 4.378874 m 18.799627 2.961014 l s +[] 0 sd +0 slj +0 slc +n 19.132551 2.788427 m 18.803710 3.240493 l 18.799627 2.961014 l 18.573594 2.796593 l ef +n 19.132551 2.788427 m 18.803710 3.240493 l 18.799627 2.961014 l 18.573594 2.796593 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 16.200000 4.697072 m 18.795801 5.161361 l s +[] 0 sd +0 slj +0 slc +n 19.164943 5.227387 m 18.628737 5.385447 l 18.795801 5.161361 l 18.716771 4.893258 l ef +n 19.164943 5.227387 m 18.628737 5.385447 l 18.795801 5.161361 l 18.716771 4.893258 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 16.064537 5.015270 m 18.924782 6.761352 l s +[] 0 sd +0 slj +0 slc +n 19.244855 6.956745 m 18.687829 6.909602 l 18.924782 6.761352 l 18.948354 6.482839 l ef +n 19.244855 6.956745 m 18.687829 6.909602 l 18.924782 6.761352 l 18.948354 6.482839 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 19.381000 2.858072 m 22.298797 2.858843 l s +[] 0 sd +0 slj +0 slc +n 22.673797 2.858942 m 22.173731 3.108810 l 22.298797 2.858843 l 22.173863 2.608810 l ef +n 22.673797 2.858942 m 22.173731 3.108810 l 22.298797 2.858843 l 22.173863 2.608810 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 23.051000 2.911072 m 24.993633 4.121446 l s +[] 0 sd +0 slj +0 slc +n 25.311910 4.319751 m 24.755338 4.267528 l 24.993633 4.121446 l 25.019744 3.843159 l ef +n 25.311910 4.319751 m 24.755338 4.267528 l 24.993633 4.121446 l 25.019744 3.843159 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 19.275000 5.247072 m 24.790229 4.741509 l s +[] 0 sd +0 slj +0 slc +n 25.163663 4.707278 m 24.688572 5.001876 l 24.790229 4.741509 l 24.642930 4.503963 l ef +n 25.163663 4.707278 m 24.688572 5.001876 l 24.790229 4.741509 l 24.642930 4.503963 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 19.540282 6.965000 m 24.944843 5.168801 l s +[] 0 sd +0 slj +0 slc +n 25.300705 5.050531 m 24.905070 5.445465 l 24.944843 5.168801 l 24.747376 4.970984 l ef +n 25.300705 5.050531 m 24.905070 5.445465 l 24.944843 5.168801 l 24.747376 4.970984 l cp s +/Helvetica-latin1 ff 1.050000 scf sf +(s) 15.275000 6.247072 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 1.050000 scf sf +(t) 25.575000 6.297072 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(00) 16.240282 3.665000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(01) 20.265282 2.590000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(11) 21.165282 4.840000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(10) 24.240282 3.240000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(01) 21.940282 6.840000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(10) 17.702409 6.015135 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(11) 17.415282 4.790000 m gs 1 -1 sc sh gr +1.000000 1.000000 1.000000 srgb +n 28.290871 4.657072 0.462500 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 28.290871 4.657072 0.462500 0.450000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 38.278371 4.657072 0.450000 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 38.278371 4.657072 0.450000 0.450000 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 28.617908 4.338874 m 31.352997 2.921014 l s +[] 0 sd +0 slj +0 slc +n 31.685922 2.748427 m 31.357080 3.200493 l 31.352997 2.921014 l 31.126965 2.756593 l ef +n 31.685922 2.748427 m 31.357080 3.200493 l 31.352997 2.921014 l 31.126965 2.756593 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 28.753371 4.657072 m 31.349172 5.121361 l s +[] 0 sd +0 slj +0 slc +n 31.718314 5.187387 m 31.182108 5.345447 l 31.349172 5.121361 l 31.270142 4.853258 l ef +n 31.718314 5.187387 m 31.182108 5.345447 l 31.349172 5.121361 l 31.270142 4.853258 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 28.617908 4.975270 m 31.478153 6.721352 l s +[] 0 sd +0 slj +0 slc +n 31.798226 6.916745 m 31.241200 6.869602 l 31.478153 6.721352 l 31.501724 6.442839 l ef +n 31.798226 6.916745 m 31.241200 6.869602 l 31.478153 6.721352 l 31.501724 6.442839 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 31.934371 2.818072 m 34.852167 2.818843 l s +[] 0 sd +0 slj +0 slc +n 35.227167 2.818942 m 34.727101 3.068810 l 34.852167 2.818843 l 34.727234 2.568810 l ef +n 35.227167 2.818942 m 34.727101 3.068810 l 34.852167 2.818843 l 34.727234 2.568810 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 35.604371 2.871072 m 37.547004 4.081446 l s +[] 0 sd +0 slj +0 slc +n 37.865281 4.279751 m 37.308709 4.227528 l 37.547004 4.081446 l 37.573115 3.803159 l ef +n 37.865281 4.279751 m 37.308709 4.227528 l 37.547004 4.081446 l 37.573115 3.803159 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 31.828371 5.207072 m 37.343600 4.701509 l s +[] 0 sd +0 slj +0 slc +n 37.717034 4.667278 m 37.241943 4.961876 l 37.343600 4.701509 l 37.196301 4.463963 l ef +n 37.717034 4.667278 m 37.241943 4.961876 l 37.343600 4.701509 l 37.196301 4.463963 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 32.093653 6.925000 m 37.498214 5.128801 l s +[] 0 sd +0 slj +0 slc +n 37.854075 5.010531 m 37.458441 5.405465 l 37.498214 5.128801 l 37.300747 4.930984 l ef +n 37.854075 5.010531 m 37.458441 5.405465 l 37.498214 5.128801 l 37.300747 4.930984 l cp s +/Helvetica-latin1 ff 1.050000 scf sf +(s) 27.828371 6.207072 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 1.050000 scf sf +(t) 38.128371 6.207072 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(001) 28.793653 3.625000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(010) 32.818653 2.550000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(111) 33.718653 4.800000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(100) 36.793653 3.200000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(011) 34.493653 6.800000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(101) 30.255780 5.975135 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(110) 29.968653 4.750000 m gs 1 -1 sc sh gr +showpage diff --git a/2-dinic/dinic-scaling-original.eps b/2-dinic/dinic-scaling-original.eps new file mode 100644 index 0000000..3cd2ae9 --- /dev/null +++ b/2-dinic/dinic-scaling-original.eps @@ -0,0 +1,451 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Diagram5.dia +%%Creator: Dia v0.94 +%%CreationDate: Thu Apr 27 16:14:01 2006 +%%For: bernard +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 312 170 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/Times-Roman-latin1 + /Times-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-Italic-latin1 + /Times-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-Bold-latin1 + /Times-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-BoldItalic-latin1 + /Times-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-Book-latin1 + /AvantGarde-Book findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-BookOblique-latin1 + /AvantGarde-BookOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-Demi-latin1 + /AvantGarde-Demi findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-DemiOblique-latin1 + /AvantGarde-DemiOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-Light-latin1 + /Bookman-Light findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-LightItalic-latin1 + /Bookman-LightItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-Demi-latin1 + /Bookman-Demi findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-DemiItalic-latin1 + /Bookman-DemiItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-latin1 + /Courier findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-Oblique-latin1 + /Courier-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-Bold-latin1 + /Courier-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-BoldOblique-latin1 + /Courier-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-latin1 + /Helvetica findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Oblique-latin1 + /Helvetica-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Bold-latin1 + /Helvetica-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-BoldOblique-latin1 + /Helvetica-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-latin1 + /Helvetica-Narrow findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-Oblique-latin1 + /Helvetica-Narrow-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-Bold-latin1 + /Helvetica-Narrow-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-BoldOblique-latin1 + /Helvetica-Narrow-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Roman-latin1 + /NewCenturySchoolbook-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Italic-latin1 + /NewCenturySchoolbook-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Bold-latin1 + /NewCenturySchoolbook-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-BoldItalic-latin1 + /NewCenturySchoolbook-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Roman-latin1 + /Palatino-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Italic-latin1 + /Palatino-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Bold-latin1 + /Palatino-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-BoldItalic-latin1 + /Palatino-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Symbol-latin1 + /Symbol findfont +definefont pop +/ZapfChancery-MediumItalic-latin1 + /ZapfChancery-MediumItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/ZapfDingbats-latin1 + /ZapfDingbats findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +28.346000 -28.346000 scale +-2.500000 -7.977816 translate +%%EndProlog + + +1.000000 1.000000 1.000000 srgb +n 3.012500 5.207072 0.462500 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 3.012500 5.207072 0.462500 0.450000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 13.000000 5.207072 0.450000 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 13.000000 5.207072 0.450000 0.450000 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.339537 4.888874 m 6.074626 3.471014 l s +[] 0 sd +0 slj +0 slc +n 6.407551 3.298427 m 6.078709 3.750493 l 6.074626 3.471014 l 5.848594 3.306593 l ef +n 6.407551 3.298427 m 6.078709 3.750493 l 6.074626 3.471014 l 5.848594 3.306593 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.475000 5.207072 m 6.070801 5.671361 l s +[] 0 sd +0 slj +0 slc +n 6.439943 5.737387 m 5.903737 5.895447 l 6.070801 5.671361 l 5.991771 5.403258 l ef +n 6.439943 5.737387 m 5.903737 5.895447 l 6.070801 5.671361 l 5.991771 5.403258 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.339537 5.525270 m 6.199782 7.271352 l s +[] 0 sd +0 slj +0 slc +n 6.519855 7.466745 m 5.962829 7.419602 l 6.199782 7.271352 l 6.223354 6.992839 l ef +n 6.519855 7.466745 m 5.962829 7.419602 l 6.199782 7.271352 l 6.223354 6.992839 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 6.656000 3.368072 m 9.573797 3.368843 l s +[] 0 sd +0 slj +0 slc +n 9.948797 3.368942 m 9.448731 3.618810 l 9.573797 3.368843 l 9.448863 3.118810 l ef +n 9.948797 3.368942 m 9.448731 3.618810 l 9.573797 3.368843 l 9.448863 3.118810 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.326000 3.421072 m 12.268633 4.631446 l s +[] 0 sd +0 slj +0 slc +n 12.586910 4.829751 m 12.030338 4.777528 l 12.268633 4.631446 l 12.294744 4.353159 l ef +n 12.586910 4.829751 m 12.030338 4.777528 l 12.268633 4.631446 l 12.294744 4.353159 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 6.550000 5.757072 m 12.065229 5.251509 l s +[] 0 sd +0 slj +0 slc +n 12.438663 5.217278 m 11.963572 5.511876 l 12.065229 5.251509 l 11.917930 5.013963 l ef +n 12.438663 5.217278 m 11.963572 5.511876 l 12.065229 5.251509 l 11.917930 5.013963 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 6.815282 7.475000 m 12.219843 5.678801 l s +[] 0 sd +0 slj +0 slc +n 12.575705 5.560531 m 12.180070 5.955465 l 12.219843 5.678801 l 12.022376 5.480984 l ef +n 12.575705 5.560531 m 12.180070 5.955465 l 12.219843 5.678801 l 12.022376 5.480984 l cp s +/Helvetica-latin1 ff 1.050000 scf sf +(s) 2.550000 6.757072 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 1.050000 scf sf +(t) 12.700000 6.807072 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +/Helvetica-latin1 ff 0.560000 scf sf +(001) 3.515282 4.175000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(010) 7.540282 3.100000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(111) 8.440282 5.350000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(100) 11.515282 3.750000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(011) 9.215282 7.350000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(101) 5.115282 6.475000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(110) 4.690282 5.300000 m gs 1 -1 sc sh gr +showpage diff --git a/2-dinic/dinic-sort.eps b/2-dinic/dinic-sort.eps new file mode 100644 index 0000000..28d4d04 --- /dev/null +++ b/2-dinic/dinic-sort.eps @@ -0,0 +1,427 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Diagram4.dia +%%Creator: Dia v0.94 +%%CreationDate: Thu Apr 27 15:56:34 2006 +%%For: bernard +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 383 127 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/Times-Roman-latin1 + /Times-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-Italic-latin1 + /Times-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-Bold-latin1 + /Times-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-BoldItalic-latin1 + /Times-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-Book-latin1 + /AvantGarde-Book findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-BookOblique-latin1 + /AvantGarde-BookOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-Demi-latin1 + /AvantGarde-Demi findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-DemiOblique-latin1 + /AvantGarde-DemiOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-Light-latin1 + /Bookman-Light findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-LightItalic-latin1 + /Bookman-LightItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-Demi-latin1 + /Bookman-Demi findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-DemiItalic-latin1 + /Bookman-DemiItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-latin1 + /Courier findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-Oblique-latin1 + /Courier-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-Bold-latin1 + /Courier-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-BoldOblique-latin1 + /Courier-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-latin1 + /Helvetica findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Oblique-latin1 + /Helvetica-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Bold-latin1 + /Helvetica-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-BoldOblique-latin1 + /Helvetica-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-latin1 + /Helvetica-Narrow findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-Oblique-latin1 + /Helvetica-Narrow-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-Bold-latin1 + /Helvetica-Narrow-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-BoldOblique-latin1 + /Helvetica-Narrow-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Roman-latin1 + /NewCenturySchoolbook-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Italic-latin1 + /NewCenturySchoolbook-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Bold-latin1 + /NewCenturySchoolbook-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-BoldItalic-latin1 + /NewCenturySchoolbook-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Roman-latin1 + /Palatino-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Italic-latin1 + /Palatino-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Bold-latin1 + /Palatino-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-BoldItalic-latin1 + /Palatino-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Symbol-latin1 + /Symbol findfont +definefont pop +/ZapfChancery-MediumItalic-latin1 + /ZapfChancery-MediumItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/ZapfDingbats-latin1 + /ZapfDingbats findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +28.346000 -28.346000 scale +-2.500000 -6.450000 translate +%%EndProlog + + +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 1.000000 0.000000 srgb +n 10.505954 2.098390 m 10.505954 5.875539 l 10.968454 5.875539 l 10.968454 2.098390 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +n 6.979994 2.098390 m 6.979994 5.875539 l 7.442494 5.875539 l 7.442494 2.098390 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +n 3.469994 2.098390 m 3.469994 5.910890 l 3.932494 5.910890 l 3.932494 2.098390 l cp s +/Courier-latin1 ff 0.840000 scf sf +0.000000 0.000000 0.000000 srgb +(267) 2.500000 2.800000 m gs 1 -1 sc sh gr +/Courier-latin1 ff 0.840000 scf sf +(311) 2.500000 5.800000 m gs 1 -1 sc sh gr +/Courier-latin1 ff 0.840000 scf sf +(229) 2.500000 4.800000 m gs 1 -1 sc sh gr +/Courier-latin1 ff 0.840000 scf sf +(264) 2.500000 3.800000 m gs 1 -1 sc sh gr +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 4.783000 3.876610 m 5.596197 3.876610 l s +[] 0 sd +0 slj +0 slc +n 5.971197 3.876610 m 5.471197 4.126610 l 5.596197 3.876610 l 5.471197 3.626610 l ef +n 5.971197 3.876610 m 5.471197 4.126610 l 5.596197 3.876610 l 5.471197 3.626610 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 8.473000 3.921610 m 9.286197 3.921610 l s +[] 0 sd +0 slj +0 slc +n 9.661197 3.921610 m 9.161197 4.171610 l 9.286197 3.921610 l 9.161197 3.671610 l ef +n 9.661197 3.921610 m 9.161197 4.171610 l 9.286197 3.921610 l 9.161197 3.671610 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 12.573000 3.921610 m 13.386197 3.921610 l s +[] 0 sd +0 slj +0 slc +n 13.761197 3.921610 m 13.261197 4.171610 l 13.386197 3.921610 l 13.261197 3.671610 l ef +n 13.761197 3.921610 m 13.261197 4.171610 l 13.386197 3.921610 l 13.261197 3.671610 l cp s +/Courier-latin1 ff 0.840000 scf sf +(267) 6.500000 4.800000 m gs 1 -1 sc sh gr +/Courier-latin1 ff 0.840000 scf sf +(311) 6.500000 2.800000 m gs 1 -1 sc sh gr +/Courier-latin1 ff 0.840000 scf sf +(229) 6.500000 5.800000 m gs 1 -1 sc sh gr +/Courier-latin1 ff 0.840000 scf sf +(264) 6.500000 3.800000 m gs 1 -1 sc sh gr +/Courier-latin1 ff 0.840000 scf sf +(267) 10.500000 5.800000 m gs 1 -1 sc sh gr +/Courier-latin1 ff 0.840000 scf sf +(311) 10.500000 2.800000 m gs 1 -1 sc sh gr +/Courier-latin1 ff 0.840000 scf sf +(229) 10.500000 3.800000 m gs 1 -1 sc sh gr +/Courier-latin1 ff 0.840000 scf sf +(264) 10.500000 4.800000 m gs 1 -1 sc sh gr +/Courier-latin1 ff 0.840000 scf sf +(267) 14.500000 4.800000 m gs 1 -1 sc sh gr +/Courier-latin1 ff 0.840000 scf sf +(311) 14.500000 5.800000 m gs 1 -1 sc sh gr +/Courier-latin1 ff 0.840000 scf sf +(229) 14.500000 2.800000 m gs 1 -1 sc sh gr +/Courier-latin1 ff 0.840000 scf sf +(264) 14.500000 3.800000 m gs 1 -1 sc sh gr +showpage diff --git a/2-dinic/dinic-vrcholrez.eps b/2-dinic/dinic-vrcholrez.eps new file mode 100644 index 0000000..4458215 --- /dev/null +++ b/2-dinic/dinic-vrcholrez.eps @@ -0,0 +1,226 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Diagram1.dia +%%Creator: Dia v0.94 +%%CreationDate: Sun Mar 26 18:47:25 2006 +%%For: bernard +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 195 210 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-5.000000 -8.200000 translate +%%EndProlog + + +1.000000 1.000000 1.000000 srgb +n 7.862959 4.500000 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 7.862959 4.500000 0.950000 3.650000 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 5.070710 1.819060 m 7.498637 4.266877 l s +[] 0 sd +0 slj +0 slc +n 7.762718 4.533121 m 7.233114 4.354183 l 7.498637 4.266877 l 7.588106 4.002074 l ef +n 7.762718 4.533121 m 7.233114 4.354183 l 7.498637 4.266877 l 7.588106 4.002074 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +1.000000 0.000000 0.000000 srgb +n 5.070710 6.980940 m 7.247257 6.986301 l s +[] 0 sd +0 slj +0 slc +n 7.622256 6.987225 m 7.121641 7.235992 l 7.247257 6.986301 l 7.122873 6.735994 l ef +n 7.622256 6.987225 m 7.121641 7.235992 l 7.247257 6.986301 l 7.122873 6.735994 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 5.348959 4.400000 m 7.416489 2.400883 l s +[] 0 sd +0 slj +0 slc +n 7.686076 2.140216 m 7.500404 2.667498 l 7.416489 2.400883 l 7.152848 2.308047 l ef +n 7.686076 2.140216 m 7.500404 2.667498 l 7.416489 2.400883 l 7.152848 2.308047 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0.000000 0.000000 0.000000 srgb +n 7.905600 2.233600 m 11.130797 2.233600 l s +[] 0 sd +0 slj +0 slc +n 11.505797 2.233600 m 11.005797 2.483600 l 11.130797 2.233600 l 11.005797 1.983600 l ef +n 11.505797 2.233600 m 11.005797 2.483600 l 11.130797 2.233600 l 11.005797 1.983600 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +1.000000 0.000000 0.000000 srgb +n 8.033600 4.601600 m 10.947342 4.546675 l s +[] 0 sd +0 slj +0 slc +n 11.322275 4.539607 m 10.827076 4.798986 l 10.947342 4.546675 l 10.817652 4.299075 l ef +n 11.322275 4.539607 m 10.827076 4.798986 l 10.947342 4.546675 l 10.817652 4.299075 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0.000000 0.000000 0.000000 srgb +n 8.097600 7.033600 m 11.322270 7.058710 l s +[] 0 sd +0 slj +0 slc +n 11.697259 7.061629 m 11.195327 7.307729 l 11.322270 7.058710 l 11.199220 6.807744 l ef +n 11.697259 7.061629 m 11.195327 7.307729 l 11.322270 7.058710 l 11.199220 6.807744 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 8.033600 7.033600 m 10.999634 5.125842 l s +[] 0 sd +0 slj +0 slc +n 11.315027 4.922981 m 11.029744 5.403724 l 10.999634 5.125842 l 10.759263 4.983201 l ef +n 11.315027 4.922981 m 11.029744 5.403724 l 10.999634 5.125842 l 10.759263 4.983201 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.905600 2.553600 m 8.001218 3.987875 l s +[] 0 sd +0 slj +0 slc +n 8.026163 4.362044 m 7.743457 3.879781 l 8.001218 3.987875 l 8.242350 3.846522 l ef +n 8.026163 4.362044 m 7.743457 3.879781 l 8.001218 3.987875 l 8.242350 3.846522 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 5.281600 6.777600 m 7.401265 5.038387 l s +[] 0 sd +0 slj +0 slc +n 7.691168 4.800519 m 7.463210 5.310945 l 7.401265 5.038387 l 7.146052 4.924409 l ef +n 7.691168 4.800519 m 7.463210 5.310945 l 7.401265 5.038387 l 7.146052 4.924409 l cp s +showpage diff --git a/2-dinic/dinic-zpetnahrana.eps b/2-dinic/dinic-zpetnahrana.eps new file mode 100644 index 0000000..7c34ed3 --- /dev/null +++ b/2-dinic/dinic-zpetnahrana.eps @@ -0,0 +1,426 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Diagram1.dia +%%Creator: Dia v0.94 +%%CreationDate: Sun Mar 26 18:44:33 2006 +%%For: bernard +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 539 452 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-5.000000 -16.723001 translate +%%EndProlog + + +1.000000 1.000000 1.000000 srgb +n 9.362500 4.500000 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 9.362500 4.500000 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 12.962500 4.500000 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 12.962500 4.500000 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 16.362500 4.600000 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 16.362500 4.600000 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 20.016500 4.568000 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 20.016500 4.568000 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 5.587500 4.400000 0.462500 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 5.587500 4.400000 0.462500 0.450000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 23.497500 4.760000 0.450000 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 23.497500 4.760000 0.450000 0.450000 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 6.050000 4.400000 m 8.875918 4.485311 l s +[] 0 sd +0 slj +0 slc +n 9.250748 4.496626 m 8.743431 4.731425 l 8.875918 4.485311 l 8.758519 4.231653 l ef +n 9.250748 4.496626 m 8.743431 4.731425 l 8.875918 4.485311 l 8.758519 4.231653 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 9.697600 4.601600 m 12.365524 2.397546 l s +[] 0 sd +0 slj +0 slc +n 12.654628 2.158708 m 12.428381 2.669895 l 12.365524 2.397546 l 12.109931 2.284422 l ef +n 12.654628 2.158708 m 12.428381 2.669895 l 12.365524 2.397546 l 12.109931 2.284422 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 12.833600 2.233600 m 16.005083 4.434923 l s +[] 0 sd +0 slj +0 slc +n 16.313146 4.648749 m 15.759844 4.569023 l 16.005083 4.434923 l 16.044946 4.158271 l ef +n 16.313146 4.648749 m 15.759844 4.569023 l 16.005083 4.434923 l 16.044946 4.158271 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 16.673600 4.665600 m 19.706797 4.665600 l s +[] 0 sd +0 slj +0 slc +n 20.081797 4.665600 m 19.581797 4.915600 l 19.706797 4.665600 l 19.581797 4.415600 l ef +n 20.081797 4.665600 m 19.581797 4.915600 l 19.706797 4.665600 l 19.581797 4.415600 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 20.513600 4.729600 m 22.560732 4.754160 l s +[] 0 sd +0 slj +0 slc +n 22.935705 4.758659 m 22.432742 5.002643 l 22.560732 4.754160 l 22.438740 4.502679 l ef +n 22.935705 4.758659 m 22.432742 5.002643 l 22.560732 4.754160 l 22.438740 4.502679 l cp s +gsave 5.000000 6.562500 translate 0.035278 -0.035278 scale +start_ol +5729 6016 moveto +5533 5056 lineto +5124 5280 4670 5392 conicto +4216 5504 3734 5504 conicto +2921 5504 2452 5229 conicto +1984 4954 1984 4482 conicto +1984 3933 3088 3639 conicto +3172 3617 3213 3606 conicto +3548 3506 lineto +4567 3221 4907 2908 conicto +5248 2595 5248 2053 conicto +5248 1059 4456 433 conicto +3665 -192 2384 -192 conicto +1886 -192 1338 -98 conicto +790 -5 130 192 conicto +331 1280 lineto +896 997 1444 850 conicto +1992 704 2496 704 conicto +3263 704 3743 1023 conicto +4224 1343 4224 1833 conicto +4224 2361 2963 2686 conicto +2854 2714 lineto +2496 2802 lineto +1700 3010 1330 3349 conicto +960 3689 960 4217 conicto +960 5221 1716 5810 conicto +2472 6400 3771 6400 conicto +4283 6400 4769 6304 conicto +5256 6208 5729 6016 conicto +end_ol grestore +gsave 23.440000 6.827500 translate 0.035278 -0.035278 scale +start_ol +4867 6272 moveto +4711 5440 lineto +2658 5440 lineto +1992 2036 lineto +1958 1846 1941 1717 conicto +1925 1589 1925 1516 conicto +1925 1157 2140 994 conicto +2356 832 2831 832 conicto +3872 832 lineto +3698 0 lineto +2714 0 lineto +1796 0 1346 353 conicto +896 706 896 1423 conicto +896 1551 912 1702 conicto +929 1854 963 2036 conicto +1628 5440 lineto +752 5440 lineto +918 6272 lineto +1774 6272 lineto +2121 8064 lineto +3150 8064 lineto +2809 6272 lineto +4867 6272 lineto +end_ol grestore +1.000000 1.000000 1.000000 srgb +n 9.362500 12.891001 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 9.362500 12.891001 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 12.962500 12.891001 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 12.962500 12.891001 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 16.362500 12.991001 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 16.362500 12.991001 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 20.080500 13.023001 0.950000 3.650000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 20.080500 13.023001 0.950000 3.650000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 5.587500 12.791001 0.462500 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 5.587500 12.791001 0.462500 0.450000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 23.497500 13.151001 0.450000 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 23.497500 13.151001 0.450000 0.450000 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 6.050000 12.791001 m 8.875918 12.876311 l s +[] 0 sd +0 slj +0 slc +n 9.250748 12.887627 m 8.743431 13.122426 l 8.875918 12.876311 l 8.758519 12.622653 l ef +n 9.250748 12.887627 m 8.743431 13.122426 l 8.875918 12.876311 l 8.758519 12.622653 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 9.697600 12.992601 m 12.365524 10.788547 l s +[] 0 sd +0 slj +0 slc +n 12.654628 10.549708 m 12.428381 11.060896 l 12.365524 10.788547 l 12.109931 10.675423 l ef +n 12.654628 10.549708 m 12.428381 11.060896 l 12.365524 10.788547 l 12.109931 10.675423 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 16.545600 13.056601 m 19.593719 13.027628 l s +[] 0 sd +0 slj +0 slc +n 19.968702 13.024063 m 19.471100 13.278804 l 19.593719 13.027628 l 19.466348 12.778827 l ef +n 19.968702 13.024063 m 19.471100 13.278804 l 19.593719 13.027628 l 19.466348 12.778827 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 20.513600 13.120601 m 22.560732 13.145161 l s +[] 0 sd +0 slj +0 slc +n 22.935705 13.149659 m 22.432742 13.393643 l 22.560732 13.145161 l 22.438740 12.893679 l ef +n 22.935705 13.149659 m 22.432742 13.393643 l 22.560732 13.145161 l 22.438740 12.893679 l cp s +gsave 5.000000 14.953501 translate 0.035278 -0.035278 scale +start_ol +5729 6016 moveto +5533 5056 lineto +5124 5280 4670 5392 conicto +4216 5504 3734 5504 conicto +2921 5504 2452 5229 conicto +1984 4954 1984 4482 conicto +1984 3933 3088 3639 conicto +3172 3617 3213 3606 conicto +3548 3506 lineto +4567 3221 4907 2908 conicto +5248 2595 5248 2053 conicto +5248 1059 4456 433 conicto +3665 -192 2384 -192 conicto +1886 -192 1338 -98 conicto +790 -5 130 192 conicto +331 1280 lineto +896 997 1444 850 conicto +1992 704 2496 704 conicto +3263 704 3743 1023 conicto +4224 1343 4224 1833 conicto +4224 2361 2963 2686 conicto +2854 2714 lineto +2496 2802 lineto +1700 3010 1330 3349 conicto +960 3689 960 4217 conicto +960 5221 1716 5810 conicto +2472 6400 3771 6400 conicto +4283 6400 4769 6304 conicto +5256 6208 5729 6016 conicto +end_ol grestore +gsave 23.440000 15.218501 translate 0.035278 -0.035278 scale +start_ol +4867 6272 moveto +4711 5440 lineto +2658 5440 lineto +1992 2036 lineto +1958 1846 1941 1717 conicto +1925 1589 1925 1516 conicto +1925 1157 2140 994 conicto +2356 832 2831 832 conicto +3872 832 lineto +3698 0 lineto +2714 0 lineto +1796 0 1346 353 conicto +896 706 896 1423 conicto +896 1551 912 1702 conicto +929 1854 963 2036 conicto +1628 5440 lineto +752 5440 lineto +918 6272 lineto +1774 6272 lineto +2121 8064 lineto +3150 8064 lineto +2809 6272 lineto +4867 6272 lineto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0.975875 0.112764 0.032090 srgb +n 16.163919 9.649882 3.439993 3.439993 87.657866 147.036577 ellipse s +[] 0 sd +0 slj +0 slc +n 13.132801 11.175720 m 13.556586 11.540284 l 13.277703 11.521594 l 13.095421 11.733486 l ef +n 13.132801 11.175720 m 13.556586 11.540284 l 13.277703 11.521594 l 13.095421 11.733486 l cp s +showpage diff --git a/2-dinic/dinic.dia b/2-dinic/dinic.dia new file mode 100644 index 0000000000000000000000000000000000000000..2e5ec4493ad4768c8c0b8700085ea79a22e49629 GIT binary patch literal 11124 zcmV-)D~r@0iwFP!000001MPj?a$Gr*-u*mORtbujX&tG=tgOl}e}E4k{`p`2{`KO` z?`PLH=U10MzlFiPeRFpC@#@q0<(Hq|{_p?zZ|~yUfBEGv|NQCv^qD2K*XJL8yFGhzdHVJ2=eHkDKmP5@_0?~epWcqInqK$u>f-A9&F`ld zKfnF!=ltvKPt%Y2>E6$I%Y3cj&EuDgYD0nd!vg+Zoi&he>uN=XeWI(7vl$k zLqx>%VR(*gf(x+zOrCG3=Hy^xw~K&Ocn7&At2c%iC%{{?9r;e)rqS*?arX3!`EDX^Z9IQ#|u$ z{`uwM%WvnO&ThUFX7^vS@RNR>UiQ=XKK0$#J@tbb|7fRJXA>8vf1X`WKmLDS{p0l0 z|NGCkZ>Dc|N;h{tf~ybz=j`L{W^~*FJXM_B2R%Tc5qfO0={k6x1s*H~4-QOi zz>_S&UGUh!#Wi@yuqJq_IQbgE6Cqnei^(qb(zA%3|9Ww8{w@8`hX}Hz2;u=xXxKOV zKe1^8FE&;H@;k7DDqPAudJ0ZpU~})6Q-nzv?0sXQRcyK9u>gliPCLBB3b--AT>h0TkdrLDIl5|3G zg($z53`SA4sVw!ZhuJ2~LTQ-!G+dxRVcjg|Q`H)+q|radkn)%rNHfTa{d(He!sF1g z`QAY>%FJ#^TWS?%u{fKhk;}^05p~m<9fGXM4ngvn%MU5if^tGDcJ7J6_RO#URR`OD zKfj!dG%jD%3t}IaEU{s8-k}jCSnUK^3MU zk^$-1Ife{V1P{4=Gho$WI^*MPF@^jp?C3mdbh-yoF!OI=`nUG}zm2VsjTOi<5h14D zkbn(oE@LJX`!pkk!Fv-(mdk-;y&Th=;e#@|7yX=hX__F7werRYuovMYgSma7ez|zF zR5maR3eVF(3WGtGQPFbnekDu6K$y)2qYl!C9?rtkW0bcT`ZRm&=ya{n>1q_xscMA1 zN4F;zQi~*QGT0cUkeXE6#BwzI&e6{*q_ciLQb^Od-3#ffglZ-9l<%Xv!A0Ms4NaD0 zs7!6Bi#D~P={Lfs5L7W~51EU8&b%}X!05+iqmG_qD|GIK+EA(mRVe^*U+(FXp=x~) zOBjO_sDh=;uu9L=2&xbKoQ0~19>$mUp7h9}+HBc2RDfz2OB?FKl-SBZ<^p=i71em# zYG$1CalV>Dkku!lp>%{EHA0(Bjm4yx6qeJnWYF$=lZgN!SwcX!LP#?iz)6%x^-{Xz zS!vUEHi0(j*SZG13zb=3UV}bTovve z@3BL*)l7=TRH77@!Hyg8F{pOD$r2GjUTY=mg$!c>mv;Rwyr*M!><0Tlo}qAtRz(EIaG*ba2nQw|Fe1Z;=B_t#*g`QNuhGz}(k{ z`G1`K{dNxKuKY}J$VYTB6)x00796Itz;al3B`0-4R%zMa?yY<%-;s{odCijWPS)DJ z_qrWf-kSwg-bbV?mvm9DE^p^7$)CUZeERkL;?MMkPA_lXzPY*mQ-Ul7*Z5EW{p{lR zv)l8Jr*}j1`S0MtdC)mM+cFdPgYG$jw~w`5QKm)N=exp8`xrXCIRA3_^=$qN+~(S+ zTA9`BtV7^hN*Kiiu2h{7$1l#KD*bU|2?huukM%K(Ib(mzEpx_g&lz=d#$xRCq@l_B zL^`Zxdk?usM{BJt+k=73VrIXuWtC-nS-u$87N{@V_htKP`Yl+@CW`|{q!Sd83)Pt* z8M31x3~45i*&siMfdZ;31=nz~OH*xQE>;k6^lgGpEZvJbH$Ce|T@@#L*lokEobKZ{ ziNGm`o!=xoo5L<_l3maayBbdRu-mF3m(y4{^@%ZmBXY5XX4r8GuhEjrTr-%Sg&!St z!>)#tJ?yq&2jz>s#2!x2YA3s7$c=__uA@|0)2JgGJIbl9hKF4Z@@~*!1vyB9K=Pdg z-CUO}cp5EH&UJ2jcKKOZ7P8#Qt_-<}I$Pnso9M{N7vjCMy7%1xx%Ab;fGH2i6br_W zQMh*wdWM+Qf}gXRbKn?G@_u_?Z#ptL4S1Oo7uHonsvCg!Jw^C*q*Bb55W^|~BKVjr zQ|e2AS|N4U&pD*}$bwW+w(dwhZltzibX#AJR6>)R>ljqWhkQo?jct4YOh9E0lp8r0 ztiImzyqj}49hY$Iz@cy996L~-#rwqYGD4A-D(G90aZcJq%b+Y2=`H1k)S|UngU;o0 zOreFm)x4Xt@>VW-&V54cFh4Sw;|uAk+fYM^E|%7xry?~1uz&@E0YNHp%$>AxwuKVi zte>+`wP5la^?k-Ya-_C8wrpdynktw1S*Kl7ZOBXSk)t3r(m3N1I%ri?cl~^%sOD>Y zI#iDvs?CO6t{|m_joM!~K!&QczlMboU?GM)<&r~vIW2r@|4Y-Ho2q@EbB_klBqsKWHorzMCFezJh9&^CtI&e(#%0o~oK<1LwBV1F?|Z6GZctEIMc)dO7ds zEHyqj&J5+~jqO-HGM1DnSUtA*GP;+JYRKc|!)oh!4yFs$Dmvvd)}o@PL6yDTR&*L7s&5l5`uRvjm-Xs>^|d?D z4+ZF<1n8}lFkLJ^9PRTVWg3jtJsa((!_ZRAX>j?lLD=7Fm%%(}8O+(J>wgS@{_FL}Ii!};%)+4be>%TOpYg}DN7ZZ` z0HoAI-UG75o+n-p$qgFiiE=?Jvys%(7Vi_K`&3gQ4#61A72Ueb`i!2{R|J>*oJ}cY z(dNS>UN=uf_-LYTp1=WuOC3s@%!6YSV$TwIJ{8@YGaA<43&l`x#ICVV(yn+l6D%@Jn34jvs-bK~goh+H)GP07X z6~@$U6P;L_PuS>RUqA2X%u7QWXHyEWn7Ryi=qVr#=O%dI&9CTsQaJ9U5Gy7Hr#p#@ zC7|3Fprf1=Y-Y|U%h9-YNx^+*6i;sqNILqIwUk%v+9U;^=5US}W1y6l_gy0FN#RhE z0w2z1pIE{KOGvdkm8+Gklx3E^yaVH3&t{*jJLLRfjv^_DJcqFXEJqWqT-nm+hrX3q zF9(r1tV6|F*V&{7MV14u;|@I#itHZ1bw*5iD4k0i3~|tr`Yr(0QAIVboy*sgTKf}H(#V0Zv0N0i z3O9p?^p!LSJF$e5r5tu{d~OhSRh;Z$w+*`*{4JQik)RxQG-fxkl*2A=vK?rLT@5FD z*lokk)wmhln(-TP9+YnekE12IGdbT3F3&E@4}kW~;Kfe%u-k^6FF*VqqYQeMwX&J22frJ5RN;2;2;k-G2df%*qFO?uB@*r_>_suii!QGMBtijf>YDjc{|QO7uyVteoMsVQ?Jmc<~x=w#?k%;Ck(pukfp4{0ho?sx`yCmpU;kEKHH2~q%4rUAcYvP zeCarh3%DpZPLt}=@nlKVh?rJ1(73u`3oLi_)Pq(}U5LG|im0id8f*pqR2;uI@{V*B zRB=oh);N+y|LAkZ*xzm!Q9W!C)!D%72}60SFt}R$L+1xWu?7E7EJ57z4?PYJViW#h zk&~Sou?;(4i+`vec5D9OChR8uVS})%;$#oIZP-yQ{$ct?KsoFt{-IdPVHY>q&TEHV z4JUipZNo0q;2*Nf-v}C`%s-57v;^K{{$YNWu=7Tpe^~5f54&yH#ajGB7qzq9ntv#k zB-?HHhn$~V@DGce?EJ&KfydSOhfy}5oA3|g;6l8^Kji$}gnwA#Wal5Qqb{0i{KGg9 z#1{O+WC>H!+42uLJ##bu;jW*L@DJk<_Wnrv{?=>dABI@KKMd|=_=gdy@egA{0=M8F zI_Wav9sXgm%%&OtaM#ae{-LAPulmlRI$9P;#0nfLYj}*RXq7os=o!S4bxirD4Q4B4 z(t1Ps9IAOg=QVco)SOs{AsHt>|how!D!O-%S`>37ghz8CxC-EO*A%5iqtM#9k+0Xfn2VMNW1a$TsX^Ev}_}BN3?q*HSE5qz%_Hg`KrXEx49NPWG_d zh8On(1vT7!cG*&TW~Floa|w@4LhjCwe&%b8BhbRr6;*tj5b_LpYIx@7F^3B zCp*{jZs1`pu4Vd8Y)}onHP=!sVWbV$(#QPVf@@jiWanCLqR!UhTBa|=k!sYfxt5Z1 zNF?AUuB8`UDdt98%Ljfgb1lyF$)Ot4k_WN?4Vab*o0zb$VOpk^bbrg8X?YAx%iY-P#3@at zCC6G!OW8Of&}Ukvl;P7rxn^3DDX`m_mPf#}+zq^*Fcg`V%(a-7(kPRvnC6;kDZ}%I zW+_cKuy4e(eBk6V&oaHs;P+hz>^#f9 zyI03M1Q-IQ&u#OI+C`f!UkxSW{RxS5i8Ald`^k{Wv_mf!n-k|pUDjc_hn;kIFX~(k zA!S(z=fSWp$(mB_9Su1{t6YlRNig|QTSd9l!_GL|hMX^_99s7BjYJt@oGRte$|<=M zqJiuv?`VK>DD0hpp20X=aC7dcT|jT)gc2zBUR>^d>1$;iN^@{;ixwM^DZo%Qu<}3& zOUhvN4#bl80W(-F!byEMar;ouyLCFd*%deX#((zwa9e(9O_ za~3`h8OE2|4xb~24_08b_^itl22?)6EO2olTQbJ2Aa!uWoL2|Ee&@F2=e%r{^>M5| z=sJ9k>ui^7@ZMXbFs&9Tz*ayjnV9Df^xFJ0pSRC=FgBu~6+u=hWOLc-gLU4`$9AH< z>nEm<9;>z)R$UFO2Fwjx3{e@YWX3fRXFcS~8rQ92bPd2d>*u4DHToDkT8|v9zR|I1 z0AJ1&bi&w^*)Av_n;s2`AXYv#ZDrq0X2{SFP5+RGrso5%AA!_7GYvo$Se{O{($Y7V znpM!Hd5)G$YKJ4_vmlOg(%9c}KR12ANnvBjGL#$OpnV{LIoLcxQw%I@ zB010%?7$xMiGQ$F#z%gluxhi1HqBAiKyB59xDO0!O5WnROAzKL$m}FMHe#- z5ZSgt>aLe_NF`@R-Vkfc`Su zyqmM#q4$NSvpQA}W|gfOR?*bhZN`xTGc%&B(P`=knU*` z52GavL@U7YIZ^>3{)rMAHJtq6ZYf;M*{)oeDxfDgi6&oKs;W&z-f=dBj^+C47>Q1z z@M9?`C+$TyXCf42lgY^&Gm$%u{D?aqUkyE8*226ldP0VeOYMgf^tjaXh~e~zt+Z5{#BGSz3XpqNdqALVng> z8DH{q=B2XDhJ_zVZ$A$KKCuFPNH#}hR8c-_ku2GeD~t!5;R7z_AxWQCwdm$7dW^K6 z>6Osi&koNLcya}J23h}2!;n|6Zoyz4&{8891fJ^!J!826KIi?M#ix_C76010&yJqD z=&`0+achAd0(NRiM{Kj*94xH4%wdX9WQ$(BpRU|wm@_cBCO-A}>+ z!eq%Jt>hXad6ugu{J#A5C+;WJaPshPpIADh^lJ+052qjh_T~EOx64nv20vU~U7Vd> zjy6A^UZhBDQyj3`!U3cPN4q#cBrEechag*}z$WAg!&=*F-C) zeA|lc*xxA2sfgenft8>PavV$YT8vgKTXdwpZ8h)a{HnOcyuyH;sdMa|RWWJeooIN4 ze9x9a&5I1)$?fvlko6c>?_7RNZ50GnmQD=^f4D2X7V~v6&EQ=c4fBy3S#{OS*U6Av zVV@8CnBeT{9f*vtK{;|AoO;Gya&+dEm_}h6@=@?W{1O?vR(Mc_@USLKw-_jghYjhM zs5^%Uv`XIs&~z_?P2kcGk6A}&!vk&1Z!~&1=JE!h~IRF(W3 z@gvb{_ui>>uZ6*Nf?|c>lqq`ZV4f#~3u*rerAnqEQ&fvR}C@ea7S2 z`F-U#KAipI{dcq9l8+Bxi3tHF-^T5}`%0W-K+_oc=qug$$~;)^`w5R2elO8+v%G$4 z9=wg&zk4>@D=YCWn{|CbxaETIk|L%n-c7+1R^5OcIM~!$Fbt4>vr3ImGAMj6|N12` zkwRM$%&%9MS2y2IKb~!rFwI&C^S@mEcAbiXz7A&UL9~@H@5fx1ztl|;u0o2?JRF#Q zyxSxPBuojyA4r0*06jtIBnaOVM5_ehDecQ8Hjwrv!#3|mcJ$~&Ia z*CBrB+|bu5Tjd5aHF5(g=LXp6AF!`O{O~!VuT?h75l|yXSmhjnoBqKbME}s&AM|oV zU!$y@8y=CYr1A@ePQZYwjvxDELjJQ7MK5_s|MjYOW9{$LQ*;QU*{IrZl@M zn3kF;qLMAYuSz+-;9h{i_@EwO`Vscb@BCFq*wT?qDkpReA+mS*E0^2VG}QldhzUbzhSO9y9An(&f=6)>m^&QLHG&Gl&DaH~cZXUF~>%V#PYXZ^K zF5X^E75~ll@6$)NYwW>~tp(O{W|h><9K%j^K~wHtgVxXtt;Ou3RMZSflScrmry`B_%wh-tcopSZ-eB{*1?tz3%sV-E->Kieu(!O& ztKmbj{086<#z-NjdjD@Q0Z_*B($49Gv|L>fWv$y|(g;+K{ci_CX`Uac& zX7ATG)2zM~vtA0uqbI64vh(D|g+mtwpl0j}<(@6=o7Z-{TUub;drt0{JQz&cR+tQ? zyywL2I0R9(?L>oSESDHEI;|xhEk{sqI~V+Xyn^-#@%Yi|Yom3E_Yt7R#;(=f*rmAM z&Lv*KKt4kz?mHK@WPseX<$v6qUfyh|A8}3n`1iAm-_LH(Kc2QAe|UBB$Nhlo&EiGPIyq!97<(GgO(PW;TRaWdW^kap z&CD*R5gwv9Zk6f{tSv`>0KJDX&@+j8H?kCuJ(K8W5?`SqVKcS`)+sk6lO@?$OASd# zo$HiYLO6tm#DM9Uq(M(IACEng=w^~)>Kmnj!{E4z?{y`F?^rVEQzqe@N%GHC_#IaH=?-L(XM zE&iIDaL3?;JlZ>ERHa z0WswV3M-T5_sFB==z{VQnq@~HzSazuor`kzjzp@ZAEG%jnT6CWyo_W~bQJ(gcHJo$ zj=F#)_STQ4EGNYJ;20%;bLw=XK4ceMor7$yEH1xx@6ysCdoYk~rehR+#Tpw22c%tN z!DBXMofO$<2z-Jpq~B6(S7moxorA15$e!|BOK-YE_Q)aIOw1@2^RJ97-;Cvi2K20Y zYSpnNg4`Ad&nr7HClF`T!D|b7E_*t+yu~i&@?Y?wbif{ftWhlH9k~I)(ikfibcIvE zWv#vxl+Lbbh=J@_0a07mXwl2LwGU66-)F&~-NEx}g&88gkhD>Z<<+jn@btuLXQQ>i z)9Ry7aP{dKvgu$@z1l5#`q*M+!Jyp%doX})rh62*9I#!!k!PnDd+wKr< z@a^<^^-QuHkUf{^=8_5`YYxLy1ejIZk*y);Qad7gNHlKHanB+>i!6p>&mp=wq?kvC zgPp#(n3@B{9I`bO2I3VC6xMd>07jaAWLQ0iEQMmvA-Xw)$|V||!Koimy>IQVAtN`6 zhG_^+oomk_J%=oZV$UJEIV4n29T>kjFuHxn#*nPO3o+RFwcSJLL;5V!LU3R<6nhTQ z%^}5<%Xe~3n`6w_Rz4H7H5G?Qw0dWT5FNvqSRznwM|vuGBqDn<(KsCCmFeP(xr;00 zE{AAF5;d@H>RMY8!H89QHeqeqbI)5nZ!Je-Pg}~WH)u?`IyDeBQN2l)0Pm>Yq=p%6 zXrg*k#mTO>bT9JCFQd)hN{h&Y9D3WxL$iKXkGv{QcDWaqoO(s61($b#RCs4Jlf6>44i%=FY+myFnr zwvvFt$5z@(i+(<~F4?7(egw4IW@wES(CVg{Nmp1&7G%kVjjmF{gyV_IrLU{B5@tc7a1=EU+0}@a&Hk#g{^-_(=8Un z%3J>~<&80I5XsiR$y@&^ZFuO4N6qVLr19}8`RGs3$fUfh;9d7#~aj42~) zCjkw9vU(8GNxcJU(SghbVoxBt38b7)34>^8(WH%?ESZ#YmYJ*`gkVx{d|G6zxj^jsN?WxCiW#p6Lx4$` z-e@w{k|CnekoR$gn1-ma5lWAmk~K9v>{>~8qYjG+leSgV+51svae7pbI@>PlegvH) zEGFBfgyW4LzmZ@y+ofd5*@&Y~l3k%6*o8?b$!H5DExI}LQju{&o>s)WP|~rfIi%*` zWrUItD}a^U*c})jb+PKF^R3J*SdD(V)EZ3G$Lg$?vrrwYN!-7hbfg{(Qk#h+p{-X| z<6r}6msR4?k_jtJRV&Id(vgqatgi0(IS)J(2~x( z`B+^on5a8g4+gBwv@_}Tt*mAIwl35o=`TbB1cpu*LKsq=76S555v=Z- zja?b3^I8|;u;&lm{85AJMS0qm)4jTj3L8r_xR6qa9fF-KJ3I(+q|T4m&m&9m*fWW4 zCcz4wNH8?X(s`y??Lo?koi#TDMUAgl(Q<`0M7ah zZRMjr8%v_nNOCL>c(NSALC7TaJffdRmg2Ez5`|MwXkSPt$(D0W?GV=sA)va5yD^l; z>{W_SUeDUzAHo7mpP%%T)3?6YPrv^1m;VnP3*NM* GQv(2P+TD}@ literal 0 HcmV?d00001 diff --git a/3-bipcon/3-bipcon.tex b/3-bipcon/3-bipcon.tex new file mode 100644 index 0000000..99595a1 --- /dev/null +++ b/3-bipcon/3-bipcon.tex @@ -0,0 +1,116 @@ +%%%%%%%%%%%% +% Zápisek tøetího semináre z grafových agoritmù - ze dne 20.3.2006 +% Zapsal Jiøí Peinlich - peinlich@seznam.cz a Michal Kùrka - michal.kurka@gmail.com +%%%%%%%%%%% + +\input ../sgr.tex + +\prednaska{3}{Bipartitní párování a globální k-souvislost}{zapsali Jiøí Peinlich, Michal Kùrka} + +\h{Maximální párování v $k$-regulárním bipartitním grafu} + +\s{Operace Degree Split} provádí rozdìlení sudì-regulárního grafu na dva +podgrafy s polovièní regularitou. Operaci Degree Split definujme na +sudì-regulárním grafu takto: V grafu najdeme eulerovský tah. Sestrojíme dva +grafy, které budou mít oba stejnou mno¾inu vrcholù jako graf pùvodní a ka¾dý +bude mít polovinu jeho hran. Mno¾inu hran prvního grafu budou tvoøit sudé hrany +z nalezeného eulerovského tahu, mno¾inu hran druhého grafu pak hrany liché. Tuto +operaci lze jistì provést v lineárním èase (v lineárním èase najdeme eulerovský +tah i rozklad na sudé a liché hrany). + +Dále budeme pracovat s $2^d$-regulárními grafy. Operací Degree Split tedy získáme dva grafy, které budou $2^{d-1}$-regulární. + +Provedeme-li operaci Degree Split $\log k = d$ krát (polovinu hran v¾dy +zahodíme), získáme 1-regulární podgraf a tedy párování pro zadaný graf (ve +skuteènosti mù¾eme graf rozkládat na párování a vyrobit si 1-faktorizaci +grafu). Slo¾itost nalezení párování bude tedy pro $2^d$ regulární grafy $\O(2^d n +d)$. + +Pokud zadaný graf nebude $2^d$-regulární budeme muset pøidat hrany tak, aby nový +graf tuto vlastnost mìl. Operaci Degree Split pak budeme provádìt tak, abychom +se k párování blí¾ili. + +Místo toho, abychom do grafu hrany jen pøidávali, budeme v pøípadech, kdy je to +mo¾né, pouze zvìt¹ovat násobnost hrany. U ka¾dé hrany si tedy budeme pamatovat +její násobnost. + +\s{Degree Split s~násobnostmi:} Pro sudì-regulární grafy s násobnostmi zavedeme operaci Degree Split takto: +Graf $G=(V,E)$ rozdìlíme na dva grafy $G_1$ a $G_2$, bude platit $V(G_1) = V(G_2) = V$. Hrany nyní pøidìlíme následujícím zpùsobem: +\algo +\:Pokud $e\in E$ v $G$ má sudou násobnost (znaèíme $n(e)$), umístíme ji do $E_1$ i do $E_2$ s násobností ${n(e) \over 2}$, v opaèném pøípadì pøidáme do obou grafù hranu s násobností $\lfloor {n(e) \over 2} \rfloor$. +\:Graf se zbylých hran má v¹echny stupnì sudé a je bez multiplicit. Provedeme na nìj pùvodní operaci Degree Split a rozdìlené mno¾iny hran pøidáme do $G_1$ a $G_2$. +\endalgo + +Celý proces lze stihnout v èase $\O(m)$ ($m$ je poèet hran $G$), nebo» v první èásti u ka¾dé hrany pouze zjistíme, zda má sudou násobnost, pøidáme nové hrany v konstantním èase (upravíme násobnosti), a v druhé èásti se provede Split, který má té¾ lineární slo¾itost. Operace Degree Split má tedy slo¾itost $\O(m)$ i v grafu s násobnostmi. + +Mìjme nyní $k$-regulární bipartitní graf. Zvolme $t$ tak aby $2^t\geq kn$. +Zvolme dále +$\alpha := \lfloor {2^t \over k} \rfloor$ a +$\beta := 2^t \bmod k$. +Do grafu pøidáme hrany a upravíme násobnosti hran tak, aby byl $2^t$ regulární. Dále pøidáme triviální párování ($i$-tý vrchol vlevo se spojí s $i$-tým vrcholem vpravo) s násobností $\beta$. Tuto mno¾inu hran oznaème $F$. Platí $\beta < k \Rightarrow \vert F \vert < 2^t$. + +Takto získáme $2^t$-regulární graf. Na tento graf budeme aplikovat operaci Degree Split a vybereme si v¾dy tu polovinu, kde bude ménì hran z $F$. Tímto zpùsobem budem graf dìlit dokud budou stupnì vrcholù vìt¹í ne¾ jedna. Tedy $t$-krát. Poslední takto získaný graf bude 1-regulární (párování). V ka¾dém kroku se zbavíme alespoò poloviny hran z $F$. Provedeme to ceklem $t$-krát a tedy výsledné párování bude perfektní párování zadaného grafu. + +Slo¾itost algoritmu je $\O(kn \log n)$, proto¾e inicializace algoritmu se dá provést v lineárním èase, provede se $\log (kn)$ iterací po $\O(m)$. + +\h{Algoritmy na hledání globální k-souvislosti} +\s{Hranová k-souvislost} +Problém zji¹tìní stupnì souvislosti grafu lze pøevést na problém hledání minimálního øezu v~grafu. Algoritmus pro hledání minimálního øezu lze zkonstruovat napøíklad tak, ¾e pro ka¾dé dva vrcholy $s$, $t$ zjistíme minimální $st$-øez. Algoritmus mù¾eme zrychlit, pokud si uvìdomíme, ¾e jeden z vrcholù $s$ nebo $t$ lze zvolit pevnì. Pokud pracujeme s orientovanými grafy, musíme projít jak $s \rightarrow t$ øezy tak i $t \rightarrow s$ øezy. Algoritmus bude mít slo¾itost $\O(n^{{5/3}}m)$. + +U vrcholové $k$-souvislosti to ov¹em tak snadno nepùjde. Pokud by toti¾ fixovaný vrchol byl souèástí nìjakého minimálního separátoru, algoritmus mù¾e selhat. Pøesto ale nemusíme procházet v¹echny dvojice vrcholù. Staèí si pamatovat, kolik vrcholù $s$ jsme u¾ pro v¹echny $t$ zkontrolovali a nejmen¹í zatím nalezený separátor. Kdy¾ bude poèet vrcholù vìt¹í ne¾ nejmen¹í separátor, tak u¾ jsme jistì na¹li jeden z minimálních øezù. Slo¾itost takového algoritmu pak bude $\O(\kappa (G) n^{3/2} m)$, kde $\kappa(G)$ je stupeò souvislosti $G$, který hledáme. + +Bez tokù se dá ov¹em najít hranová k-souvislost efektivnìji (i v ohodnocených grafech). Uka¾me si, jak na to. + +\h{Algoritmus pro nalezení minimálního globálního øezu v neorientovaných grafech (Namagochi, Ibaraki)} + +\noindent Zavedeme znaèení: + +\itemize\ibull +\:{$r(u,v)$ buï kapacita minimálního $uv$-øezu} +\:{$d(v)$ buï celková kapacita hran vedoucích z $v$} +\:{$d(U)$ buï kapacita hran vedoucích z mno¾iny $U \subseteq V$, speciálnì $d(U)=d(\overline{U})$} +\:{$d(P,Q)$ buï kapacita hran vedoucích mezi mno¾inami $P,Q$} +\endlist + +\s{Definice} +{\it Legálním uspoøádáním vrcholù} (LU) budeme nazývat lineární uspoøádání vrcholù $v_1, v_2,... ,v_n$ takové, ¾e platí +$d(\{v_1 \ldots v_{i-1}\},v_i) \geq d(\{v_1 \ldots v_{i-1}\},v_j)$ pro $1 \leq ii$, $v_i$ a $v_j$ jsou oddìleny øezem $C$ a $j$ je minimální takové. +\endalgo + +Ka¾dé $u_{i-1}$ je tedy buï $u_i$, pokud jsou $v_i$ a $v_{i-1}$ na stejné stranì øezu, nebo $u_{i-1}$ je $v_i$ pokud jsou $v_i$ a $v_{i-1}$ na opaèné stranì øezu. +Dostáváme tedy, ¾e $d(\{v_1...v_{i-1}\},u_i)\leq d(\{v_1...v_{i-1}\},u_{i-1})$, proto¾e buïto $u_i=u_{i-1}$ a pak je nerovnost splnìna jako rovnost, nebo je $u_i=v_j$, $j>i$ a nerovnost plyne z LU vrcholù $v_i$. + +Chceme ukázat, ¾e velikost libovolného øezu je alespoò taková jako velikost øezu kolem vrcholu $v_n$. +Platí, ¾e $ \vert C \vert \geq \sum_{i=1}^{n-1} d(v_i,u_i)$. Uká¾eme, ¾e pravá strana je alespoò $d(v_n)$. + +$$\sum_{i=1}^{n-1} d(v_i,u_i) = \sum_{i=1}^{n-1} d(\{v_1..v_i\},u_i) - d(\{v_1 \ldots v_{i-1}\},u_i) \geq \sum_{i=1}^{n-1} d(\{v_1 \ldots v_i\},u_i) - d(\{v_1 .. v_{i-1}\},u_{i-1}) = $$ + +$$ = d(\{v_1 \ldots v_{n-1}\},u_{n-1}) - d(\{v_1 \ldots v_0\},u_0) = d(\{v_1 \ldots v_{n-1}\},v_n) - 0.$$ +\qed + +Dokázali jsme, ¾e libovolný øez separující $v_{n-1}$ a $v_n$ je vìt¹í ne¾ jednoduchý øez skládající se jen z hran kolem~$v_n$. Kdy¾ tedy sestavíme nìjakou LU posloupnost vrcholù, budeme mít k dispozici jednoduchý minimální øez $v_{n-1}$ a~$v_n$. Následnì vytvoøíme graf $G'$, v nìm¾ $v_{n-1}$ a $v_n$ skontrahujeme. Rekurzivnì najdeme minimální øez v $G'$. Hledaný minimální øez poté buïto oddìluje vrcholy $v_n$ a $v_{n-1}$ a potom je øez kolem vrcholu $v_n$ minimální, nebo vrcholy $v_n$ a $v_{n-1}$ neoddìluje, a v takovém pøípadì jej najdeme rekurzivnì. Hledaný øez je tedy men¹í z rekurzivnì nalezeného øezu a øezu kolem $v_n$. + +Zbývá ukázat, jak konstruovat LU. Postaèí hladovì: Pamatujeme si $\forall v\neq v_1 \ldots v_{i-1}$ hodnotu $d(\{v_1 \ldots v_{i-1},v)$, oznaème ji $z_v$. V ka¾dém kroku vybereme vrchol $v$ s maximální hodnotou $z_v$ a prohlásíme ho za $v_i$ a pøepoèítáme~$z_v$. + +Zde se hodí datová struktura, která doká¾e rychle hledat maxima a zvy¹ovat hodnoty prvkù, +napøíklad Fibonacciho halda. Ta zvládne \ v~èase $(\log n)$ a \ v~$\O(1)$ +amortizovanì. Celkem pak ná¹ algoritmus bude mít slo¾itost $\O(n(m+n\log n))$ pro obecné kapacity. + +Pokud jsou kapacity malá celá èísla, mù¾eme vyu¾ít balíèkové struktury. Budeme +si udr¾ovat obousmìrný seznam zatím pou¾itých hodnot $z_v$, ka¾dý prvek takového +seznamu bude obsahovat v¹echny vrcholy se spoleènou hodnotou $z_v$. Kdy¾ budeme +mít seznam seøazený, vybrání minimálního prvku znamená pouze podívat se na +první prvek seznamu a z nìj odebrat jeden vrchol, pøípadnì celý prvek ze seznamu +odstranit. Operace \ poté bude reprezentovat pouze pøesunutí vrcholu o +malý poèet pøihrádek, pøípadnì zalo¾ení nové pøihrádky na správném místì. +\ i \ pak budou mít slo¾itost $\O(1)$ amortizovanì a celý algoritmus $\O(mn)$. + +\bye diff --git a/3-bipcon/Makefile b/3-bipcon/Makefile new file mode 100644 index 0000000..431d8df --- /dev/null +++ b/3-bipcon/Makefile @@ -0,0 +1,3 @@ +P=3-bipcon + +include ../Makerules diff --git a/4-ght/4-ght-g1g2.eps b/4-ght/4-ght-g1g2.eps new file mode 100644 index 0000000..726a0a0 --- /dev/null +++ b/4-ght/4-ght-g1g2.eps @@ -0,0 +1,743 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Ipelib 60023 (Ipe 6.0 preview 23) +%%CreationDate: D:20060422113939 +%%LanguageLevel: 2 +%%BoundingBox: 48 274 523 331 +%%HiResBoundingBox: 48.2757 274.484 522.945 330.54 +%%DocumentSuppliedResources: font CQTWIJ+CMR7 +%%+ font CDOQAH+CMR10 +%%+ font XECCSK+CMMI10 +%%EndComments +%%BeginProlog +%%BeginResource: procset ipe 6.0 60023 +/ipe 40 dict def ipe begin +/np { newpath } def +/m { moveto } def +/l { lineto } def +/c { curveto } def +/h { closepath } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/d { setdash } def +/w { setlinewidth } def +/J { setlinecap } def +/j { setlinejoin } def +/cm { [ 7 1 roll ] concat } def +/q { gsave } def +/Q { grestore } def +/g { setgray } def +/rg { setrgbcolor } def +/G { setgray } def +/RG { setrgbcolor } def +/S { stroke } def +/f* { eofill } def +/f { fill } def +/ipeMakeFont { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/ipeFontSize 0 def +/Tf { dup /ipeFontSize exch store selectfont } def +/Td { translate } def +/BT { gsave } def +/ET { grestore } def +/TJ { 0 0 moveto { dup type /stringtype eq + { show } { ipeFontSize mul -0.001 mul 0 rmoveto } ifelse +} forall } def +end +%%EndResource +%%EndProlog +%%BeginSetup +ipe begin +%%BeginResource: font CQTWIJ+CMR7 +%!PS-AdobeFont-1.1: CMR7 1.0 +%%CreationDate: 1991 Aug 20 16:39:21 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CQTWIJ+CMR7 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 50 /two put +readonly def +/FontBBox{-27 -250 1122 750}readonly def +/UniqueID 5000790 def +currentdict end +currentfile eexec +d9d66f633b846a97b686a97e45a3d0aa052a014267b7904eb3c0d3bd0b83d891 +016ca6ca4b712adeb258faab9a130ee605e61f77fc1b738abc7c51cd46ef8171 +9098d5fee67660e69a7ab91b58f29a4d79e57022f783eb0fbbb6d4f4ec35014f +d2decba99459a4c59df0c6eba150284454e707dc2100c15b76b4c19b84363758 +469a6c558785b226332152109871a9883487dd7710949204ddcf837e6a8708b8 +2bdbf16fbc7512faa308a093fe5cf5b8cabb9ffc6cc3f1e9ae32f234eb60fe7d +e34995b1acff52428ea20c8ed4fd73e3935cebd40e0ead70c0887a451e1b1ac8 +47aede4191ccdb8b61345fd070fd30c4f375d8418ddd454729a251b3f61dae7c +8882384282fdd6102ae8eefede6447576afa181f27a48216a9cad730561469e4 +78b286f22328f2ae84ef183de4119c402771a249aac1fa5435690a28d1b47486 +1060c8000d3fe1bf45133cf847a24b4f8464a63cea01ec84aa22fd005e74847e +01426b6890951a7dd1f50a5f3285e1f958f11fc7f00ee26fee7c63998ea1328b +c9841c57c80946d2c2fc81346249a664ecfb08a2ce075036cea7359fca1e90c0 +f686c3bb27eefa45d548f7bd074ce60e626a4f83c69fe93a5324133a78362f30 +8e8dcc80dd0c49e137cdc9ac08bae39282e26a7a4d8c159b95f227bda2a281af +a9daebf31f504380b20812a211cf9feb112ec29a3fb3bd3e81809fc6293487a7 +455eb3b879d2b4bd46942bb1243896264722cb59146c3f65bd59b96a74b12bb2 +9a1354af174932210c6e19fe584b1b14c00e746089cbb17e68845d7b3ea05105 +eee461e3697fcf835cbe6d46c75523478e766832751cf6d96ec338bdad57d53b +52f5340fac9fe0456ad13101824234b262ac0caba43b62ebda39795bae6cfe97 +563a50aae1f195888739f2676086a9811e5c9a4a7e0bf34f3e25568930adf80f +0bddac3b634ad4ba6a59720ea4749236cf0f79aba4716c340f98517f6f06d9ab +7ed8f46fc1868b5f3d3678df71aa772cf1f7dd222c6bf19d8ef0cfb7a76fc6d1 +0ad323c176134907ab375f20cfcd667ab094e2c7cb2179c4283329c9e435e7a4 +1e042ad0baa059b3f862236180b34d3fced833472577bacd472a4cd5c7347d2e +1d0d6630f446f3708fcb29a85f40b4dab4d60aa8f5b2dbd67f2e45d80c7a7e86 +144669f75f8fa14609f8e4246fec475ed262e03d30393c78c7828206842b565a +dbe20ea52ee9c4c3862b2f5f12cf89d935b89b84a45cefceaee8ec8806339364 +56ff1fe2e5112803e3e40162d5188d2210a54816aa9960611721c23a292ae80a +8f8c0fb114d71c111700b0fea8804f37c5d31ecd7006603c53f4bdf7208286af +3a25cee58e88bf81a4800b68c2a19ebdadf9b1074702e779a7dd915efe09d35e +bd176d7346d859d0944520171c4e97696ae0502c43c391fce5e8fb1789065e18 +be3af62200d57912360411ce848b4550d1b0a3ba576f9b41ced3a23e753631a7 +25375abe8a4b55bc65ae2eafae452766961965093084d218637fb447795cc991 +eb1ef26bf82b7a81fa847abd3b559d35828ad7ddc5fc7b43c6c14e6adedd7663 +f272aa9a121630c5263d58773bcb1437ec2fc54c4af90e677a8e7d1738d003d4 +18998c03cc9ae182e7758767feb5e1b03c6cc32ad30d0abae6552290771e2cb1 +a23f469a8447c1868c6dec2c3c2bcfc691867e +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F7 /CQTWIJ+CMR7 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/one/two/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef ] +ipeMakeFont +%%BeginResource: font CDOQAH+CMR10 +%!PS-AdobeFont-1.1: CMR10 1.00B +%%CreationDate: 1992 Feb 19 19:54:52 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CDOQAH+CMR10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 40 /parenleft put +dup 41 /parenright put +readonly def +/FontBBox{-251 -250 1009 969}readonly def +/UniqueID 5000793 def +currentdict end +currentfile eexec +d9d66f633b846a97b686a97e45a3d0aa052a014267b7904eb3c0d3bd0b83d891 +016ca6ca4b712adeb258faab9a130ee605e61f77fc1b738abc7c51cd46ef8171 +9098d5fee67660e69a7ab91b58f29a4d79e57022f783eb0fbbb6d4f4ec35014f +d2decba99459a4c59df0c6eba150284454e707dc2100c15b76b4c19b84363758 +469a6c558785b226332152109871a9883487dd7710949204ddcf837e6a8708b8 +2bdbf16fbc7512faa308a093fe5cf7158f1163bc1f3352e22a1452e73feca8a4 +87100fb1ffc4c8af409b2067537220e605da0852ca49839e1386af9d7a1a455f +d1f017ce45884d76ef2cb9bc5821fd25365ddea6e45f332b5f68a44ad8a530f0 +92a36fac8d27f9087afeea2096f839a2bc4b937f24e080ef7c0f9374a18d565c +295a05210db96a23175ac59a9bd0147a310ef49c551a417e0a22703f94ff7b75 +409a5d417da6730a69e310fa6a4229fc7e4f620b0fc4c63c50e99e179eb51e4c +4bc45217722f1e8e40f1e1428e792eafe05c5a50d38c52114dfcd24d54027cbf +2512dd116f0463de4052a7ad53b641a27e81e481947884ce35661b49153fa19e +0a2a860c7b61558671303de6ae06a80e4e450e17067676e6bbb42a9a24acbc3e +b0ca7b7a3bfea84fed39ccfb6d545bb2bcc49e5e16976407ab9d94556cd4f008 +24ef579b6800b6dc3aaf840b3fc6822872368e3b4274dd06ca36af8f6346c11b +43c772cc242f3b212c4bd7018d71a1a74c9a94ed0093a5fb6557f4e0751047af +d72098eca301b8ae68110f983796e581f106144951df5b750432a230fda3b575 +5a38b5e7972aabc12306a01a99fcf8189d71b8dbf49550baea9cf1b97cbfc7cc +96498ecc938b1a1710b670657de923a659db8757147b140a48067328e7e3f9c3 +7d1888b284904301450ce0bc15eeea00e48ccd6388f3fc3c8578ef9a20a0e06e +4f7addaf0e7d1e182d115bf1ad931977325ad391e72e2b13cc108e3726c11099 +e2000623188aaac9f3e233eb253bdd8b0a4759a66a113e066238b0086ac1b634 +5abff90e4b5ed3fa69c22541981b2bfc9710aef6b50a8bb53431c7b4d380d721 +639e005d6b4688ee16bff48443e7c9e5fb5bc5883e271cb034289232a0694cce +12a5a2637485fb47bc281a2129edc23d8091fb4f93a6b82e666703e6a2816bba +ea4d74e605325f713552a653349310ea0929fa02d1f9ed57de58e1928e0ca31d +070a4c7036ed071ac3f6429c76912fcb605a98a3307024a00afe54d463628836 +e6098757cd50e1d40fa54d41bc2fdc30f5cc9042e5d704d1712fc0a4b907a61a +3fbc6271bea1021043e2c35e830d2c44e1a54aba687535a0e1cb727bb7c902d2 +5df97d44fb85c8397f1c1e14c11dbfd563a205f1e248f250549cd4689f361c71 +948ebfd988b5b8b8fb1d7051f234e4ea5c9cb798d99c17715d0799f60feac8a8 +8589452e8932a9e7844e816b3d0f18f1d542d05600cad430e88f8298961d8fda +a630894c90d2505f9ad25f555f8c56518921ad52b39beb69f9ad1ed552b3cf16 +13ccadbc2933a59af6cf80f892efdb0d4e5cd766094aef332323ccffafa32fa0 +07bfeb8985c120d623c4e2323f6e4a3fe0086795c3043b988701add821404586 +0cd3e21e107a25d661bcb329db6a7083217b438f19710ca275e336ad37e90d10 +4cf8e8410e0311297d1e1dceb8c8a662c6735da66e9cd443 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F8 /CDOQAH+CMR10 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /parenleft/parenright/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef ] +ipeMakeFont +%%BeginResource: font XECCSK+CMMI10 +%!PS-AdobeFont-1.1: CMMI10 1.100 +%%CreationDate: 1996 Jul 23 07:53:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /XECCSK+CMMI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 14 /delta put +dup 71 /G put +dup 87 /W put +dup 115 /s put +dup 116 /t put +dup 118 /v put +readonly def +/FontBBox{-32 -250 1048 750}readonly def +/UniqueID 5087385 def +currentdict end +currentfile eexec +d9d66f633b846a97b686a97e45a3d0aa0529731c99a784ccbe85b4993b2eebde +3b12d472b7cf54651ef21185116a69ab1096ed4bad2f646635e019b6417cc77b +532f85d811c70d1429a19a5307ef63eb5c5e02c89fc6c20f6d9d89e7d91fe470 +b72befda23f5df76be05af4ce93137a219ed8a04a9d7d6fdf37e6b7fcde0d90b +986423e5960a5d9fbb4c956556e8df90cbfaec476fa36fd9a5c8175c9af513fe +d919c2ddd26bdc0d99398b9f4d03d5993dfc0930297866e1cd0a319b6b1fd958 +9e394a533a081c36d456a09920001a3d2199583eb9b84b4dee08e3d12939e321 +990cd249827d9648574955f61baaa11263a91b6c3d47a5190165b0c25abf6d3e +6ec187e4b05182126bb0d0323d943170b795255260f9fd25f2248d04f45dfbfb +def7ff8b19bfef637b210018ae02572b389b3f76282beb29cc301905d388c721 +59616893e774413f48de0b408bc66dce3fe17cb9f84d205839d58014d6a88823 +d9320ae93af96d97a02c4d5a2bb2b8c7925c4578003959c46e3ce1a2f0eac4bf +8b9b325e46435bde60bc54d72bc8acb5c0a34413ac87045dc7b84646a324b808 +6fd8e34217213e131c3b1510415ce45420688ed9c1d27890ec68bd7c1235faf9 +1dab3a369dd2fc3be5cf9655c7b7eda7361d7e05e5831b6b8e2eec542a7b38ee +03be4bac6079d038acb3c7c916279764547c2d51976baba94ba9866d79f13909 +95aa39b0f03103a07cbdf441b8c5669f729020af284b7ff52a29c6255fcaacf1 +74109050fba2602e72593fbcbfc26e726ee4aef97b7632bc4f5f353b5c67fed2 +3ea752a4a57b8f7feff1d7341d895f0a3a0be1d8e3391970457a967eff84f6d8 +47750b1145b8cc5bd96ee7aa99ddc9e06939e383bda41175233d58ad263ebf19 +afc0e2f840512d321166547b306c592b8a01e1fa2564b9a26dac14256414e4c8 +42616728d918c74d13c349f4186ec7b9708b86467425a6fdb3a396562f7ee4d8 +40b43621744cf8a23a6e532649b66c2a0002dd04f8f39618e4f572819dd34837 +b5a08e643fdca1505af6a1fa3ddfd1fa758013caed8acddbbb334d664dff5b53 +95601766730045c2d9f29dc2bfebde5e7720cc7d82523c3853add5d6fd7c325b +8947236ef618d55bcb5596851df9f1923eff6b5b4d8e7dcba59e3b06ba4e8cc3 +b25a2177c42d39e27f561dc464a0c69ed7e86d83e0b12514d94b1c5a0af0ff73 +4cc1fc83cd5fa1f2095f539be136d9274e2a7a40a4e3da5181d0965c47ee6330 +37bddc2a015987660a86c2e37a560e2972c38396f2fd7f28cbd53a24fe77de2d +6a029d87e5cdea6f05b48279e6d46ebf539da629dfbe3c8f1c982236491ec7d4 +b449fd6d92830764c081092cd5ab9fcbe066d7341820d314db142afc1bd2c0fb +762d26e1a4ffb06878eb8bb68104aba6465ac5f53d54af34b8097edc5b2b1172 +f5ebd6067c9f386578c9c35b92b087e33c21a29764b4535a6ed44f5c03dbd6be +b22690a8e0b73571ded7a0a7de58111140c70852d8977324499bd6fc3c7fc99b +e34b34d0b3fcff35f56da09112b915f073d5a6942482059a67d976db02cf4bb6 +97e815e5d16610c784f631bacf21123d0efa734e7bfe5334d2e228a0a81a0e68 +7c722345b8760ff03f262e24e93ce372792db968e54a9d14e1e899b029dbdb66 +eda7fe20ef2cb3ecc9cc2904ff6b57f5f6c572f39e2d17d038b99bc108db1aff +75c4411e788881a9c95f132cd00e77767cbc0f3f9f2ee7422d4e121c1f9b31e3 +225806f57eb39dd449386c8c739386da2e652617881f20ce44bdb2e5245e4603 +43398b1d03587b89696f7d250cdfc76cd90c387d4ab497054d76d5af7699c97b +d9a6af504f98f4597d4691f080a4da5913744ea538e991c5411ecaca6bbe07e8 +2fd4edc7fd749a095324eed92dd4f024242b6e5843ff63026f78206542c8cefa +432fb1b91fb535cdcf66f61c3faaa0d72eae387417d1eebf3204310de07bd9cc +114b6ba5853402acd2c6cc189ef0b557b069a45e245f2f50b5907407d6f8d444 +0b2206b929fe085a685b0bb24f902c822ecb034bc3f49b589f420d683fb1460a +b3db7f9b74b6518e2b655ea35917e92d118012d80e79ce2ce8e1273595055da2 +3d0856a1d6c433b3773eda483390a412a5a0e0e7d1ec583bf83b3059d2d1e372 +2263cc5da00aa4a5b3912a07c63cfebcc4506baab9a13dad39724e5773606ac8 +306c5bef5ef5e4773a07e2a7189f3cea177f5b4d041035e715a908199c19a47b +a8dbf610a3665ae5320cd46e86631c01905d44e44b1b76463d8089c31fdca5fa +985cc464df29cb62f60a808d232462046894bef829981874bef5c84dc4b5ec19 +0ed285742099eb40ce1bbefa04ff5794df8a5ed80ca49a2c213443ca2b9056c1 +40253bf618f4c601eaf7bf1c2b3f1358d7cdbb84ec50af1726e3b295515142c0 +93183057c8206195532258e8870583fa754eeb07a8b0286282dfa8c28abef7f5 +c1597d600d79ad079c49852087a7ed9624d423edc2237fcc7092fe8e244437ce +034b9e5b1f9bea12930bfab7d477f3eafc15406ac7f120782699cfb1d1832a99 +de5a7b009edbbd8ecbe1295841511b4864cd58dcd3c65c75230e3465d022e5a4 +0fa253d089e946b80f5d7261f1271c6730fa938e51cbb4891e1c19848c8fb851 +ba8a5e43ba7b72dc3c6b8e2b1ce2b5d20624ce40221308505851415f5a0cb7fc +1825598c69893386d63655aec8867bb0fd47d32aa6b16b4568dc1995d3b8663a +0c20bc233fa2538d73dd85427ae0057d8bb40b1c34e51d29f90af6db144aa4da +de4244e0bd100f13c6a4185831e5910fd669d0f863aea9e788865879645c3d86 +30aab2a97dec398310eddf2501d3be3e2111b05b62bc7180159e662beee4327a +53f27f07d01432307f2b29a0c9a14e11bcf37a1484cbd13e0a14b93f2a1e1f22 +b57c0b4f552dc01183d0f48dfbdd8a +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F11 /XECCSK+CMMI10 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/delta/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/G + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/W + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/s/t/.notdef/v/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef ] +ipeMakeFont +%%EndSetup +q 1 0 0 1 387.484 297.497 cm 1 0 0 1 0 0 cm 1 0 0 1 0 1.494 cm +0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.71 cm +BT +/F11 9.963 Tf 0 787.71 Td[(v)]TJ/F7 6.974 Tf 4.829 -1.494 Td[(2)]TJ +ET +Q +q np +402.69 299.947 m +402.69 300.775 402.018 301.447 401.19 301.447 c +400.362 301.447 399.69 300.775 399.69 299.947 c +399.69 299.118 400.362 298.447 401.19 298.447 c +402.018 298.447 402.69 299.118 402.69 299.947 c +h q f* Q 0.6 w S +Q +q np +449.071 295.336 m +449.071 295.336 449.071 295.336 444.405 295.372 c +439.738 295.407 430.405 295.478 422.411 296.206 c +414.416 296.934 407.759 298.318 404.431 299.01 c +401.103 299.702 401.103 299.702 401.103 299.702 c +0.4 w S +Q +q np +449.132 303.336 m +449.132 303.336 449.132 303.336 445.132 303.367 c +441.132 303.397 433.133 303.458 425.128 302.852 c +417.123 302.246 409.113 300.974 405.108 300.338 c +401.103 299.702 401.103 299.702 401.103 299.702 c +0.4 w S +Q +q np +457.041 291.276 m +457.041 291.276 457.041 291.276 451.702 290.649 c +446.364 290.023 435.688 288.771 426.365 290.176 c +417.042 291.58 409.072 295.641 405.088 297.671 c +401.103 299.702 401.103 299.702 401.103 299.702 c +0.4 w S +Q +q np +457.162 307.275 m +457.162 307.275 457.162 307.275 451.834 307.982 c +446.506 308.69 435.85 310.104 426.507 308.842 c +417.164 307.58 409.133 303.641 405.118 301.671 c +401.103 299.702 401.103 299.702 401.103 299.702 c +0.4 w S +Q +q np +465.01 287.215 m +465.01 287.215 465.01 287.215 458.333 285.932 c +451.657 284.65 438.303 282.085 427.652 284.166 c +417.001 286.247 409.052 292.974 405.078 296.338 c +401.103 299.702 401.103 299.702 401.103 299.702 c +0.4 w S +Q +q np +465.193 311.214 m +465.193 311.214 465.193 311.214 458.536 312.598 c +451.88 313.982 438.567 316.75 427.886 314.831 c +417.204 312.913 409.154 306.307 405.128 303.004 c +401.103 299.702 401.103 299.702 401.103 299.702 c +0.4 w S +Q +q np +472.979 283.154 m +472.979 283.154 472.979 283.154 464.969 281.882 c +456.959 280.609 440.94 278.064 428.96 280.822 c +416.981 283.58 409.042 291.641 405.073 295.671 c +401.103 299.702 401.103 299.702 401.103 299.702 c +0.4 w S +Q +q np +473.223 315.153 m +473.223 315.153 473.223 315.153 465.233 316.547 c +457.244 317.941 441.264 320.73 429.244 318.155 c +417.224 315.579 409.164 307.64 405.134 303.671 c +401.103 299.702 401.103 299.702 401.103 299.702 c +0.4 w S +Q +q 1 0 0 1 454.334 321.016 cm 1 0 0 1 0 0 cm 1 0 0 1 0 1.494 cm +0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.192 cm +BT +/F11 9.963 Tf 0 785.192 Td[(G)]TJ/F7 6.974 Tf 7.833 -1.494 Td[(2)]TJ +ET +Q +q 1 0 0 1 353.278 297.497 cm 1 0 0 1 0 0 cm 1 0 0 1 0 1.494 cm +0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.71 cm +BT +/F11 9.963 Tf 0 787.71 Td[(v)]TJ/F7 6.974 Tf 4.829 -1.494 Td[(1)]TJ +ET +Q +q np +349.415 299.754 m +349.415 300.583 348.744 301.254 347.915 301.254 c +347.087 301.254 346.415 300.583 346.415 299.754 c +346.415 298.926 347.087 298.254 347.915 298.254 c +348.744 298.254 349.415 298.926 349.415 299.754 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 274.824 321.016 cm 1 0 0 1 0 0 cm 1 0 0 1 0 1.494 cm +0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.192 cm +BT +/F11 9.963 Tf 0 785.192 Td[(G)]TJ/F7 6.974 Tf 7.833 -1.494 Td[(1)]TJ +ET +Q +q np +300 304 m +300 304 300 304 304.667 304 c +309.333 304 318.667 304 326.667 303.333 c +334.667 302.667 341.333 301.333 344.667 300.667 c +348 300 348 300 348 300 c +0.4 w S +Q +q np +300 296 m +300 296 300 296 304 296 c +308 296 316 296 324 296.667 c +332 297.333 340 298.667 344 299.333 c +348 300 348 300 348 300 c +0.4 w S +Q +q np +292 308 m +292 308 292 308 297.333 308.667 c +302.667 309.333 313.333 310.667 322.667 309.333 c +332 308 340 304 344 302 c +348 300 348 300 348 300 c +0.4 w S +Q +q np +292 292 m +292 292 292 292 297.333 291.333 c +302.667 290.667 313.333 289.333 322.667 290.667 c +332 292 340 296 344 298 c +348 300 348 300 348 300 c +0.4 w S +Q +q np +284 312 m +284 312 284 312 290.667 313.333 c +297.333 314.667 310.667 317.333 321.333 315.333 c +332 313.333 340 306.667 344 303.333 c +348 300 348 300 348 300 c +0.4 w S +Q +q np +284 288 m +284 288 284 288 290.667 286.667 c +297.333 285.333 310.667 282.667 321.333 284.667 c +332 286.667 340 293.333 344 296.667 c +348 300 348 300 348 300 c +0.4 w S +Q +q np +276 316 m +276 316 276 316 284 317.333 c +292 318.667 308 321.333 320 318.667 c +332 316 340 308 344 304 c +348 300 348 300 348 300 c +0.4 w S +Q +q np +276 284 m +276 284 276 284 284 282.667 c +292 281.333 308 278.667 320 281.333 c +332 284 340 292 344 296 c +348 300 348 300 348 300 c +0.4 w S +Q +q np +113.987 308.993 m +106.685 312.645 99.3818 316.296 92.0791 318.122 c +84.7764 319.947 77.4737 319.947 70.171 318.122 c +62.8683 316.296 55.5656 312.645 51.9142 307.168 c +48.2629 301.691 48.2629 294.388 51.9142 288.911 c +55.5656 283.434 62.8683 279.782 70.171 277.957 c +77.4737 276.131 84.7764 276.131 92.0791 277.957 c +99.3818 279.782 106.685 283.434 113.987 287.085 c +121.29 290.736 128.593 294.388 128.593 298.039 c +128.593 301.691 121.29 305.342 113.987 308.993 c +h 1 g q f* Q 0.4 w 0 g S +Q +q np +135.895 308.993 m +143.198 312.645 150.501 316.296 157.804 318.122 c +165.106 319.947 172.409 319.947 179.712 318.122 c +187.014 316.296 194.317 312.645 197.968 307.168 c +201.62 301.691 201.62 294.388 197.968 288.911 c +194.317 283.434 187.014 279.782 179.712 277.957 c +172.409 276.131 165.106 276.131 157.804 277.957 c +150.501 279.782 143.198 283.434 135.895 287.085 c +128.593 290.736 121.29 294.388 121.29 298.039 c +121.29 301.691 128.593 305.342 135.895 308.993 c +h 1 g q f* Q 0.4 w 0 g S +Q +q np +137.191 310.714 m +139.547 303.648 139.547 294.227 137.191 287.161 c +134.836 280.095 130.126 275.384 125.415 275.384 c +120.704 275.384 115.994 280.095 113.638 287.161 c +111.283 294.227 111.283 303.648 113.638 310.714 c +115.994 317.78 120.704 322.49 125.415 322.49 c +130.126 322.49 134.836 317.78 137.191 310.714 c +h 1 g q f* Q 0.4 w 0 g S +Q +q 1 0 0 1 114.108 294.026 cm 1 0 0 1 0 0 cm 1 0 0 1 0 2.491 cm +0 0 0 rg 0 0 0 RG +1 0 0 1 0 -784.528 cm +BT +/F11 9.963 Tf 0 784.528 Td[(\016)]TJ/F8 9.963 Tf 4.805 0 Td[(\050)]TJ/F11 9.963 Tf 3.874 0 Td[(W)]TJ/F8 9.963 Tf 10.793 0 Td[(\051)]TJ +ET +Q +q 1 0 0 1 68.0627 296.435 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(s)]TJ +ET +Q +q 1 0 0 1 175.391 296.591 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.872 cm +BT +/F11 9.963 Tf 0 785.872 Td[(t)]TJ +ET +Q +q np +79.2825 297.608 m +79.2825 298.437 78.6109 299.108 77.7825 299.108 c +76.9541 299.108 76.2825 298.437 76.2825 297.608 c +76.2825 296.78 76.9541 296.108 77.7825 296.108 c +78.6109 296.108 79.2825 296.78 79.2825 297.608 c +h q f* Q 0.6 w S +Q +q np +169.717 299 m +169.717 299.828 169.046 300.5 168.217 300.5 c +167.389 300.5 166.717 299.828 166.717 299 c +166.717 298.171 167.389 297.5 168.217 297.5 c +169.046 297.5 169.717 298.171 169.717 299 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 164.258 323.732 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.192 cm +BT +/F11 9.963 Tf 0 785.192 Td[(W)]TJ +ET +Q +q np +291.874 309.899 m +284.571 313.55 277.269 317.202 269.966 319.027 c +262.663 320.853 255.361 320.853 248.058 319.027 c +240.755 317.202 233.452 313.55 229.801 308.073 c +226.15 302.596 226.15 295.293 229.801 289.816 c +233.452 284.339 240.755 280.688 248.058 278.862 c +255.361 277.037 262.663 277.037 269.966 278.862 c +277.269 280.688 284.571 284.339 291.874 287.991 c +299.177 291.642 306.479 295.293 306.479 298.945 c +306.479 302.596 299.177 306.248 291.874 309.899 c +h 1 g q f* Q 0.4 w 0 g S +Q +q 1 0 0 1 245.949 297.34 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(s)]TJ +ET +Q +q np +257.169 298.514 m +257.169 299.342 256.498 300.014 255.669 300.014 c +254.841 300.014 254.169 299.342 254.169 298.514 c +254.169 297.686 254.841 297.014 255.669 297.014 c +256.498 297.014 257.169 297.686 257.169 298.514 c +h q f* Q 0.6 w S +Q +q np +457.152 289.375 m +464.427 285.669 471.702 281.962 478.99 280.081 c +486.279 278.199 493.581 278.144 500.898 279.914 c +508.214 281.684 515.544 285.279 519.237 290.729 c +522.93 296.178 522.986 303.48 519.376 308.985 c +515.767 314.489 508.492 318.196 501.203 320.078 c +493.915 321.959 486.612 322.014 479.296 320.244 c +471.98 318.474 464.649 314.879 457.319 311.283 c +449.989 307.687 442.658 304.092 442.631 300.44 c +442.603 296.789 449.878 293.082 457.152 289.375 c +h 1 g q f* Q 0.4 w 0 g S +Q +q 1 0 0 1 501.081 298.101 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.872 cm +BT +/F11 9.963 Tf 0 785.872 Td[(t)]TJ +ET +Q +q np +494.943 300.485 m +494.943 301.313 494.271 301.985 493.443 301.985 c +492.614 301.985 491.943 301.313 491.943 300.485 c +491.943 299.656 492.614 298.985 493.443 298.985 c +494.271 298.985 494.943 299.656 494.943 300.485 c +h q f* Q 0.6 w S +Q +showpage +%%BeginIpeXml: /FlateDecode +%GhUDE9lK&M&A@sB&AfLBK,J]#%`opO;h:[X?nVZj3EBT4Z=V+WZg"[^U\k^NS$h@#C=bXG,,sOj +%)=kJ'm`S$B<^j>GlhMr=V9!3,TdfQ@DFW=J(hBVaU+',SnKQE>XI,7J-rWG=(S(htZHn1#ErK1E +%T.;7`m+5T8.99KU-8Hq-WHqH+QMY/[>+:o!`oHp].!oXm"YR)B=Bji^Km7@Tag1iV(hGV-;!"lL +%,Nee1*I5&[k2"5k<]@D@G)Q9l/QW1`g>Zn[T!b&pCn(8=PK$W%n-j\igQXrX<&3Ir[89aM&,aS- +%iSjHA!]*L5(?c78Y>G>Our/JQ8d,3i.h\@C*/R4$\.0U&KR,.-45V]8UDSJ +%k/ekE#1GV=mIUL2"D\Q?$Qq![7:[1Qr6=teM'NKNQjkUGF>^9\[7VtTpNHq]'`HcM7JH>f3sjHa6BfHY +%r`VX_q[(@[V.L7'^oigFGXF]g&q+6JUaBSC$kWg[BIcQj;0o(NHs10dSBnl>*BP7Q*=3'P+"gkI +%X^@koa/r\u0dj)1U`.:U?Rc1+X^B$6a/r]@f-d\mADgtKQ/l>@@^jGHB'>I9AA$8]ahZika0M^7 +%fupa=Mf1>3V_7"?f4T]>b>O?]U.K4]E:g%DF1ZmAgs,.g4I9m^FZmZW`IulfkBW07F@'`d)KD+M +%e=WHC`2PsE:%LEaal@FRLOd>?%H>XW0Hk"tGAF$bd`2s326ngn%>(a408A4$lm(hm^Wsq4Z%MP; +%8?B;k"mJX!HCq/CV1J;X9F\<%B#iEN8&,%j'NLY&o]>9-[!%g)2Bpa?.#MNDdkM!Sn953C/(l## +%D2:9Xl6Og>\HipAU[2QaG.Q'cb"%bsB1>NlJb&[IL)#XmnT=V9SD[JB0S(jQYCJgF(o;b%RQfq$W?kFB:VT +%IJ05@i!3htmBFVTJ,Io[PUdaBo[8EkX])KOGeKN\?qH'CC"&62s%ga!k9F,gcr:Y%ZmMd$l+RXs +%S`>?8]T).I\PnqUKf`d;gnbOMW@\p"rW,LcYeU~> +%%EndIpeXml +%%Trailer +end +%%EOF diff --git a/4-ght/4-ght-htl-a.eps b/4-ght/4-ght-htl-a.eps new file mode 100644 index 0000000..20ed0a1 --- /dev/null +++ b/4-ght/4-ght-htl-a.eps @@ -0,0 +1,300 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Ipelib 60023 (Ipe 6.0 preview 23) +%%CreationDate: D:20060416132451 +%%LanguageLevel: 2 +%%BoundingBox: 215 217 317 281 +%%HiResBoundingBox: 215.536 217.34 316.284 280.756 +%%DocumentSuppliedResources: font IVTBSA+CMMI10 +%%EndComments +%%BeginProlog +%%BeginResource: procset ipe 6.0 60023 +/ipe 40 dict def ipe begin +/np { newpath } def +/m { moveto } def +/l { lineto } def +/c { curveto } def +/h { closepath } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/d { setdash } def +/w { setlinewidth } def +/J { setlinecap } def +/j { setlinejoin } def +/cm { [ 7 1 roll ] concat } def +/q { gsave } def +/Q { grestore } def +/g { setgray } def +/rg { setrgbcolor } def +/G { setgray } def +/RG { setrgbcolor } def +/S { stroke } def +/f* { eofill } def +/f { fill } def +/ipeMakeFont { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/ipeFontSize 0 def +/Tf { dup /ipeFontSize exch store selectfont } def +/Td { translate } def +/BT { gsave } def +/ET { grestore } def +/TJ { 0 0 moveto { dup type /stringtype eq + { show } { ipeFontSize mul -0.001 mul 0 rmoveto } ifelse +} forall } def +end +%%EndResource +%%EndProlog +%%BeginSetup +ipe begin +%%BeginResource: font IVTBSA+CMMI10 +%!PS-AdobeFont-1.1: CMMI10 1.100 +%%CreationDate: 1996 Jul 23 07:53:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /IVTBSA+CMMI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 85 /U put +dup 88 /X put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +readonly def +/FontBBox{-32 -250 1048 750}readonly def +/UniqueID 5087385 def +currentdict end +currentfile eexec +d9d66f633b846a97b686a97e45a3d0aa0529731c99a784ccbe85b4993b2eebde +3b12d472b7cf54651ef21185116a69ab1096ed4bad2f646635e019b6417cc77b +532f85d811c70d1429a19a5307ef63eb5c5e02c89fc6c20f6d9d89e7d91fe470 +b72befda23f5df76be05af4ce93137a219ed8a04a9d7d6fdf37e6b7fcde0d90b +986423e5960a5d9fbb4c956556e8df90cbfaec476fa36fd9a5c8175c9af513fe +d919c2ddd26bdc0d99398b9f4d03d5993dfc0930297866e1cd0a319b6b1fd958 +9e394a533a081c36d456a09920001a3d2199583eb9b84b4dee08e3d12939e321 +990cd249827d9648574955f61baaa11263a91b6c3d47a5190165b0c25abf6d3e +6ec187e4b05182126bb0d0323d943170b795255260f9fd25f2248d04f45dfbfb +def7ff8b19bfef637b210018ae02572b389b3f76282beb29cc301905d388c721 +59616893e774413f48de0b408bc66dce3fe17cb9f84d205839d58014d6a88823 +d9320ae93af96d97a02c4d5a2bb2b8c7925c4578003959c46e3ce1a2f0eac4bf +8b9b325e46435bde60bc54d72bc8acb5c0a34413ac87045dc7b84646a324b808 +6fd8e34217213e131c3b1510415ce45420688ed9c1d27890ec68bd7c1235faf9 +1dab3a369dd2fc3be5cf9655c7b7eda7361d7e05e5831b6b8e2eec542a7b38ee +03be4bac6079d038acb3c7c916279764547c2d51976baba94ba9866d79f13909 +95aa39b0f03103a07cbdf441b8c5669f729020af284b7ff52a29c6255fcaacf1 +74109050fba2602e72593fbcbfc26e726ee4aef97b7632bc4f5f353b5c67fed2 +3ea752a4a57b8f7feff1d7341d895f0a3a0be1d8e3391970457a967eff84f6d8 +47750b1145b8cc5bd96ee7aa99ddc9e06939e383bda41175233d58ad263ebf19 +afc0e2f840512d321166547b306c592b8a01e1fa2564b9a26dac14256414e4c8 +42616728d918c74d13c349f4186ec7b9708b86467425a6fdb3a396562f7ee4d8 +40b43621744cf8a23a6e532649b66c2a0002dd04f8f39618e4f572819dd34837 +b5a08e643fdca1505af6a1fa3ddfd1fa758013caed8acddbbb334d664dff5b53 +95601766730045c2d9f29dc2bfebde5e7720cc7d82520d57d7e67ca1d16bb0e0 +1598fdc79fb53825f274e188ee0ad0e1799f30415e80b3301ba4aa951abdb2a3 +5c0f36bd680e2cfd0d1b95ed75896e09024f83ce9c5d378d44172fe31d9db764 +8bca59da64a36cbdf16524d8e5bb779a41bc56a5c2b87c03894cc391afba6560 +e6409cb9c51432a20e699d7183e36cac37518da229aec38e417fa4e78ce77fd7 +1a05dee16820f505bb33f72df93a0d8df1328453bffb3a099a36dffe9a2fbeb6 +442d9396a46c4ac8c75e2f3c53c66ca6cde61e2d9c093cd44ecbf982a8e84a10 +0454b426c9c9213416f6fc09b862debc21b430252909f05b9d714e23c8af2510 +45b7ec0f52b7ee6d571774fdbc50c57ebb8a1781e1695a7ffe3221661bd0c9a3 +6ddd3ad04516e26cc274b96ae1c43dd170099a24cbf4efb195051eaff8b603b2 +cef01ffb72416e87ef71ab2e535b51ea535b966f963200e005f735cf65796174 +1b57d21da3ad55a614cbf2c254c4e485a25aa2a3380305b6da2cdeedf322566a +7eb9e4b90c1ad9f6f40d2d1c50d0accecce489fde2b79367249730edbd18578e +e808fdd04bb89f554667e69a6541403cd5f094e6c9603ad017be5d9d87bc9a92 +202b771959ac31bcfed0928dfb121b406633c1d6a5be4e1016ed65d6e971883d +a9b1170ef01ec45987c77a2e0a6646423c6cc7ba0619674ca33924a06b3e5620 +9b78a39eacce44bd10a9983bc6ff21454410122bc55261e813c6ac26700be50e +ab02dbbc743325325dc72663c9a10864d9c2cb145dd98df9359151865c0bd12f +f06d236ba43f3bb06a8eef419e1b773e4c4eb828e732cd8bca6ad17d69bf7ea2 +7a6c24830b9a10c9c47b546ba1ab9b3e6371b5e9460b2ce94f113e1a4c3c75aa +13205382451860506ed4c3c344c7f0f265df215aebc711cef76669cc6c83dd8a +6ed48f9c2f049bdf59cb8a1c39394c813a0a16445382792e7ba0552f46963d0a +6fa779d447bd11efa2dbb92058480b1b885b7c13904fd72d19f6034eddd79d27 +6628291faa4511f5d66da3c89458e62dcfb815bd91bf985af54a862ccb3b3b9d +01d0038fcea011468aae83cc6229520ce316bb9519703be6a49f39021e675b0f +b6da844d719c22428a61273509b25e5b210429864e905fc2d2929a53c16aebb1 +0196a4b562018a88da25e5ec027cca4701f39807eef5b859aada8d253bd245da +a3fda24b8a812c0065e7a2b1f8af21fa1dd131e4b96e3a3fad82aaa7b494daf0 +2d398be5035ff58eeaf46218d2d284ac6d4aae77bea4b86471df05e4e578315b +24aa132debd94e5ccaa2a21a670b1651317034605b72c63444390f9a1a3614cf +b6fbff5cff6b2bf934a40361d2bf9cdc7b3285f6ce2e501c8d639f01ca675eb8 +9944e426c6ca327b3749866ca651fefa10ab41d1d59f0b72ff4ab2e8f29b4bb9 +095c91e76be65c4bfafe6dbedc8121c9e02ba2041836fe9b0d45074b6deb0f24 +6a3580d7a118f1726159783370dec583429e4c506993e8e44770e3ba54bd60e8 +e5699d926579c0a3a08e2dd4dfa587f27a3e52b898edf38fe0176d3f4ac8c5ad +1a3b53c7567344c932b41b4b6232c9d0634a66e3c4ac372c07ebf0485e91c9a0 +f12792f5939eb4ff44eb40efbe0d72a7ea2a9b18c5d38ae8265f01b986f9686e +9cb43d78fbfa562082416aafc8d5c971c9831ff6723a8290445e825957a411eb +e677126aef0b761df5343c4ac77921c44f80f042d9babc2a6c91faa6f70fe2e5 +dbc197168a2f83de49994d7cc9ef74df01deecde3234ba8bf143465a8658d14a +dc1b2ff2f17e6a67a7a1e955acb712a6cc2c010a12bb18787c472b8f004f5bb8 +b228b875ba4c401ac6f82274c048dfdee21895d803301eb63a3e98df079a2a77 +15964c81488a8f0bababbc214c7c368ca9111eb2c08a3fbb4ac270dd1ede653a +6d5413ad84aa83ff54eec82a2d1c05e8b95d6087f867a34d54edda787038e4a6 +092c7eee09576817333f +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F11 /IVTBSA+CMMI10 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/U/.notdef/.notdef + /X/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/s/t/u/v/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef ] +ipeMakeFont +%%EndSetup +q np +262.89 257.459 m +285.066 257.459 307.243 247.654 307.243 237.849 c +307.243 228.044 285.066 218.24 262.89 218.24 c +240.714 218.24 218.537 228.044 218.537 237.849 c +218.537 247.654 240.714 257.459 262.89 257.459 c +h 0.4 w S +Q +q np +262.585 251.467 m +262.585 265.662 252.654 279.856 242.724 279.856 c +232.794 279.856 222.864 265.662 222.864 251.467 c +222.864 237.273 232.794 223.079 242.724 223.079 c +252.654 223.079 262.585 237.273 262.585 251.467 c +h 0.4 w S +Q +q 1 0 0 1 308.396 246.532 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.192 cm +BT +/F11 9.963 Tf 0 785.192 Td[(U)]TJ +ET +Q +q 1 0 0 1 215.536 271.49 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.192 cm +BT +/F11 9.963 Tf 0 785.192 Td[(X)]TJ +ET +Q +q np +248.146 232.718 m +248.146 233.546 247.475 234.218 246.646 234.218 c +245.818 234.218 245.146 233.546 245.146 232.718 c +245.146 231.89 245.818 231.218 246.646 231.218 c +247.475 231.218 248.146 231.89 248.146 232.718 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 235.988 230.453 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(s)]TJ +ET +Q +q np +290.672 236.201 m +290.672 237.03 290 237.701 289.172 237.701 c +288.344 237.701 287.672 237.03 287.672 236.201 c +287.672 235.373 288.344 234.701 289.172 234.701 c +290 234.701 290.672 235.373 290.672 236.201 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 278.513 233.937 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(v)]TJ +ET +Q +q np +255.832 246.662 m +255.832 247.491 255.16 248.162 254.332 248.162 c +253.503 248.162 252.832 247.491 252.832 246.662 c +252.832 245.834 253.503 245.162 254.332 245.162 c +255.16 245.162 255.832 245.834 255.832 246.662 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 243.673 244.398 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(u)]TJ +ET +Q +q np +280.909 266.868 m +280.909 267.696 280.237 268.368 279.409 268.368 c +278.58 268.368 277.909 267.696 277.909 266.868 c +277.909 266.039 278.58 265.368 279.409 265.368 c +280.237 265.368 280.909 266.039 280.909 266.868 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 268.75 264.603 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.872 cm +BT +/F11 9.963 Tf 0 785.872 Td[(t)]TJ +ET +Q +showpage +%%BeginIpeXml: /FlateDecode +%GhTQj9lCq)&;KZOMNO/SK4k*f5u,,c#?:!=J.&CX]37*]N9!^BcH"G0Y@D6q +%)MYmAR_t&b/e@9gXJ_lmd'krs1uIB5N>Tl,hhV`$4rI'!l2meL*&U**BL@_D>,."WTIYV0fCmt3 +%&T?_f0\[1$%ifh)*'a*FGdnbg-e6)UakPON]h'Sgmu.XKBeX4P84^asf@lr$P^"Ib+F;)B@6LX% +%#FU"g/sC"#qD?l[R>QPd^nQ$5^_e$XeYON6Fm/l)a4"iE\TZY]3FC_YY^b@*P4!Fq&qetlNO +%#MDih[<.b3X$NlGO>kEVbg5$PBX^ll@sLjC\b^V0SQ([5=sZmVfh2EiE].3425.2Mo"A)=4^6b) +%roW*;*QgfB;AB0.Ffnd@Q/:Rq+qucM+=^o`SW1BpQi[U)>PD"m3t@044O^OU +%e]lc(p(u-g-PWCp5%5/>+%4![)DVN:#t#j$c_jY5rr^=#66%/CB%aCu-\mbrru`A'TPZA^DjHdO +%OC,jLB_-Zo[hnUSN6*CS@h[6Dfam*$#j'K*^`$^ojKKJCl,>M-O2M2]L1_KiqU3ot4N#dGT=N&a +%;?~> +%%EndIpeXml +%%Trailer +end +%%EOF diff --git a/4-ght/4-ght-htl-b.eps b/4-ght/4-ght-htl-b.eps new file mode 100644 index 0000000..3a1607a --- /dev/null +++ b/4-ght/4-ght-htl-b.eps @@ -0,0 +1,300 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Ipelib 60023 (Ipe 6.0 preview 23) +%%CreationDate: D:20060416132502 +%%LanguageLevel: 2 +%%BoundingBox: 215 217 317 281 +%%HiResBoundingBox: 215.536 217.34 316.284 280.756 +%%DocumentSuppliedResources: font IVTBSA+CMMI10 +%%EndComments +%%BeginProlog +%%BeginResource: procset ipe 6.0 60023 +/ipe 40 dict def ipe begin +/np { newpath } def +/m { moveto } def +/l { lineto } def +/c { curveto } def +/h { closepath } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/d { setdash } def +/w { setlinewidth } def +/J { setlinecap } def +/j { setlinejoin } def +/cm { [ 7 1 roll ] concat } def +/q { gsave } def +/Q { grestore } def +/g { setgray } def +/rg { setrgbcolor } def +/G { setgray } def +/RG { setrgbcolor } def +/S { stroke } def +/f* { eofill } def +/f { fill } def +/ipeMakeFont { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/ipeFontSize 0 def +/Tf { dup /ipeFontSize exch store selectfont } def +/Td { translate } def +/BT { gsave } def +/ET { grestore } def +/TJ { 0 0 moveto { dup type /stringtype eq + { show } { ipeFontSize mul -0.001 mul 0 rmoveto } ifelse +} forall } def +end +%%EndResource +%%EndProlog +%%BeginSetup +ipe begin +%%BeginResource: font IVTBSA+CMMI10 +%!PS-AdobeFont-1.1: CMMI10 1.100 +%%CreationDate: 1996 Jul 23 07:53:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /IVTBSA+CMMI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 85 /U put +dup 88 /X put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +readonly def +/FontBBox{-32 -250 1048 750}readonly def +/UniqueID 5087385 def +currentdict end +currentfile eexec +d9d66f633b846a97b686a97e45a3d0aa0529731c99a784ccbe85b4993b2eebde +3b12d472b7cf54651ef21185116a69ab1096ed4bad2f646635e019b6417cc77b +532f85d811c70d1429a19a5307ef63eb5c5e02c89fc6c20f6d9d89e7d91fe470 +b72befda23f5df76be05af4ce93137a219ed8a04a9d7d6fdf37e6b7fcde0d90b +986423e5960a5d9fbb4c956556e8df90cbfaec476fa36fd9a5c8175c9af513fe +d919c2ddd26bdc0d99398b9f4d03d5993dfc0930297866e1cd0a319b6b1fd958 +9e394a533a081c36d456a09920001a3d2199583eb9b84b4dee08e3d12939e321 +990cd249827d9648574955f61baaa11263a91b6c3d47a5190165b0c25abf6d3e +6ec187e4b05182126bb0d0323d943170b795255260f9fd25f2248d04f45dfbfb +def7ff8b19bfef637b210018ae02572b389b3f76282beb29cc301905d388c721 +59616893e774413f48de0b408bc66dce3fe17cb9f84d205839d58014d6a88823 +d9320ae93af96d97a02c4d5a2bb2b8c7925c4578003959c46e3ce1a2f0eac4bf +8b9b325e46435bde60bc54d72bc8acb5c0a34413ac87045dc7b84646a324b808 +6fd8e34217213e131c3b1510415ce45420688ed9c1d27890ec68bd7c1235faf9 +1dab3a369dd2fc3be5cf9655c7b7eda7361d7e05e5831b6b8e2eec542a7b38ee +03be4bac6079d038acb3c7c916279764547c2d51976baba94ba9866d79f13909 +95aa39b0f03103a07cbdf441b8c5669f729020af284b7ff52a29c6255fcaacf1 +74109050fba2602e72593fbcbfc26e726ee4aef97b7632bc4f5f353b5c67fed2 +3ea752a4a57b8f7feff1d7341d895f0a3a0be1d8e3391970457a967eff84f6d8 +47750b1145b8cc5bd96ee7aa99ddc9e06939e383bda41175233d58ad263ebf19 +afc0e2f840512d321166547b306c592b8a01e1fa2564b9a26dac14256414e4c8 +42616728d918c74d13c349f4186ec7b9708b86467425a6fdb3a396562f7ee4d8 +40b43621744cf8a23a6e532649b66c2a0002dd04f8f39618e4f572819dd34837 +b5a08e643fdca1505af6a1fa3ddfd1fa758013caed8acddbbb334d664dff5b53 +95601766730045c2d9f29dc2bfebde5e7720cc7d82520d57d7e67ca1d16bb0e0 +1598fdc79fb53825f274e188ee0ad0e1799f30415e80b3301ba4aa951abdb2a3 +5c0f36bd680e2cfd0d1b95ed75896e09024f83ce9c5d378d44172fe31d9db764 +8bca59da64a36cbdf16524d8e5bb779a41bc56a5c2b87c03894cc391afba6560 +e6409cb9c51432a20e699d7183e36cac37518da229aec38e417fa4e78ce77fd7 +1a05dee16820f505bb33f72df93a0d8df1328453bffb3a099a36dffe9a2fbeb6 +442d9396a46c4ac8c75e2f3c53c66ca6cde61e2d9c093cd44ecbf982a8e84a10 +0454b426c9c9213416f6fc09b862debc21b430252909f05b9d714e23c8af2510 +45b7ec0f52b7ee6d571774fdbc50c57ebb8a1781e1695a7ffe3221661bd0c9a3 +6ddd3ad04516e26cc274b96ae1c43dd170099a24cbf4efb195051eaff8b603b2 +cef01ffb72416e87ef71ab2e535b51ea535b966f963200e005f735cf65796174 +1b57d21da3ad55a614cbf2c254c4e485a25aa2a3380305b6da2cdeedf322566a +7eb9e4b90c1ad9f6f40d2d1c50d0accecce489fde2b79367249730edbd18578e +e808fdd04bb89f554667e69a6541403cd5f094e6c9603ad017be5d9d87bc9a92 +202b771959ac31bcfed0928dfb121b406633c1d6a5be4e1016ed65d6e971883d +a9b1170ef01ec45987c77a2e0a6646423c6cc7ba0619674ca33924a06b3e5620 +9b78a39eacce44bd10a9983bc6ff21454410122bc55261e813c6ac26700be50e +ab02dbbc743325325dc72663c9a10864d9c2cb145dd98df9359151865c0bd12f +f06d236ba43f3bb06a8eef419e1b773e4c4eb828e732cd8bca6ad17d69bf7ea2 +7a6c24830b9a10c9c47b546ba1ab9b3e6371b5e9460b2ce94f113e1a4c3c75aa +13205382451860506ed4c3c344c7f0f265df215aebc711cef76669cc6c83dd8a +6ed48f9c2f049bdf59cb8a1c39394c813a0a16445382792e7ba0552f46963d0a +6fa779d447bd11efa2dbb92058480b1b885b7c13904fd72d19f6034eddd79d27 +6628291faa4511f5d66da3c89458e62dcfb815bd91bf985af54a862ccb3b3b9d +01d0038fcea011468aae83cc6229520ce316bb9519703be6a49f39021e675b0f +b6da844d719c22428a61273509b25e5b210429864e905fc2d2929a53c16aebb1 +0196a4b562018a88da25e5ec027cca4701f39807eef5b859aada8d253bd245da +a3fda24b8a812c0065e7a2b1f8af21fa1dd131e4b96e3a3fad82aaa7b494daf0 +2d398be5035ff58eeaf46218d2d284ac6d4aae77bea4b86471df05e4e578315b +24aa132debd94e5ccaa2a21a670b1651317034605b72c63444390f9a1a3614cf +b6fbff5cff6b2bf934a40361d2bf9cdc7b3285f6ce2e501c8d639f01ca675eb8 +9944e426c6ca327b3749866ca651fefa10ab41d1d59f0b72ff4ab2e8f29b4bb9 +095c91e76be65c4bfafe6dbedc8121c9e02ba2041836fe9b0d45074b6deb0f24 +6a3580d7a118f1726159783370dec583429e4c506993e8e44770e3ba54bd60e8 +e5699d926579c0a3a08e2dd4dfa587f27a3e52b898edf38fe0176d3f4ac8c5ad +1a3b53c7567344c932b41b4b6232c9d0634a66e3c4ac372c07ebf0485e91c9a0 +f12792f5939eb4ff44eb40efbe0d72a7ea2a9b18c5d38ae8265f01b986f9686e +9cb43d78fbfa562082416aafc8d5c971c9831ff6723a8290445e825957a411eb +e677126aef0b761df5343c4ac77921c44f80f042d9babc2a6c91faa6f70fe2e5 +dbc197168a2f83de49994d7cc9ef74df01deecde3234ba8bf143465a8658d14a +dc1b2ff2f17e6a67a7a1e955acb712a6cc2c010a12bb18787c472b8f004f5bb8 +b228b875ba4c401ac6f82274c048dfdee21895d803301eb63a3e98df079a2a77 +15964c81488a8f0bababbc214c7c368ca9111eb2c08a3fbb4ac270dd1ede653a +6d5413ad84aa83ff54eec82a2d1c05e8b95d6087f867a34d54edda787038e4a6 +092c7eee09576817333f +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F11 /IVTBSA+CMMI10 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/U/.notdef/.notdef + /X/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/s/t/u/v/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef ] +ipeMakeFont +%%EndSetup +q np +262.89 257.459 m +285.066 257.459 307.243 247.654 307.243 237.849 c +307.243 228.044 285.066 218.24 262.89 218.24 c +240.714 218.24 218.537 228.044 218.537 237.849 c +218.537 247.654 240.714 257.459 262.89 257.459 c +h 0.4 w S +Q +q np +262.585 251.467 m +262.585 265.662 252.654 279.856 242.724 279.856 c +232.794 279.856 222.864 265.662 222.864 251.467 c +222.864 237.273 232.794 223.079 242.724 223.079 c +252.654 223.079 262.585 237.273 262.585 251.467 c +h 0.4 w S +Q +q 1 0 0 1 308.396 246.532 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.192 cm +BT +/F11 9.963 Tf 0 785.192 Td[(U)]TJ +ET +Q +q 1 0 0 1 215.536 271.49 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.192 cm +BT +/F11 9.963 Tf 0 785.192 Td[(X)]TJ +ET +Q +q np +248.146 232.718 m +248.146 233.546 247.475 234.218 246.646 234.218 c +245.818 234.218 245.146 233.546 245.146 232.718 c +245.146 231.89 245.818 231.218 246.646 231.218 c +247.475 231.218 248.146 231.89 248.146 232.718 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 235.988 230.453 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(s)]TJ +ET +Q +q np +290.672 236.201 m +290.672 237.03 290 237.701 289.172 237.701 c +288.344 237.701 287.672 237.03 287.672 236.201 c +287.672 235.373 288.344 234.701 289.172 234.701 c +290 234.701 290.672 235.373 290.672 236.201 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 278.513 233.937 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(v)]TJ +ET +Q +q np +255.832 246.662 m +255.832 247.491 255.16 248.162 254.332 248.162 c +253.503 248.162 252.832 247.491 252.832 246.662 c +252.832 245.834 253.503 245.162 254.332 245.162 c +255.16 245.162 255.832 245.834 255.832 246.662 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 243.673 244.398 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(u)]TJ +ET +Q +q np +247.517 264.781 m +247.517 265.609 246.846 266.281 246.017 266.281 c +245.189 266.281 244.517 265.609 244.517 264.781 c +244.517 263.952 245.189 263.281 246.017 263.281 c +246.846 263.281 247.517 263.952 247.517 264.781 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 235.359 262.516 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.872 cm +BT +/F11 9.963 Tf 0 785.872 Td[(t)]TJ +ET +Q +showpage +%%BeginIpeXml: /FlateDecode +%GhTQjcYhJk%*%ab$:H!t +%VW!WKI3T`+dK3H:MISS%iX6!^7-KDJbioU0E0o-92?EoqeeWj7ijr=SrV,`"?!92Ho-]7Ud#]KS +%P]j^>>NbJNO-i?^@(GXl)mL,/khJ-N5NmVT^Z?E6aNsSnhj$V."C#^tV!q,W*gc!$m&;#FLb+%e> +%jWjs!FIi7@6ik?\jpdeeG2q6Bp^Bp`^i?r?*#=UaE3P<_Mo'\BAS#rVsZQS;>&fM2D[aB"@`%F!&>Q)qoO2jj+QS +%DXo5=4R2\4\=M>):25Dd`Wi9U?p:_taDr0h(sl&l(+jD%i]"oE_uq(?1QHakl,q*!n9+C;SQHn% +%~> +%%EndIpeXml +%%Trailer +end +%%EOF diff --git a/4-ght/4-ght-htl.eps b/4-ght/4-ght-htl.eps new file mode 100644 index 0000000..e8fadbf --- /dev/null +++ b/4-ght/4-ght-htl.eps @@ -0,0 +1,554 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Ipelib 60023 (Ipe 6.0 preview 23) +%%CreationDate: D:20060416125142 +%%LanguageLevel: 2 +%%BoundingBox: 146 273 354 347 +%%HiResBoundingBox: 146.311 273.148 353.58 346.548 +%%DocumentSuppliedResources: font OKGJHK+CMR10 +%%+ font EWAIFU+CMMI10 +%%+ font KYJAJC+CMSY10 +%%EndComments +%%BeginProlog +%%BeginResource: procset ipe 6.0 60023 +/ipe 40 dict def ipe begin +/np { newpath } def +/m { moveto } def +/l { lineto } def +/c { curveto } def +/h { closepath } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/d { setdash } def +/w { setlinewidth } def +/J { setlinecap } def +/j { setlinejoin } def +/cm { [ 7 1 roll ] concat } def +/q { gsave } def +/Q { grestore } def +/g { setgray } def +/rg { setrgbcolor } def +/G { setgray } def +/RG { setrgbcolor } def +/S { stroke } def +/f* { eofill } def +/f { fill } def +/ipeMakeFont { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/ipeFontSize 0 def +/Tf { dup /ipeFontSize exch store selectfont } def +/Td { translate } def +/BT { gsave } def +/ET { grestore } def +/TJ { 0 0 moveto { dup type /stringtype eq + { show } { ipeFontSize mul -0.001 mul 0 rmoveto } ifelse +} forall } def +end +%%EndResource +%%EndProlog +%%BeginSetup +ipe begin +%%BeginResource: font OKGJHK+CMR10 +%!PS-AdobeFont-1.1: CMR10 1.00B +%%CreationDate: 1992 Feb 19 19:54:52 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /OKGJHK+CMR10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 40 /parenleft put +dup 41 /parenright put +readonly def +/FontBBox{-251 -250 1009 969}readonly def +/UniqueID 5000793 def +currentdict end +currentfile eexec +d9d66f633b846a97b686a97e45a3d0aa052a014267b7904eb3c0d3bd0b83d891 +016ca6ca4b712adeb258faab9a130ee605e61f77fc1b738abc7c51cd46ef8171 +9098d5fee67660e69a7ab91b58f29a4d79e57022f783eb0fbbb6d4f4ec35014f +d2decba99459a4c59df0c6eba150284454e707dc2100c15b76b4c19b84363758 +469a6c558785b226332152109871a9883487dd7710949204ddcf837e6a8708b8 +2bdbf16fbc7512faa308a093fe5cf7158f1163bc1f3352e22a1452e73feca8a4 +87100fb1ffc4c8af409b2067537220e605da0852ca49839e1386af9d7a1a455f +d1f017ce45884d76ef2cb9bc5821fd25365ddea6e45f332b5f68a44ad8a530f0 +92a36fac8d27f9087afeea2096f839a2bc4b937f24e080ef7c0f9374a18d565c +295a05210db96a23175ac59a9bd0147a310ef49c551a417e0a22703f94ff7b75 +409a5d417da6730a69e310fa6a4229fc7e4f620b0fc4c63c50e99e179eb51e4c +4bc45217722f1e8e40f1e1428e792eafe05c5a50d38c52114dfcd24d54027cbf +2512dd116f0463de4052a7ad53b641a27e81e481947884ce35661b49153fa19e +0a2a860c7b61558671303de6ae06a80e4e450e17067676e6bbb42a9a24acbc3e +b0ca7b7a3bfea84fed39ccfb6d545bb2bcc49e5e16976407ab9d94556cd4f008 +24ef579b6800b6dc3aaf840b3fc6822872368e3b4274dd06ca36af8f6346c11b +43c772cc242f3b212c4bd7018d71a1a74c9a94ed0093a5fb6557f4e0751047af +d72098eca301b8ae68110f983796e581f106144951df5b750432a230fda3b575 +5a38b5e7972aabc12306a01a99fcf8189d71b8dbf49550baea9cf1b97cbfc7cc +96498ecc938b1a1710b670657de923a659db8757147b140a48067328e7e3f9c3 +7d1888b284904301450ce0bc15eeea00e48ccd6388f3fc3c8578ef9a20a0e06e +4f7addaf0e7d1e182d115bf1ad931977325ad391e72e2b13cc108e3726c11099 +e2000623188aaac9f3e233eb253bdd8b0a4759a66a113e066238b0086ac1b634 +5abff90e4b5ed3fa69c22541981b2bfc9710aef6b50a8bb53431c7b4d380d721 +639e005d6b4688ee16bff48443e7c9e5fb5bc5883e271cb034289232a0694cce +12a5a2637485fb47bc281a2129edc23d8091fb4f93a6b82e666703e6a2816bba +ea4d74e605325f713552a653349310ea0929fa02d1f9ed57de58e1928e0ca31d +070a4c7036ed071ac3f6429c76912fcb605a98a3307024a00afe54d463628836 +e6098757cd50e1d40fa54d41bc2fdc30f5cc9042e5d704d1712fc0a4b907a61a +3fbc6271bea1021043e2c35e830d2c44e1a54aba687535a0e1cb727bb7c902d2 +5df97d44fb85c8397f1c1e14c11dbfd563a205f1e248f250549cd4689f361c71 +948ebfd988b5b8b8fb1d7051f234e4ea5c9cb798d99c17715d0799f60feac8a8 +8589452e8932a9e7844e816b3d0f18f1d542d05600cad430e88f8298961d8fda +a630894c90d2505f9ad25f555f8c56518921ad52b39beb69f9ad1ed552b3cf16 +13ccadbc2933a59af6cf80f892efdb0d4e5cd766094aef332323ccffafa32fa0 +07bfeb8985c120d623c4e2323f6e4a3fe0086795c3043b988701add821404586 +0cd3e21e107a25d661bcb329db6a7083217b438f19710ca275e336ad37e90d10 +4cf8e8410e0311297d1e1dceb8c8a662c6735da66e9cd443 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F8 /OKGJHK+CMR10 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /parenleft/parenright/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef ] +ipeMakeFont +%%BeginResource: font EWAIFU+CMMI10 +%!PS-AdobeFont-1.1: CMMI10 1.100 +%%CreationDate: 1996 Jul 23 07:53:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /EWAIFU+CMMI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 14 /delta put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +readonly def +/FontBBox{-32 -250 1048 750}readonly def +/UniqueID 5087385 def +currentdict end +currentfile eexec +d9d66f633b846a97b686a97e45a3d0aa0529731c99a784ccbe85b4993b2eebde +3b12d472b7cf54651ef21185116a69ab1096ed4bad2f646635e019b6417cc77b +532f85d811c70d1429a19a5307ef63eb5c5e02c89fc6c20f6d9d89e7d91fe470 +b72befda23f5df76be05af4ce93137a219ed8a04a9d7d6fdf37e6b7fcde0d90b +986423e5960a5d9fbb4c956556e8df90cbfaec476fa36fd9a5c8175c9af513fe +d919c2ddd26bdc0d99398b9f4d03d5993dfc0930297866e1cd0a319b6b1fd958 +9e394a533a081c36d456a09920001a3d2199583eb9b84b4dee08e3d12939e321 +990cd249827d9648574955f61baaa11263a91b6c3d47a5190165b0c25abf6d3e +6ec187e4b05182126bb0d0323d943170b795255260f9fd25f2248d04f45dfbfb +def7ff8b19bfef637b210018ae02572b389b3f76282beb29cc301905d388c721 +59616893e774413f48de0b408bc66dce3fe17cb9f84d205839d58014d6a88823 +d9320ae93af96d97a02c4d5a2bb2b8c7925c4578003959c46e3ce1a2f0eac4bf +8b9b325e46435bde60bc54d72bc8acb5c0a34413ac87045dc7b84646a324b808 +6fd8e34217213e131c3b1510415ce45420688ed9c1d27890ec68bd7c1235faf9 +1dab3a369dd2fc3be5cf9655c7b7eda7361d7e05e5831b6b8e2eec542a7b38ee +03be4bac6079d038acb3c7c916279764547c2d51976baba94ba9866d79f13909 +95aa39b0f03103a07cbdf441b8c5669f729020af284b7ff52a29c6255fcaacf1 +74109050fba2602e72593fbcbfc26e726ee4aef97b7632bc4f5f353b5c67fed2 +3ea752a4a57b8f7feff1d7341d895f0a3a0be1d8e3391970457a967eff84f6d8 +47750b1145b8cc5bd96ee7aa99ddc9e06939e383bda41175233d58ad263ebf19 +afc0e2f840512d321166547b306c592b8a01e1fa2564b9a26dac14256414e4c8 +42616728d918c74d13c349f4186ec7b9708b86467425a6fdb3a396562f7ee4d8 +40b43621744cf8a23a6e532649b66c2a0002dd04f8f39618e4f572819dd34837 +b5a08e643fdca1505af6a1fa3ddfd1fa758013caed8acddbbb334d664dff5b53 +956017667d1074fe5415f315cfc941447d57558e64b9dc9ad50cbaa94f0faa68 +d4872639380366f40ebc7c737a6a6a4898116eaba307ee04667b75540cf65c8e +39f3e927e746b46aa74f2e3e5f8a90a73a64c6cc0fcdf82556552e57b98740da +8f6c3c3d8f20d98e80bf0819cd8d2fc7086437c221f5dca0f16ac69cbdae79a3 +58249a65ce9fa739a44530636b6cb4723673cf19dd001b1f21a3f5a14651ffbc +ee5ac8658f123a6f14f7b4c37f38bc873485c35db451085de95859adf21d70eb +768e2182bd7f1e41aee9f3c9ca5cb50ce78e1cf0e97b73cb7b1f5deaecc205e3 +0b95d92c5023401833bab5c3a5c2312393491dd099257a08e7b56f64c78a65db +451a820e7b831d7bd63e1f2cf935f0f71e4dfe9d7ad8600f4b0a46a5059b65a0 +7eb0c543200d644a14966343122a4ad43fa7dd7cf1e3e6bd006972fec9b150fe +278f2a502669c4ff4820a1886175b53e94d2e8d239ab1dc935ad1c04f9978695 +5339fe8cfc6697e7ecc0c1222ab43ac3fde05204c5eea4ee194176ef6a99f9ea +496a16b7969cdbdc2ea16765ff041b18aaad544268dcb21de9643cac6f9a3bf4 +ab79e5d7d71cf1a3e2a907d522dd7fb5a2271059a123d5840286ab2b8ba50f56 +49bd305f4880db2edf41ddb3917e95d1d058df1fc8769006cbe8f1ac6029a242 +2adebc9a04ed9599709bd532736a21f7f6ee77d8ec6acc69c9b25bd8cfa2636f +d01ec9d41af23233b24373b8c2499f6b35fb2507542f95f538ae2fe7a0aac6c4 +e552dcccfd4e0bb62cc41e76a2959fb230247cb60a0402b5b6f49e734f72c38e +33ee916efe78d06f303d3ed9e56a59185214fe3837d9a0e2a3861283af14811e +a52ec0b103eaa8ba37ecc6e288856a96771adb84ea4d6c74c4d19fa1d8972c4f +eb3bc64bb2d76cfd8c407cf5c455d4ce2e494a998bddab5d0cef48c91372d9e3 +48f909a44847d517ba299d1abed62527b3d78273e95eaef3ff88d942d8979094 +f6bba10b96f546830ca33651b9ad0c4b7213da38c6e710621d75af29ab978de2 +1760526aefc435669ab92e2d394a9b76a0cc2774df7410a2ea3da90198172bce +5aa30bc498c872c753da9cee403b59af5fce567bbbd5ae92d15d5c3bcd27d6c2 +9e06a1453a8d9c74cec80f00e4c67fcc88f9865100a45af52bfffb01c4d414c6 +b2f356eba15caf721cebd2f0a4efdbef4d3e441d20012c78bfba8205d22702fb +37a201b6f8fad751fc415849fb10cbd936c71609505e4f98a5270491c9e5f8be +d8d5863689e09a1247d8992acf25f84ccb9f92923369863bd9410196a75af962 +e072801bde96512e5574c52f963b9cc6229dffaaa8e428617ce2b2650db83ff6 +0775e09cc76a62911c198110a34beaf23f1a470ca138e8a05a274f1b3aa177b0 +3a6fee009e9d08912ac9cdefc8124735ed4bce2440b8b63e413458d9cc9e5692 +af57c58dc3d2b90be03b13e9078e4a505c334d9d3773ec1419955756a28755fe +11d32d1375e4863c1bf51ac0bc357dd5627fa9c2590ac8c7669a818e2b050e60 +3ca05139084a68be41c7cc71f152c8a7fb98a5da7a79d97bbc7f94bc0a2e6643 +7c8966f4efa41a51017f5581647427f9140092acc845432428f3352c1deea72a +7b730886316748004d3df6b93aee96fe8bed7674496c96756ed1c319883f35ea +a39cae133e08e4e87fa35dcfca352f63e279ca15a7dfb1d96596885f07141d94 +b742104215f1d9bdf7d1ca24c78f91e56b216e018f5c43657a214f612b2e4d22 +29a151d7209d2e955d259c83744b554de802f67998ba2a372f2779a48a0845c7 +41227aee6478596cb59a260336ee9db5fcb59efbbc1aa2a34101ceb43c82931a +466e202f2021d66d977d3b8b3f467de3aabcb8fbae23ec24faf15c39e5c8d476 +c9e4640803f7f39fe764c51413bada3870f3c6b2f55f4d0ea380a286e1bcbc2d +6f22db43ded53fb088c2db0a2cc9d54e8fa1e99b6abc9734c971451e0c8a4702 +52c16bb33e74498f8b8193088a52d827de016a1e1714718fe7bf05152d5dbc01 +4b369f6621e4ec2af31d66c093afade5385a994125c5a2835bb00eb5a372c94e +08f315971507ae0ab0fd5e6e2a690c2ce8b09fa78f59709c7252bb48578302a0 +4ecc782aeed5176784d814a2ca2c829dfbb634867928e2a58d8157c7bed8c3a1 +c2417786f364f5b43629449d7623a403175c7f37315b4673dbd9ded4ce4c9c33 +478d654247307a5f8e361e1da6e17232d8e68068176f03c9f508de01a0ac6cee +473f05d86361d5289570201a37c54c62779441b34ffae354e6e8cf62eb02b234 +335fad5b76d4c3fe088f2ce8692df7b711657735b9afeb6d38ea4996009768f2 +da6dace57649c17a7ebc09edc828be1e8fca3d24145a9e9df384e8c20db1717a +f6cc7b11ceb22c66eae812392c +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F11 /EWAIFU+CMMI10 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/delta/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/U/V/W + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/s/t/u/v/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef ] +ipeMakeFont +%%BeginResource: font KYJAJC+CMSY10 +%!PS-AdobeFont-1.1: CMSY10 1.0 +%%CreationDate: 1991 Aug 15 07:20:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +end readonly def +/FontName /KYJAJC+CMSY10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 110 /backslash put +readonly def +/FontBBox{-29 -960 1116 775}readonly def +/UniqueID 5000820 def +currentdict end +currentfile eexec +d9d66f633b846a97b686a97e45a3d0aa052f09f9c8ade9d907c058b87e9b6964 +7d53359e51216774a4eaa1e2b58ec3176bd1184a633b951372b4198d4e8c5ef4 +a213acb58aa0a658908035bf2ed8531779838a960dfe2b27ea49c37156989c85 +e21b3abf72e39a89232cd9f4237fc80c9e64e8425aa3bef7ded60b122a52922a +221a37d9a807dd01161779dde7d31ff2b87f97c73d63eecdda4c49501773468a +27d1663e0b62f461f6e40a5d6676d1d12b51e641c1d4e8e2771864fc104f8cbf +5b78ec1d88228725f1c453a678f58a7e1b7bd7ca700717d288eb8da1f57c4f09 +0abf1d42c5ddd0c384c7e22f8f8047be1d4c1cc8e33368fb1ac82b4e96146730 +de3302b2e6b819cb6ae455b1af3187ffe8071aa57ef8a6616b9cb7941d44ec7a +71a7bb3df755178d7d2e4bb69859efa4bbc30bd6bb1531133fd4d9438ff99f09 +4ecc068a324d75b5f696b8688eeb2f17e5ed34ccd6d047a4e3806d000c199d7c +515db70a8d4f6146fe068dc1e5de8bc5703711da090312ba3fc00a08c453c609 +c627a8bed9d34a46d95f127e027208800126fc7c055dbecbfbbe2d555f32f25c +e5128da02d79b817e501eb8dc842e38a17e95d35eb15b9ecf95575c642b038cb +00a3eaf58ab814dbe2b79d5a9eb3e27874245882face414782bfc02ec917ce65 +889bbb376bf5083d427da3d909d4af1dd741671f10071912b7e0000c5b686e18 +c66bd02300ae5a2f391ffb363ce84b93477835d6043c603875d9786fba620097 +bfe03d1c839a4d359ab4c44de3db2ac2f050b50c0e497123ff1c2dc73abe58d8 +d1952c95ac0d659b31b5b4131c34a99a523f795c8db37eaf88 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F14 /KYJAJC+CMSY10 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/backslash/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef ] +ipeMakeFont +%%EndSetup +q np +235.092 317.989 m +225.19 322.94 215.288 327.891 205.386 330.367 c +195.483 332.842 185.581 332.842 175.679 330.367 c +165.777 327.891 155.875 322.94 150.924 315.514 c +145.973 308.087 145.973 298.185 150.924 290.758 c +155.875 283.332 165.777 278.381 175.679 275.905 c +185.581 273.43 195.483 273.43 205.386 275.905 c +215.288 278.381 225.19 283.332 235.092 288.283 c +244.994 293.234 254.896 298.185 254.896 303.136 c +254.896 308.087 244.994 313.038 235.092 317.989 c +h 1 g q f* Q 0.4 w 0 g S +Q +q np +264.798 317.989 m +274.701 322.94 284.603 327.891 294.505 330.367 c +304.407 332.842 314.309 332.842 324.211 330.367 c +334.113 327.891 344.016 322.94 348.967 315.514 c +353.918 308.087 353.918 298.185 348.967 290.758 c +344.016 283.332 334.113 278.381 324.211 275.905 c +314.309 273.43 304.407 273.43 294.505 275.905 c +284.603 278.381 274.701 283.332 264.798 288.283 c +254.896 293.234 244.994 298.185 244.994 303.136 c +244.994 308.087 254.896 313.038 264.798 317.989 c +h 1 g q f* Q 0.4 w 0 g S +Q +q np +262.323 315.514 m +264.798 308.087 264.798 298.185 262.323 290.758 c +259.847 283.332 254.896 278.381 249.945 278.381 c +244.994 278.381 240.043 283.332 237.568 290.758 c +235.092 298.185 235.092 308.087 237.568 315.514 c +240.043 322.94 244.994 327.891 249.945 327.891 c +254.896 327.891 259.847 322.94 262.323 315.514 c +h 1 g q f* Q 0.4 w 0 g S +Q +q 1 0 0 1 239.09 298.102 cm 1 0 0 1 0 0 cm 1 0 0 1 0 2.491 cm +0 0 0 rg 0 0 0 RG +1 0 0 1 0 -784.528 cm +BT +/F11 9.963 Tf 0 784.528 Td[(\016)]TJ/F8 9.963 Tf 4.805 0 Td[(\050)]TJ/F11 9.963 Tf 3.874 0 Td[(U)]TJ/F8 9.963 Tf 7.889 0 Td[(\051)]TJ +ET +Q +q 1 0 0 1 156.899 302.322 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(s)]TJ +ET +Q +q 1 0 0 1 322.108 302.478 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.872 cm +BT +/F11 9.963 Tf 0 785.872 Td[(t)]TJ +ET +Q +q np +167.132 303.948 m +167.132 304.776 166.46 305.448 165.632 305.448 c +164.803 305.448 164.132 304.776 164.132 303.948 c +164.132 303.119 164.803 302.448 165.632 302.448 c +166.46 302.448 167.132 303.119 167.132 303.948 c +h q f* Q 0.6 w S +Q +q np +319.151 305.339 m +319.151 306.168 318.48 306.839 317.651 306.839 c +316.823 306.839 316.151 306.168 316.151 305.339 c +316.151 304.511 316.823 303.839 317.651 303.839 c +318.48 303.839 319.151 304.511 319.151 305.339 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 187 337.491 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.192 cm +BT +/F11 9.963 Tf 0 785.192 Td[(U)]TJ +ET +Q +q 1 0 0 1 297.491 336.585 cm 1 0 0 1 0 0 cm 1 0 0 1 0 2.491 cm +0 0 0 rg 0 0 0 RG +1 0 0 1 0 -784.528 cm +BT +/F11 9.963 Tf 0 784.528 Td[(V)]TJ/F14 9.963 Tf 10.239 0 Td[(n)]TJ/F11 9.963 Tf 7.196 0 Td[(U)]TJ +ET +Q +q 1 0 0 1 187.692 319.529 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(u)]TJ +ET +Q +q np +197.924 321.155 m +197.924 321.984 197.252 322.655 196.424 322.655 c +195.596 322.655 194.924 321.984 194.924 321.155 c +194.924 320.327 195.596 319.655 196.424 319.655 c +197.252 319.655 197.924 320.327 197.924 321.155 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 186.786 284.208 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(v)]TJ +ET +Q +q np +197.018 285.835 m +197.018 286.663 196.347 287.335 195.518 287.335 c +194.69 287.335 194.018 286.663 194.018 285.835 c +194.018 285.006 194.69 284.335 195.518 284.335 c +196.347 284.335 197.018 285.006 197.018 285.835 c +h q f* Q 0.6 w S +Q +q np +159.83 283.151 m +168.168 298.801 187.614 304.729 203.264 296.391 c +209.803 292.908 214.936 287.27 217.792 280.434 c +0.4 w S +Q +q 1 0 0 1 167.075 283.151 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.192 cm +BT +/F11 9.963 Tf 0 785.192 Td[(W)]TJ +ET +Q +showpage +%%BeginIpeXml: /FlateDecode +%GhTisbu3:M&BF6bMB*4_p(0[M+!&S)QTbE:Ko;*"U;;[L[Kt6Xn&iHLBF6IGbtLU8[$#n8f<3]& +%YmIWDD&;M4=_LF<-t(F,TB`j9^>Y_3'UgprA%74T\.6^GbCTd!jV1h=MmLN>gg&FBH!shk?b^PP +%23gikc@p3sX'Wfhpi9%_S.5(8I9.2B[VkT.R,Me>^C"r1`aos9L9b2JDc-?-d)*f+Z,]qjb4hbr +%=$P1Dh;B(uDP(&h5-9!/O%*DilYA>G=+5.KJ3L@Q0dq%s$EbO6q"V]ciD*JdMATicq(buN=kp/h +%$3`6e[G03ug/eR&%0pen_-C,tVB7)s;deplG_L%Zl]gZl#%/P- +%K2X-6b>9Mbl2:.pkq#aS#s/k3.B.s!(.9)l#@)@9BRL_!U?*Fs&oQMM/:E_h)b2;&!a5UuTFSt* +%n8Vq=,sBI"LiRYLW!VL-"CTpcY'kZqVM%VdTi#3R&_->:5tgb(!I'uOL3dtmT2GEBrFSQ;_h9@s +%EPV2*pj:%6a/I6>&X6]`0GMps\/V0/BU@2+&Tm]Mm"SX>9Qj'9Ps)O(dp6S"H%h14L[MXH3$/qe +%(sL'kO$mI&clr.n1.4e73^$P4j8q1c#ESB4qaD=L3c8gr)!T8oi_`gW?n+%>:j5TJiq5g\qfD@@ +%>j,\YCTDtYJp4EpTTG[)>Xl"M#U@@N'p$anftY%l[NfpV=EU.L\>)IE*(?Wf3)oI?QS#'g\cii] +%6'u,cT&>N*imt2_ZF.)-n]\MKokh5#5"9S"N~> +%%EndIpeXml +%%Trailer +end +%%EOF diff --git a/4-ght/4-ght-rez.eps b/4-ght/4-ght-rez.eps new file mode 100644 index 0000000..6448692 --- /dev/null +++ b/4-ght/4-ght-rez.eps @@ -0,0 +1,382 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Ipelib 60023 (Ipe 6.0 preview 23) +%%CreationDate: D:20060422112910 +%%LanguageLevel: 2 +%%BoundingBox: 144 274 298 324 +%%HiResBoundingBox: 144.276 274.484 297.607 323.39 +%%DocumentSuppliedResources: font NLBCTM+CMR10 +%%+ font DRECHV+CMMI10 +%%EndComments +%%BeginProlog +%%BeginResource: procset ipe 6.0 60023 +/ipe 40 dict def ipe begin +/np { newpath } def +/m { moveto } def +/l { lineto } def +/c { curveto } def +/h { closepath } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/d { setdash } def +/w { setlinewidth } def +/J { setlinecap } def +/j { setlinejoin } def +/cm { [ 7 1 roll ] concat } def +/q { gsave } def +/Q { grestore } def +/g { setgray } def +/rg { setrgbcolor } def +/G { setgray } def +/RG { setrgbcolor } def +/S { stroke } def +/f* { eofill } def +/f { fill } def +/ipeMakeFont { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/ipeFontSize 0 def +/Tf { dup /ipeFontSize exch store selectfont } def +/Td { translate } def +/BT { gsave } def +/ET { grestore } def +/TJ { 0 0 moveto { dup type /stringtype eq + { show } { ipeFontSize mul -0.001 mul 0 rmoveto } ifelse +} forall } def +end +%%EndResource +%%EndProlog +%%BeginSetup +ipe begin +%%BeginResource: font NLBCTM+CMR10 +%!PS-AdobeFont-1.1: CMR10 1.00B +%%CreationDate: 1992 Feb 19 19:54:52 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /NLBCTM+CMR10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 40 /parenleft put +dup 41 /parenright put +readonly def +/FontBBox{-251 -250 1009 969}readonly def +/UniqueID 5000793 def +currentdict end +currentfile eexec +d9d66f633b846a97b686a97e45a3d0aa052a014267b7904eb3c0d3bd0b83d891 +016ca6ca4b712adeb258faab9a130ee605e61f77fc1b738abc7c51cd46ef8171 +9098d5fee67660e69a7ab91b58f29a4d79e57022f783eb0fbbb6d4f4ec35014f +d2decba99459a4c59df0c6eba150284454e707dc2100c15b76b4c19b84363758 +469a6c558785b226332152109871a9883487dd7710949204ddcf837e6a8708b8 +2bdbf16fbc7512faa308a093fe5cf7158f1163bc1f3352e22a1452e73feca8a4 +87100fb1ffc4c8af409b2067537220e605da0852ca49839e1386af9d7a1a455f +d1f017ce45884d76ef2cb9bc5821fd25365ddea6e45f332b5f68a44ad8a530f0 +92a36fac8d27f9087afeea2096f839a2bc4b937f24e080ef7c0f9374a18d565c +295a05210db96a23175ac59a9bd0147a310ef49c551a417e0a22703f94ff7b75 +409a5d417da6730a69e310fa6a4229fc7e4f620b0fc4c63c50e99e179eb51e4c +4bc45217722f1e8e40f1e1428e792eafe05c5a50d38c52114dfcd24d54027cbf +2512dd116f0463de4052a7ad53b641a27e81e481947884ce35661b49153fa19e +0a2a860c7b61558671303de6ae06a80e4e450e17067676e6bbb42a9a24acbc3e +b0ca7b7a3bfea84fed39ccfb6d545bb2bcc49e5e16976407ab9d94556cd4f008 +24ef579b6800b6dc3aaf840b3fc6822872368e3b4274dd06ca36af8f6346c11b +43c772cc242f3b212c4bd7018d71a1a74c9a94ed0093a5fb6557f4e0751047af +d72098eca301b8ae68110f983796e581f106144951df5b750432a230fda3b575 +5a38b5e7972aabc12306a01a99fcf8189d71b8dbf49550baea9cf1b97cbfc7cc +96498ecc938b1a1710b670657de923a659db8757147b140a48067328e7e3f9c3 +7d1888b284904301450ce0bc15eeea00e48ccd6388f3fc3c8578ef9a20a0e06e +4f7addaf0e7d1e182d115bf1ad931977325ad391e72e2b13cc108e3726c11099 +e2000623188aaac9f3e233eb253bdd8b0a4759a66a113e066238b0086ac1b634 +5abff90e4b5ed3fa69c22541981b2bfc9710aef6b50a8bb53431c7b4d380d721 +639e005d6b4688ee16bff48443e7c9e5fb5bc5883e271cb034289232a0694cce +12a5a2637485fb47bc281a2129edc23d8091fb4f93a6b82e666703e6a2816bba +ea4d74e605325f713552a653349310ea0929fa02d1f9ed57de58e1928e0ca31d +070a4c7036ed071ac3f6429c76912fcb605a98a3307024a00afe54d463628836 +e6098757cd50e1d40fa54d41bc2fdc30f5cc9042e5d704d1712fc0a4b907a61a +3fbc6271bea1021043e2c35e830d2c44e1a54aba687535a0e1cb727bb7c902d2 +5df97d44fb85c8397f1c1e14c11dbfd563a205f1e248f250549cd4689f361c71 +948ebfd988b5b8b8fb1d7051f234e4ea5c9cb798d99c17715d0799f60feac8a8 +8589452e8932a9e7844e816b3d0f18f1d542d05600cad430e88f8298961d8fda +a630894c90d2505f9ad25f555f8c56518921ad52b39beb69f9ad1ed552b3cf16 +13ccadbc2933a59af6cf80f892efdb0d4e5cd766094aef332323ccffafa32fa0 +07bfeb8985c120d623c4e2323f6e4a3fe0086795c3043b988701add821404586 +0cd3e21e107a25d661bcb329db6a7083217b438f19710ca275e336ad37e90d10 +4cf8e8410e0311297d1e1dceb8c8a662c6735da66e9cd443 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F8 /NLBCTM+CMR10 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /parenleft/parenright/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef ] +ipeMakeFont +%%BeginResource: font DRECHV+CMMI10 +%!PS-AdobeFont-1.1: CMMI10 1.100 +%%CreationDate: 1996 Jul 23 07:53:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /DRECHV+CMMI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 14 /delta put +dup 87 /W put +dup 120 /x put +dup 122 /z put +readonly def +/FontBBox{-32 -250 1048 750}readonly def +/UniqueID 5087385 def +currentdict end +currentfile eexec +d9d66f633b846a97b686a97e45a3d0aa0529731c99a784ccbe85b4993b2eebde +3b12d472b7cf54651ef21185116a69ab1096ed4bad2f646635e019b6417cc77b +532f85d811c70d1429a19a5307ef63eb5c5e02c89fc6c20f6d9d89e7d91fe470 +b72befda23f5df76be05af4ce93137a219ed8a04a9d7d6fdf37e6b7fcde0d90b +986423e5960a5d9fbb4c956556e8df90cbfaec476fa36fd9a5c8175c9af513fe +d919c2ddd26bdc0d99398b9f4d03d5993dfc0930297866e1cd0a319b6b1fd958 +9e394a533a081c36d456a09920001a3d2199583eb9b84b4dee08e3d12939e321 +990cd249827d9648574955f61baaa11263a91b6c3d47a5190165b0c25abf6d3e +6ec187e4b05182126bb0d0323d943170b795255260f9fd25f2248d04f45dfbfb +def7ff8b19bfef637b210018ae02572b389b3f76282beb29cc301905d388c721 +59616893e774413f48de0b408bc66dce3fe17cb9f84d205839d58014d6a88823 +d9320ae93af96d97a02c4d5a2bb2b8c7925c4578003959c46e3ce1a2f0eac4bf +8b9b325e46435bde60bc54d72bc8acb5c0a34413ac87045dc7b84646a324b808 +6fd8e34217213e131c3b1510415ce45420688ed9c1d27890ec68bd7c1235faf9 +1dab3a369dd2fc3be5cf9655c7b7eda7361d7e05e5831b6b8e2eec542a7b38ee +03be4bac6079d038acb3c7c916279764547c2d51976baba94ba9866d79f13909 +95aa39b0f03103a07cbdf441b8c5669f729020af284b7ff52a29c6255fcaacf1 +74109050fba2602e72593fbcbfc26e726ee4aef97b7632bc4f5f353b5c67fed2 +3ea752a4a57b8f7feff1d7341d895f0a3a0be1d8e3391970457a967eff84f6d8 +47750b1145b8cc5bd96ee7aa99ddc9e06939e383bda41175233d58ad263ebf19 +afc0e2f840512d321166547b306c592b8a01e1fa2564b9a26dac14256414e4c8 +42616728d918c74d13c349f4186ec7b9708b86467425a6fdb3a396562f7ee4d8 +40b43621744cf8a23a6e532649b66c2a0002dd04f8f39618e4f572819dd34837 +b5a08e643fdca1505af6a1fa3ddfd1fa758013caed8acddbbb334d664dff5b53 +9560176671a33fc55340cd04c2de46fd812fc2711a85f27b177a8a2cd86ce84b +d5d79c949049eee98f15937c0b281e1be7055482e990965c1d41d297814c29ba +d54a202cc557f1c870a2258a95a1714c05a9b3cc3bc6415fb364975dc52f13aa +266ee88b76058f6206d0479063e1e109555c62be0380e7cb35e4a434b576ca99 +a45e351df4bb0359c9602df281e033999171f2bc9e3d55646bc3fe129cf8431b +a0b038fc67dbec3a2d24091a404604edc5d5d7d8c0c0db3811a2e98338570b86 +5a909acb992495e4675663a006fb5186663b3366e2e9d515a056f23f7c77d046 +6732bc002de707a4236cd54bf511edda6edf9d25a6d9eb9e7a63d9b183fea2a4 +ecc0ff5b7e897feb55aaac2d037f26975ddac3f6b86d04050ca813c9ef11bc21 +a7e37099f86f1efc9d6b0bd804d86176e8f3632aecfd8990d631eaaac927d043 +2e6655d4eeae313d3b468305542b2f46d3e7c0c062c80720f2990cba52bf421c +2fd6971c2169e2421e5116dbf2fbf4eb4347acf5dcea073d7c6c03b5dd779b87 +9acedaafa774424871561658d7890dc7d9beaf2341d8bcdf3f1940d77a985478 +424b535d6a89e5496e9f484c91a5aba02837bcf233f572e29d13a547a6b2e3b5 +17db632c154ffb5c1c2d565c68424438f601d15d1e9bc740a462395c64cd6fb1 +b95fcce90b748365d47c3055610d56a905443775f87ddd342732f1ca164fa034 +25ec8bceb94c9f5e076852c97d7d536f1a8cde8dc23d40f43c3c405678ad1e72 +06e555739fba63ec1d95806998fdf09093588418c654be333760b02ff8bdf6b0 +7fefea669143cdaab47a3a7bafd2d8607e3df61638f15ce8a6b454d7d03bedf7 +32a9b0b3e5b0ced9b155e6b051edd5b184c92a79efd1bc711c9c832b9cd1ff7a +11ec2ed630b32a129fd9db7d84120252c86d1e309ceb7ecf93a2f5471ce08a8a +a7209477b6ff8c5085e77e109a3790f9fbc8c3be7de4449c3d23de8b2b87ee11 +d93420a7ec7cec689545cfdc5303e38fbfb6c74620812c6322e06250f8a514ae +9d82bf367cf5fe907911f022a52a6580efb6a589a2711e4a8f0084abbddfb11e +8d84b2aaa458084ce2ee0bc8605bd66a385368b28abd76f4268a7bf8df834d31 +82518a370b961a040660e615a0fa4fe0e9ebea0b006664768284fc840d49ee2d +661a464b480e78c8aa19e35133a42c2262b976d4eba63efbf8cdeed370ed915e +c8b80d2bbc862e7b2e068701bbd1b04d33269dbaa3147c42b4fdfb3dd9d53a13 +2f2b407f2ec524559111de76a8a6ddb7bc94f9fc6b9c924f68a1868b4b81fb02 +36f03d031f92e1e55d6283a90194dd3ea7b7840a1b5d589844a211abb7fc4e46 +ebe094ebe8b1aef652212d7a253f37579e41e767287f8e5fe30d7080e27d3708 +dd9c41436e53f8012e7c821252a23e88af1133f8c8a2d6d13198e264016087cd +daf59421031a8c13763883ae8b9e47bd0d987c7ab505a9d4211a8c503d2e5bf3 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F11 /DRECHV+CMMI10 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/delta/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/W + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /x/.notdef/z/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef ] +ipeMakeFont +%%EndSetup +q np +209.987 308.993 m +202.685 312.645 195.382 316.296 188.079 318.122 c +180.776 319.947 173.474 319.947 166.171 318.122 c +158.868 316.296 151.566 312.645 147.914 307.168 c +144.263 301.691 144.263 294.388 147.914 288.911 c +151.566 283.434 158.868 279.782 166.171 277.957 c +173.474 276.131 180.776 276.131 188.079 277.957 c +195.382 279.782 202.685 283.434 209.987 287.085 c +217.29 290.736 224.593 294.388 224.593 298.039 c +224.593 301.691 217.29 305.342 209.987 308.993 c +h 1 g q f* Q 0.4 w 0 g S +Q +q np +231.895 308.993 m +239.198 312.645 246.501 316.296 253.804 318.122 c +261.106 319.947 268.409 319.947 275.712 318.122 c +283.014 316.296 290.317 312.645 293.968 307.168 c +297.62 301.691 297.62 294.388 293.968 288.911 c +290.317 283.434 283.014 279.782 275.712 277.957 c +268.409 276.131 261.106 276.131 253.804 277.957 c +246.501 279.782 239.198 283.434 231.895 287.085 c +224.593 290.736 217.29 294.388 217.29 298.039 c +217.29 301.691 224.593 305.342 231.895 308.993 c +h 1 g q f* Q 0.4 w 0 g S +Q +q np +233.192 310.714 m +235.547 303.648 235.547 294.227 233.192 287.161 c +230.836 280.095 226.126 275.384 221.415 275.384 c +216.704 275.384 211.994 280.095 209.638 287.161 c +207.283 294.227 207.283 303.648 209.638 310.714 c +211.994 317.78 216.704 322.49 221.415 322.49 c +226.126 322.49 230.836 317.78 233.192 310.714 c +h 1 g q f* Q 0.4 w 0 g S +Q +q 1 0 0 1 210.108 294.026 cm 1 0 0 1 0 0 cm 1 0 0 1 0 2.491 cm +0 0 0 rg 0 0 0 RG +1 0 0 1 0 -784.528 cm +BT +/F11 9.963 Tf 0 784.528 Td[(\016)]TJ/F8 9.963 Tf 4.805 0 Td[(\050)]TJ/F11 9.963 Tf 3.874 0 Td[(W)]TJ/F8 9.963 Tf 10.793 0 Td[(\051)]TJ +ET +Q +q 1 0 0 1 160.522 296.435 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(x)]TJ +ET +Q +q 1 0 0 1 271.391 296.591 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(z)]TJ +ET +Q +q np +175.282 297.608 m +175.282 298.437 174.611 299.108 173.782 299.108 c +172.954 299.108 172.282 298.437 172.282 297.608 c +172.282 296.78 172.954 296.108 173.782 296.108 c +174.611 296.108 175.282 296.78 175.282 297.608 c +h q f* Q 0.6 w S +Q +q np +265.717 299 m +265.717 299.828 265.046 300.5 264.217 300.5 c +263.389 300.5 262.717 299.828 262.717 299 c +262.717 298.171 263.389 297.5 264.217 297.5 c +265.046 297.5 265.717 298.171 265.717 299 c +h q f* Q 0.6 w S +Q +showpage +%%BeginIpeXml: /FlateDecode +%GhTQic#VP]&BF6g$AQZr4TrZSpukg?p!P5OV&*q[Mhu7aA842OqC]i]dSA4;RH[#D@eUE1@p)pQ +%+cp1N&$b$D<-&P4P0FhklGo?B_k:V3$tD9:E$@ +%-+!Z6dc%:AM7<##$pY);JlAs]pZIu_`dY]F]#<,'^C=^8`o[gS6;<0Z.6;r#7^DbMo_<<;I?>;J +%&j"6Si\r;-Io?e?[?KlQF@]nkLSAqS2g5Pkdhi[L1MrB]8+Hj+#HD7eBLr?ib\BkoD="j&T%]P5 +%,t#K%mJCnd3s5]h"KYmZi^@gp!,dVr^(\jZTj(S>li4iILiZj&sTp,?O#,>Br@dN9!M!@pcEIQOj1f\K&V8\_YFJ/PGN4n +%YE=Zn,`(GRE3"$FK,+ZtpXi`fPVQ+!mK]9:q/tmL3Q3>Q2$M*t6=h+q[S8V:9GtJo9c-Ke.D,aQ +%ho.0bA)4'4n#umeF3g>eqU'sKq+om4?`fW^nr9m*ZGKjIP&'HhEYZg.%Vq;)rZth9%]>n3'a*bC +%C&'tjcgO9O9QP!*!6lu@/q@=\_4&(BaGosSi565dcB!0f!-Gbn6nmkYS1A851XZkSRR(hD6gHNW +%r/kmm`[k.c#6i=RclYfabjT#Lph8P9IKB9SNnF~> +%%EndIpeXml +%%Trailer +end +%%EOF diff --git a/4-ght/4-ght-rezx.eps b/4-ght/4-ght-rezx.eps new file mode 100644 index 0000000..7e31cb2 --- /dev/null +++ b/4-ght/4-ght-rezx.eps @@ -0,0 +1,708 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Ipelib 60023 (Ipe 6.0 preview 23) +%%CreationDate: D:20060422125537 +%%LanguageLevel: 2 +%%BoundingBox: 74 269 419 319 +%%HiResBoundingBox: 74.5399 269.05 418.06 318.862 +%%DocumentSuppliedResources: font DENHXP+CMR7 +%%+ font EKGRPX+CMR10 +%%+ font HPEVCS+CMMI10 +%%EndComments +%%BeginProlog +%%BeginResource: procset ipe 6.0 60023 +/ipe 40 dict def ipe begin +/np { newpath } def +/m { moveto } def +/l { lineto } def +/c { curveto } def +/h { closepath } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/d { setdash } def +/w { setlinewidth } def +/J { setlinecap } def +/j { setlinejoin } def +/cm { [ 7 1 roll ] concat } def +/q { gsave } def +/Q { grestore } def +/g { setgray } def +/rg { setrgbcolor } def +/G { setgray } def +/RG { setrgbcolor } def +/S { stroke } def +/f* { eofill } def +/f { fill } def +/ipeMakeFont { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/ipeFontSize 0 def +/Tf { dup /ipeFontSize exch store selectfont } def +/Td { translate } def +/BT { gsave } def +/ET { grestore } def +/TJ { 0 0 moveto { dup type /stringtype eq + { show } { ipeFontSize mul -0.001 mul 0 rmoveto } ifelse +} forall } def +end +%%EndResource +%%EndProlog +%%BeginSetup +ipe begin +%%BeginResource: font DENHXP+CMR7 +%!PS-AdobeFont-1.1: CMR7 1.0 +%%CreationDate: 1991 Aug 20 16:39:21 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /DENHXP+CMR7 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 50 /two put +readonly def +/FontBBox{-27 -250 1122 750}readonly def +/UniqueID 5000790 def +currentdict end +currentfile eexec +d9d66f633b846a97b686a97e45a3d0aa052a014267b7904eb3c0d3bd0b83d891 +016ca6ca4b712adeb258faab9a130ee605e61f77fc1b738abc7c51cd46ef8171 +9098d5fee67660e69a7ab91b58f29a4d79e57022f783eb0fbbb6d4f4ec35014f +d2decba99459a4c59df0c6eba150284454e707dc2100c15b76b4c19b84363758 +469a6c558785b226332152109871a9883487dd7710949204ddcf837e6a8708b8 +2bdbf16fbc7512faa308a093fe5cf5b8cabb9ffc6cc3f1e9ae32f234eb60fe7d +e34995b1acff52428ea20c8ed4fd73e3935cebd40e0ead70c0887a451e1b1ac8 +47aede4191ccdb8b61345fd070fd30c4f375d8418ddd454729a251b3f61dae7c +8882384282fdd6102ae8eefede6447576afa181f27a48216a9cad730561469e4 +78b286f22328f2ae84ef183de4119c402771a249aac1fa5435690a28d1b47486 +1060c8000d3fe1bf45133cf847a24b4f8464a63cea01ec84aa22fd005e74847e +01426b6890951a7dd1f50a5f3285e1f958f11fc7f00ee26fee7c63998ea1328b +c9841c57c80946d2c2fc81346249a664ecfb08a2ce075036cea7359fca1e90c0 +f686c3bb27eefa45d548f7bd074ce60e626a4f83c69fe93a5324133a78362f30 +8e8dcc80dd0c49e137cdc9ac08bae39282e26a7a4d8c159b95f227bda2a281af +a9daebf31f504380b20812a211cf9feb112ec29a3fb3bd3e81809fc6293487a7 +455eb3b879d2b4bd46942bb1243896264722cb59146c3f65bd59b96a74b12bb2 +9a1354af174932210c6e19fe584b1b14c00e746089cbb17e68845d7b3ea05105 +eee461e3697fcf835cbe6d46c75523478e766832751cf6d96ec338bdad57d53b +52f5340fac9fe0456ad13101824234b262ac0caba43b62ebda39795bae6cfe97 +563a50aae1f195888739f2676086a9811e5c9a4a7e0bf34f3e25568930adf80f +0bddac3b634ad4ba6a59720ea4749236cf0f79aba4716c340f98517f6f06d9ab +7ed8f46fc1868b5f3d3678df71aa772cf1f7dd222c6bf19d8ef0cfb7a76fc6d1 +0ad323c176134907ab375f20cfcd667ab094e2c7cb2179c4283329c9e435e7a4 +1e042ad0baa059b3f862236180b34d3fced833472577bacd472a4cd5c7347d2e +1d0d6630f446f3708fcb29a85f40b4dab4d60aa8f5b2dbd67f2e45d80c7a7e86 +144669f75f8fa14609f8e4246fec475ed262e03d30393c78c7828206842b565a +dbe20ea52ee9c4c3862b2f5f12cf89d935b89b84a45cefceaee8ec8806339364 +56ff1fe2e5112803e3e40162d5188d2210a54816aa9960611721c23a292ae80a +8f8c0fb114d71c111700b0fea8804f37c5d31ecd7006603c53f4bdf7208286af +3a25cee58e88bf81a4800b68c2a19ebdadf9b1074702e779a7dd915efe09d35e +bd176d7346d859d0944520171c4e97696ae0502c43c391fce5e8fb1789065e18 +be3af62200d57912360411ce848b4550d1b0a3ba576f9b41ced3a23e753631a7 +25375abe8a4b55bc65ae2eafae452766961965093084d218637fb447795cc991 +eb1ef26bf82b7a81fa847abd3b559d35828ad7ddc5fc7b43c6c14e6adedd7663 +f272aa9a121630c5263d58773bcb1437ec2fc54c4af90e677a8e7d1738d003d4 +18998c03cc9ae182e7758767feb5e1b03c6cc32ad30d0abae6552290771e2cb1 +a23f469a8447c1868c6dec2c3c2bcfc691867e +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F7 /DENHXP+CMR7 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/one/two/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef ] +ipeMakeFont +%%BeginResource: font EKGRPX+CMR10 +%!PS-AdobeFont-1.1: CMR10 1.00B +%%CreationDate: 1992 Feb 19 19:54:52 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /EKGRPX+CMR10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 40 /parenleft put +dup 41 /parenright put +readonly def +/FontBBox{-251 -250 1009 969}readonly def +/UniqueID 5000793 def +currentdict end +currentfile eexec +d9d66f633b846a97b686a97e45a3d0aa052a014267b7904eb3c0d3bd0b83d891 +016ca6ca4b712adeb258faab9a130ee605e61f77fc1b738abc7c51cd46ef8171 +9098d5fee67660e69a7ab91b58f29a4d79e57022f783eb0fbbb6d4f4ec35014f +d2decba99459a4c59df0c6eba150284454e707dc2100c15b76b4c19b84363758 +469a6c558785b226332152109871a9883487dd7710949204ddcf837e6a8708b8 +2bdbf16fbc7512faa308a093fe5cf7158f1163bc1f3352e22a1452e73feca8a4 +87100fb1ffc4c8af409b2067537220e605da0852ca49839e1386af9d7a1a455f +d1f017ce45884d76ef2cb9bc5821fd25365ddea6e45f332b5f68a44ad8a530f0 +92a36fac8d27f9087afeea2096f839a2bc4b937f24e080ef7c0f9374a18d565c +295a05210db96a23175ac59a9bd0147a310ef49c551a417e0a22703f94ff7b75 +409a5d417da6730a69e310fa6a4229fc7e4f620b0fc4c63c50e99e179eb51e4c +4bc45217722f1e8e40f1e1428e792eafe05c5a50d38c52114dfcd24d54027cbf +2512dd116f0463de4052a7ad53b641a27e81e481947884ce35661b49153fa19e +0a2a860c7b61558671303de6ae06a80e4e450e17067676e6bbb42a9a24acbc3e +b0ca7b7a3bfea84fed39ccfb6d545bb2bcc49e5e16976407ab9d94556cd4f008 +24ef579b6800b6dc3aaf840b3fc6822872368e3b4274dd06ca36af8f6346c11b +43c772cc242f3b212c4bd7018d71a1a74c9a94ed0093a5fb6557f4e0751047af +d72098eca301b8ae68110f983796e581f106144951df5b750432a230fda3b575 +5a38b5e7972aabc12306a01a99fcf8189d71b8dbf49550baea9cf1b97cbfc7cc +96498ecc938b1a1710b670657de923a659db8757147b140a48067328e7e3f9c3 +7d1888b284904301450ce0bc15eeea00e48ccd6388f3fc3c8578ef9a20a0e06e +4f7addaf0e7d1e182d115bf1ad931977325ad391e72e2b13cc108e3726c11099 +e2000623188aaac9f3e233eb253bdd8b0a4759a66a113e066238b0086ac1b634 +5abff90e4b5ed3fa69c22541981b2bfc9710aef6b50a8bb53431c7b4d380d721 +639e005d6b4688ee16bff48443e7c9e5fb5bc5883e271cb034289232a0694cce +12a5a2637485fb47bc281a2129edc23d8091fb4f93a6b82e666703e6a2816bba +ea4d74e605325f713552a653349310ea0929fa02d1f9ed57de58e1928e0ca31d +070a4c7036ed071ac3f6429c76912fcb605a98a3307024a00afe54d463628836 +e6098757cd50e1d40fa54d41bc2fdc30f5cc9042e5d704d1712fc0a4b907a61a +3fbc6271bea1021043e2c35e830d2c44e1a54aba687535a0e1cb727bb7c902d2 +5df97d44fb85c8397f1c1e14c11dbfd563a205f1e248f250549cd4689f361c71 +948ebfd988b5b8b8fb1d7051f234e4ea5c9cb798d99c17715d0799f60feac8a8 +8589452e8932a9e7844e816b3d0f18f1d542d05600cad430e88f8298961d8fda +a630894c90d2505f9ad25f555f8c56518921ad52b39beb69f9ad1ed552b3cf16 +13ccadbc2933a59af6cf80f892efdb0d4e5cd766094aef332323ccffafa32fa0 +07bfeb8985c120d623c4e2323f6e4a3fe0086795c3043b988701add821404586 +0cd3e21e107a25d661bcb329db6a7083217b438f19710ca275e336ad37e90d10 +4cf8e8410e0311297d1e1dceb8c8a662c6735da66e9cd443 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F8 /EKGRPX+CMR10 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /parenleft/parenright/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef ] +ipeMakeFont +%%BeginResource: font HPEVCS+CMMI10 +%!PS-AdobeFont-1.1: CMMI10 1.100 +%%CreationDate: 1996 Jul 23 07:53:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /HPEVCS+CMMI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 14 /delta put +dup 85 /U put +dup 87 /W put +dup 88 /X put +dup 101 /e put +dup 114 /r put +dup 115 /s put +dup 116 /t put +readonly def +/FontBBox{-32 -250 1048 750}readonly def +/UniqueID 5087385 def +currentdict end +currentfile eexec +d9d66f633b846a97b686a97e45a3d0aa0529731c99a784ccbe85b4993b2eebde +3b12d472b7cf54651ef21185116a69ab1096ed4bad2f646635e019b6417cc77b +532f85d811c70d1429a19a5307ef63eb5c5e02c89fc6c20f6d9d89e7d91fe470 +b72befda23f5df76be05af4ce93137a219ed8a04a9d7d6fdf37e6b7fcde0d90b +986423e5960a5d9fbb4c956556e8df90cbfaec476fa36fd9a5c8175c9af513fe +d919c2ddd26bdc0d99398b9f4d03d5993dfc0930297866e1cd0a319b6b1fd958 +9e394a533a081c36d456a09920001a3d2199583eb9b84b4dee08e3d12939e321 +990cd249827d9648574955f61baaa11263a91b6c3d47a5190165b0c25abf6d3e +6ec187e4b05182126bb0d0323d943170b795255260f9fd25f2248d04f45dfbfb +def7ff8b19bfef637b210018ae02572b389b3f76282beb29cc301905d388c721 +59616893e774413f48de0b408bc66dce3fe17cb9f84d205839d58014d6a88823 +d9320ae93af96d97a02c4d5a2bb2b8c7925c4578003959c46e3ce1a2f0eac4bf +8b9b325e46435bde60bc54d72bc8acb5c0a34413ac87045dc7b84646a324b808 +6fd8e34217213e131c3b1510415ce45420688ed9c1d27890ec68bd7c1235faf9 +1dab3a369dd2fc3be5cf9655c7b7eda7361d7e05e5831b6b8e2eec542a7b38ee +03be4bac6079d038acb3c7c916279764547c2d51976baba94ba9866d79f13909 +95aa39b0f03103a07cbdf441b8c5669f729020af284b7ff52a29c6255fcaacf1 +74109050fba2602e72593fbcbfc26e726ee4aef97b7632bc4f5f353b5c67fed2 +3ea752a4a57b8f7feff1d7341d895f0a3a0be1d8e3391970457a967eff84f6d8 +47750b1145b8cc5bd96ee7aa99ddc9e06939e383bda41175233d58ad263ebf19 +afc0e2f840512d321166547b306c592b8a01e1fa2564b9a26dac14256414e4c8 +42616728d918c74d13c349f4186ec7b9708b86467425a6fdb3a396562f7ee4d8 +40b43621744cf8a23a6e532649b66c2a0002dd04f8f39618e4f572819dd34837 +b5a08e643fdca1505af6a1fa3ddfd1fa758013caed8acddbbb334d664dff5b53 +956017667d1074fe5415f315cfc941447d57558e64b9dc9ad50cbaa94f0faa68 +d4872639380366f40ebc7c737a6a6a4898116eaba307ee04667b75540cf65c8e +39f3e927e746b46aa74f2e3e5f8a90a73a64c6cc0fcdf82556552e57b98740da +8f6c3c3d8f20d98e80bf0819cd8d2fc7086437c221f5dca0f16ac69cbdae79a3 +58249a65ce9fa739a44530636b6cb4723673cf19dd001b1f21a3f5a14651ffbc +ee5ac8658f123a6f14f7b4c37f38bc873485c35db451085de95859adf21d70eb +768e2182bd7f1e41aee9f3c9ca5cb50ce78e1cf0e97b73cb7b1f5deaecc205e3 +0b95d92c5023401833bab5c3a5c2312393491dd099257a08e7b56f64c78a65db +451a820e7b831d7bd63e1f2cf935f0f71e4dfe9d7ad8600f4b0a46a5059b65a0 +7eb0c543200d644a14966343122a4ad43fa7dd7cf1e3e6bd006972fec9b150fe +278f2a502669c4ff4820a1886175b53e94d2e8d239ab1dc935ad1c04f9978695 +5339fe8cfc6697e7ecc0c1222ab43ac3fde05204c5eea4ee194176ef6a99f9ea +496a16b7969cdbdc2ea16765ff041b18aaad544268dcb21de9643cac6f9a3bf4 +ab79e5d7d71cf1a2d3d734ed0f76faf020af8262dc9b329186430d1edbe317f3 +f9ff254e1ce1f55fdafdff0b1d1086afe8742ed22059439d7b4519695e4c914a +ea19e015db8f7eb17fd0ce8c300dbf6c4940681f37bae30ec9a4e127b01772df +a4caf5136a0df8e81971a3e00050e54c80683b26d86753c7abb3dca0280bdfe4 +612054d7b016b3ca01cb1f5de6970e838904105abe00835b3471f322e7866724 +834fbd9576501a9e239452a5385b81271908c37f2760c5754ce039523596a442 +0d1262c21793fd5c1fa4ee1db7d74217f5562e29c47a0bb91b3577a28fd1e0cb +e82f2df377b39a55d958306e4630afa566a6ce903c9c0d2d5f375b5ae6bfacd4 +1fb4ec5851bbd9bbb29d68c61437e4f3a6fe184efeb02695fefcc4b6079ad832 +671008fdae1338cdd13d2cc45b62c064e38914a9551ddc0dea038b30cf19072a +3098e45de563d907b0fa1dfa9393c0133e96998379036a58ae8a1fbc67612183 +82e1ac5249cec35285603ed339677fa8bb37bac950f053cc782ec937c376e40b +5b12b946bca6c6e7c11bf5b2b003a333ac1e50f18bb614063463aca53bf8f32b +05f135cfc47a5965cc4b25a3937e2912ea0062b0bde90e8c9707899ac8b2e1dc +aea8be588d41713926bdef30a17285d9522c43732c0d13b9d578b6d7e1687caa +b0a2d26772a43e4497d4b26b9cf57c3c3a12bf32f4d5e1c77d89affa579e5737 +2ea55abe187cefc5604c1ad70df7b3450644cd5c2d4285adb6d5d299204c6ac9 +6874764ff066b1dd75f0dae9b01ca676236e9cf72d7414322d4865fced9a2de1 +90944a3718ed896bd30f9c1aa689ba7f0a3d4f5fe05d02039164fec7478916d0 +36e8a3c16cbc134472990c51e8eed81825c9c27f988640811966683d6c66c71c +fbe4d841db35699880477c1a0bfe8eb3944142d10c1f633b86e8510d542b67eb +804feb99364e10669a2971039f51cc389e7693840a08e22e6abe366665bc6ac7 +868ef09323d2b37c82b98fb669c421722d23f8248205d06fa02acd9dcbf3d9e1 +c04579ada896fdf15566ac7d65e9ada871286030433f736d6764dbafad2a1acf +67c94d7df151c4c84370c1487ff7ea3b3c0e39d145f1281ad1db079660ab8bcd +dd9c66fb1db1c08c094f2aadd09425c5e7f2ed56a2631d6f9a154e453c908b8f +e03f02f3aedbc2e523b12c0af3371d3d3bf2eb1e9b6c114dd4c4b0c5a198b07d +fb11622dc21308e9b3ee78f9c4680a347e24ce55a0520ed558f4e26ec3b35993 +d527144963738433c3139bba3f4062d41f7cfa3b26650015deedb2a70eadaaed +dc541aae43295cc959299bca6c7af375a1d3968225c00bba25848b9234c314eb +f12bf43b0cef1cddd8c11f6a945ba269889171385d3081b16551c6cbab2dbdca +db6889eac238f25d9ba16d7485ddd2203c42ed534e06b4a70c2e383408a45308 +69fc4a0aed2fafac42a4cc1801771d0452b2fe5dc9d00bfea742eb17643af305 +8ddc78e47f3e14947c6cd364539914ef5a7a09e93821c38b208762346ad2c578 +03d7480ea54e582f3bdf1ac530016968932a5c2b09f6240fe603d424f55de6f2 +175ffd941e55c6bee23db70bb418a6ecda6b4f08f42c354bc9595ab740672da6 +bb3294cab70951d240a362e84f9d2c490fcd19635e0cecd8f9a42d2ba05f1531 +f1945fec306b16a38e1f923fe68f2d0b54191ff679ea3c51b3d5d311f9abcf59 +1137aa5addffac2fea7747ed808409012532696e73b347696b6ad72e6445b659 +0734e20501a05e056982512abd74095cab449b7f2a9fc83ac4397d5f924f3c97 +cb63b04a63ef2a0713e2556648245c3ecd50cc1e6853329a56029e18dfed5a1c +5b0f38b144b662b5929af5e0248435490afd2a3d0ff19d8692b48ccf5328257c +49d84ac295b9432046308c2bab88922b56f079d24db25f820f5458330848 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F11 /HPEVCS+CMMI10 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/delta/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/U/.notdef/W + /X/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/e/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/r/s/t/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef ] +ipeMakeFont +%%EndSetup +q np +140.251 304.465 m +132.949 308.116 125.646 311.768 118.343 313.593 c +111.041 315.419 103.738 315.419 96.4352 313.593 c +89.1324 311.768 81.8297 308.116 78.1784 302.639 c +74.527 297.162 74.527 289.859 78.1784 284.382 c +81.8297 278.905 89.1324 275.254 96.4352 273.428 c +103.738 271.603 111.041 271.603 118.343 273.428 c +125.646 275.254 132.949 278.905 140.251 282.557 c +147.554 286.208 154.857 289.859 154.857 293.511 c +154.857 297.162 147.554 300.814 140.251 304.465 c +h 1 g q f* Q 0.4 w 0 g S +Q +q np +162.16 304.465 m +169.462 308.116 176.765 311.768 184.068 313.593 c +191.37 315.419 198.673 315.419 205.976 313.593 c +213.279 311.768 220.581 308.116 224.233 302.639 c +227.884 297.162 227.884 289.859 224.233 284.382 c +220.581 278.905 213.279 275.254 205.976 273.428 c +198.673 271.603 191.37 271.603 184.068 273.428 c +176.765 275.254 169.462 278.905 162.16 282.557 c +154.857 286.208 147.554 289.859 147.554 293.511 c +147.554 297.162 154.857 300.814 162.16 304.465 c +h 1 g q f* Q 0.4 w 0 g S +Q +q np +163.456 306.186 m +165.811 299.12 165.811 289.698 163.456 282.632 c +161.1 275.566 156.39 270.856 151.679 270.856 c +146.968 270.856 142.258 275.566 139.902 282.632 c +137.547 289.698 137.547 299.12 139.902 306.186 c +142.258 313.252 146.968 317.962 151.679 317.962 c +156.39 317.962 161.1 313.252 163.456 306.186 c +h 1 g q f* Q 0.4 w 0 g S +Q +q 1 0 0 1 141.278 288.592 cm 1 0 0 1 0 0 cm 1 0 0 1 0 2.491 cm +0 0 0 rg 0 0 0 RG +1 0 0 1 0 -784.528 cm +BT +/F11 9.963 Tf 0 784.528 Td[(\016)]TJ/F8 9.963 Tf 4.805 0 Td[(\050)]TJ/F11 9.963 Tf 3.874 0 Td[(X)]TJ/F8 9.963 Tf 9.036 0 Td[(\051)]TJ +ET +Q +q 1 0 0 1 90.7859 291.906 cm 1 0 0 1 0 0 cm 1 0 0 1 0 1.494 cm +0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.71 cm +BT +/F11 9.963 Tf 0 787.71 Td[(r)]TJ/F7 6.974 Tf 4.495 -1.494 Td[(2)]TJ +ET +Q +q 1 0 0 1 201.655 292.063 cm 1 0 0 1 0 0 cm 1 0 0 1 0 1.494 cm +0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.71 cm +BT +/F11 9.963 Tf 0 787.71 Td[(r)]TJ/F7 6.974 Tf 4.495 -1.494 Td[(1)]TJ +ET +Q +q np +105.547 293.08 m +105.547 293.908 104.875 294.58 104.047 294.58 c +103.218 294.58 102.547 293.908 102.547 293.08 c +102.547 292.252 103.218 291.58 104.047 291.58 c +104.875 291.58 105.547 292.252 105.547 293.08 c +h q f* Q 0.6 w S +Q +q np +195.981 294.471 m +195.981 295.3 195.31 295.971 194.481 295.971 c +193.653 295.971 192.981 295.3 192.981 294.471 c +192.981 293.643 193.653 292.971 194.481 292.971 c +195.31 292.971 195.981 293.643 195.981 294.471 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 98.0311 301.869 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(s)]TJ +ET +Q +q np +112.792 303.042 m +112.792 303.871 112.12 304.542 111.292 304.542 c +110.463 304.542 109.792 303.871 109.792 303.042 c +109.792 302.214 110.463 301.542 111.292 301.542 c +112.12 301.542 112.792 302.214 112.792 303.042 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 98.0311 281.944 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.872 cm +BT +/F11 9.963 Tf 0 785.872 Td[(t)]TJ +ET +Q +q np +112.792 283.118 m +112.792 283.946 112.12 284.618 111.292 284.618 c +110.463 284.618 109.792 283.946 109.792 283.118 c +109.792 282.289 110.463 281.618 111.292 281.618 c +112.12 281.618 112.792 282.289 112.792 283.118 c +h q f* Q 0.6 w S +Q +q np +330.44 303.559 m +323.137 307.211 315.835 310.862 308.532 312.688 c +301.229 314.513 293.927 314.513 286.624 312.688 c +279.321 310.862 272.018 307.211 268.367 301.734 c +264.716 296.257 264.716 288.954 268.367 283.477 c +272.018 278 279.321 274.348 286.624 272.523 c +293.927 270.697 301.229 270.697 308.532 272.523 c +315.835 274.348 323.137 278 330.44 281.651 c +337.743 285.302 345.046 288.954 345.046 292.605 c +345.046 296.257 337.743 299.908 330.44 303.559 c +h 1 g q f* Q 0.4 w 0 g S +Q +q np +352.348 303.559 m +359.651 307.211 366.954 310.862 374.256 312.688 c +381.559 314.513 388.862 314.513 396.165 312.688 c +403.467 310.862 410.77 307.211 414.421 301.734 c +418.073 296.257 418.073 288.954 414.421 283.477 c +410.77 278 403.467 274.348 396.165 272.523 c +388.862 270.697 381.559 270.697 374.256 272.523 c +366.954 274.348 359.651 278 352.348 281.651 c +345.046 285.302 337.743 288.954 337.743 292.605 c +337.743 296.257 345.046 299.908 352.348 303.559 c +h 1 g q f* Q 0.4 w 0 g S +Q +q np +353.644 305.28 m +356 298.214 356 288.793 353.644 281.727 c +351.289 274.661 346.578 269.95 341.868 269.95 c +337.157 269.95 332.446 274.661 330.091 281.727 c +327.736 288.793 327.736 298.214 330.091 305.28 c +332.446 312.346 337.157 317.057 341.868 317.057 c +346.578 317.057 351.289 312.346 353.644 305.28 c +h 1 g q f* Q 0.4 w 0 g S +Q +q 1 0 0 1 331.467 287.687 cm 1 0 0 1 0 0 cm 1 0 0 1 0 2.491 cm +0 0 0 rg 0 0 0 RG +1 0 0 1 0 -784.528 cm +BT +/F11 9.963 Tf 0 784.528 Td[(\016)]TJ/F8 9.963 Tf 4.805 0 Td[(\050)]TJ/F11 9.963 Tf 3.874 0 Td[(W)]TJ/F8 9.963 Tf 10.793 0 Td[(\051)]TJ +ET +Q +q 1 0 0 1 291.083 273.41 cm 1 0 0 1 0 0 cm 1 0 0 1 0 1.494 cm +0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.71 cm +BT +/F11 9.963 Tf 0 787.71 Td[(r)]TJ/F7 6.974 Tf 4.495 -1.494 Td[(1)]TJ +ET +Q +q 1 0 0 1 383.693 281.195 cm 1 0 0 1 0 0 cm 1 0 0 1 0 1.494 cm +0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.71 cm +BT +/F11 9.963 Tf 0 787.71 Td[(r)]TJ/F7 6.974 Tf 4.495 -1.494 Td[(2)]TJ +ET +Q +q np +289.763 279.7 m +289.763 280.529 289.091 281.2 288.263 281.2 c +287.434 281.2 286.763 280.529 286.763 279.7 c +286.763 278.872 287.434 278.2 288.263 278.2 c +289.091 278.2 289.763 278.872 289.763 279.7 c +h q f* Q 0.6 w S +Q +q np +378.019 283.603 m +378.019 284.432 377.348 285.103 376.519 285.103 c +375.691 285.103 375.019 284.432 375.019 283.603 c +375.019 282.775 375.691 282.103 376.519 282.103 c +377.348 282.103 378.019 282.775 378.019 283.603 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 308.477 305.349 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(s)]TJ +ET +Q +q np +314.222 302.137 m +314.222 302.965 313.551 303.637 312.722 303.637 c +311.894 303.637 311.222 302.965 311.222 302.137 c +311.222 301.308 311.894 300.637 312.722 300.637 c +313.551 300.637 314.222 301.308 314.222 302.137 c +h q f* Q 0.6 w S +Q +q 1 0 0 1 383.693 299.308 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.872 cm +BT +/F11 9.963 Tf 0 785.872 Td[(t)]TJ +ET +Q +q np +378.019 301.717 m +378.019 302.545 377.347 303.217 376.519 303.217 c +375.691 303.217 375.019 302.545 375.019 301.717 c +375.019 300.888 375.691 300.217 376.519 300.217 c +377.347 300.217 378.019 300.888 378.019 301.717 c +h q f* Q 0.6 w S +Q +q np +324.476 306.165 m +313.565 294.151 294.981 293.257 282.968 304.167 c +281.259 305.72 279.738 307.468 278.438 309.376 c +0.4 w S +Q +q 1 0 0 1 285.397 304.023 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -785.192 cm +BT +/F11 9.963 Tf 0 785.192 Td[(U)]TJ +ET +Q +q np +291.286 289.57 m +294.498 299.741 l +1.2 w S +Q +q 1 0 0 1 296.104 290.64 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG +1 0 0 1 0 -787.711 cm +BT +/F11 9.963 Tf 0 787.711 Td[(e)]TJ +ET +Q +q np +291.821 289.57 m +292.357 288.499 l +289.68 287.964 l +291.821 286.358 l +288.609 285.823 l +290.751 284.217 l +287.539 283.681 l +290.215 282.075 l +288.609 279.934 l +0.4 w S +Q +q np +294.498 299.205 m +297.71 300.811 l +298.78 298.135 l +300.922 300.811 l +302.528 298.135 l +304.134 300.811 l +306.275 298.135 l +307.881 302.417 l +310.022 299.205 l +310.557 302.953 l +312.699 301.882 l +0.4 w S +Q +showpage +%%BeginIpeXml: /FlateDecode +%GhUDE9lK&M&A@sB&AfLB6Q",<]81h!V*CVd%g<:de'P*-) +%rm^T*TjFCimT/qjQkiqVG%`A5C-^XnZJZLp;h)(^L2H+6H/i:^iTk3S\edOAl,5BnI!Lh(VQ/!L3SK&+<)QkYoN+&(D+>h&`N.54,$ +%ctP@/L"_WVN/feH`ee.kms8:J>lMcuQRD2f<_(1O_*dNqZcbq)k6M,&$:8]NLA7"_E&to^asF1! +%Pah^6HTdPZOL9.lTJVKgLU.YVUb_dg$5"&o5OFjERQ-:7@X'14(W[&LZ[Dulj->4J\:dR&?b/ZgWW6,[_ +%S8mL5eW"\),$^B4jYKrDKPdr!,^T"Ig&1]af::dk?:"Z<0cg,8g>WnO:(e.fDr\c-DM1bGT',$[ +%i_qR'3Z)CAneeXN#'oOR`_##&)cTeYjCGM8D/GY&HLSS(rc"EqFgg_"oM]#J7uY\>\Kb3GL>d;A +%RiR\40kn_OL,+Dul[aoR^?8uFGm_&+)]V +%%EndIpeXml +%%Trailer +end +%%EOF diff --git a/4-ght/4-ght.tex b/4-ght/4-ght.tex new file mode 100644 index 0000000..a95846f --- /dev/null +++ b/4-ght/4-ght.tex @@ -0,0 +1,250 @@ +% Written by Milan Straka, 2006 + +\def\li{\discretionary{-}{-}{-}li} +\def\d{\delta} +\def\st{$st$} +\def\rr{$r_1r_2$} +\def\GHT{GHT} +\def\PGHT{ÈGHT} +\def\th#1{\s{#1}} +\def\proof{\noindent{\it Dùkaz:} } + +\input ../sgr.tex + +\prednaska{4}{Gomory-Hu Trees}{zapsal Milan Straka} + +\h{Gomory-Hu Trees} + +Cílem této pøedná¹ky bylo vytvoøit datovou strukturu, která po urèitém +pøedzpracování doká¾e rychle konstruovat minimální øezy pro libovolnou +dvojici vrcholù v~grafu. + +Zatím umíme nalézt minimální \st-øez pro zadanou dvojici vrcholù v~èase +$\tau=\O(n^{2/3}m)$. Nalézt minimální \st-øez pro ka¾dou dvojici vrcholù +bychom tedy dokázali v~èase $\O(n^2\tau)$. Tento výsledek budeme +chtít zlep¹it. + +\s{Znaèení:} Máme\li{} graf $(V,E)$ a $U\subseteq V$, $\d(U)$ znaèí hrany vedoucí +mezi $U$ a $V\setminus U$. Formálnì tedy $\d(U)=E \cap (U \times (V \setminus U))$. +Kapacitu øezu $W$ budeme znaèit $c(W)$ a $r(s,t)$ budeme znaèit kapacitu nejmen¹ího \st-øezu. + +\s{Pozorování:} Minimální øez rozdìluje graf jen na~dvì komponenty (v¹imnìte si, ¾e pro +separátory nic takového neplatí) a ka¾dý minimální øez je tím pádem v¾dy mo¾né zapsat jako $\d(W)$ +pro nìjakou mno¾inu $W\subset V$. + +\s{Definice:} {\I Gomory-Hu Tree} (dále jen \GHT) pro neorientovaný ohodnocený graf $G=(V,E)$ +je strom $T=(V,F)$ takový,\nobreak{}\ \nobreak{}¾e $$\forall st \in F: \d(K_1)=\d(K_2)\hbox{ je minimální \st-øez, kde +$K_1$ a $K_2$ jsou komponenty $T\setminus st$}.$$ +Pozor, $F$ nemusí být podmno¾ina pùvodních hran $E$. + +\s{Dal¹í znaèení:} Pro $e\in F$ budeme øezem $\d(e)$ oznaèovat øez $\d(K_1)=\d(K_2)$ a $r(e)$ bude jeho kapacita. + +K~èemu takový \GHT{} je (existuje-li)? To nám poví následující + +\th{Vìta (o~vyu¾ití \GHT):} Buï $T=(V,F)$ \GHT{} pro graf $G=(V,E)$ a mìjme dva vrcholy $s$ a $t$. Dále +nech» $P$ je cesta v~$T$ mezi vrcholy $s$ a $t$ a $e$ je hrana na cestì $P$ s~minimálním $r(e)$. +Pak $\d(e)$ je minimální \st-øez. + +\proof Nejprve si doká¾eme jedno drobné + +{\advance\leftskip by 2em +\th{Lemmátko:} Pro ka¾dou trojici vrcholù $x,y,z$ platí, ¾e $r(x,z) \ge \min(r(x,y),r(y,z))$. + +\proof Buï $W$ minimální $xz$-øez. + +\centerline{\epsfysize=1.5cm\epsfbox{4-ght-rez.eps}} + +\noindent Vrchol $y$ musí být v~jedné z~komponent, BÚNO v~komponentì s~$x$. Pak ale $r(y,z) \le c(W)$, +proto¾e $W$ je také $yz$-øez. Tedy $\min(r(x,y),r(y,z)) \le r(x,z)$.\qed +} + +\noindent Zpìt k~dùkazu vìty: +Chceme dokázat, ¾e $\d(e)$ je minimální \st-øez. To, ¾e je to nìjaký øez, plyne z~definice \GHT. +Minimalitu doká¾eme indukcí podle délky cesty $P$.\itemize\ibull +\:$\vert\,P\,\vert = 1$: Hrana $e$ je v~tomto pøípadì pøímo $st$, tak¾e i minimalita plyne z~definice \GHT. +\:$\vert\,P\,\vert > 1$: Cesta $P$ spojuje vrcholy $s$ a $t$, její první hrana je $sx$. +Na¹e právì dokázané lemmátko øíká, ¾e $r(s,t) \ge \min (r(s,x),r(x,t))$. +Urèitì je pravda, ¾e $r(s,x) \ge r(e)$, proto¾e $e$ byla hrana cesty $P$ s~nejmen¹ím $r(e)$. +To, ¾e $r(x,t) \ge r(e)$, plyne z~indukèního pøedpokladu, proto¾e cesta mezi $x$ a $t$ +je krat¹í ne¾ cesta $P$. Dostáváme tak, ¾e $r(s,t) \ge \min(r(s,x),r(x,t)) \ge r(e)$. +\endlist +\qed +Pokud doká¾eme \GHT{} sestrojit, nalézt minimální \st-øez pro libovolnou dvojici vrcholù +doká¾eme stejnì rychle jako nalézt hranu s~nejmen¹í kapacitou na cestì mezi $s$ a $t$ v~\GHT. +K~tomu mù¾eme pou¾ít napøíklad Sleator-Tarjanovy stromy, které tuto operaci +doká¾ou provést v~amortizovaném èase $\O(\log n)$, nebo mù¾eme vyu¾ít toho, +¾e máme spoustu èasu na~pøedvýpoèet, a minimální hrany si pro ka¾dou dvojici +prostì pøichystat pøedem. Také lze vymyslet redukci na problém nalezení spoleèného +pøedchùdce vrcholù ve stromì (nebude to \GHT) a pou¾ít jedno z~øe¹ení tohoto problému. + +\h{Konstrukce GHT} + +Nyní se nauèíme \GHT{} konstruovat, èím¾ také rozptýlíme obavy o~jejich existenci. +Nejprve v¹ak budeme potøebovat jedno u¾iteèné lemma s~hnusnì technickým dùkazem: + +\vbox to 0pt{\vskip-\baselineskip\rightline{\epsfysize=2cm\epsfbox{4-ght-htl.eps}}\vss}\vskip-\baselineskip +{ +\advance\rightskip by 17em +\th{Hnusnì technické lemma (HTL):} Buïte¾ $s,t$ vrcholy grafu $(V,E)$, $\d(U)$ minimální \st-øez a $u\ne v$ dva rùzné +vrcholy z~$U$. Pak existuje mno¾ina vrcholù $W \subseteq U$ taková, ¾e $\d(W)$ je minimální $uv$-øez. +[To dùle¾ité a netriviální je, ¾e celá $W$ le¾í v~$U$.] + +\proof Nech» je $\d(X)$ minimální $uv$-øez. +BÚNO mù¾eme pøedpokládat, ¾e $s$ je v~$U$ a $t$ není v~$U$, $u$ je v~$X$ a $v$ není v~$X$ a $s$ je v~$X$. +Pokud by tomu tak nebylo, mù¾eme vrcholy pøeznaèit. + +} + +Nyní mohou nastat dva pøípady:\numlist\nalpha +\vbox to 0pt{\vskip -1cm\rightline{\epsfysize=2.5cm\epsfbox{4-ght-htl-a.eps}}\vss}\vskip-\baselineskip +{\advance\hsize by -14em +\:$t$ není prvek $X$.\par +Doká¾eme dvì nerovnosti. Nerovnost $$\eqalignno{c(\d(U \cup X)) &\ge c(\d(U))&(1)}$$ +platí proto, ¾e $U \cup X$ je nìjaký \st-øez, zatímco $U$ je minimální \st-øez. Dal¹í +$$\eqalignno{c(\d(U \cap X)) + c(\d(U \cup X)) &\le c(\d(U)) + c(\d(X))&(2)}$$ +doká¾eme \uv{rozborem pøípadù}. + +} + +Mno¾inu vrcholù si disjunktnì rozdìlíme na $X\setminus U$, $X \cap U$, $U \setminus X$ a $\$. +Ka¾dý z~øezù v~nerovnosti $(2)$ se skládá z~hran mezi tìmito skupinami vrcholù. +Vytvoøíme tedy tabulku hran mezi ètyømi oznaèenými skupinami vrcholù a ka¾dému +øezu z~$(2)$ oznaèíme jemu odpovídající hrany. Proto¾e je graf neorientovaný, +staèí nám jen horní trojúhelník tabulky. +Pro pøehlednosti si oznaèíme $L_1=\d(U \cap X), L_2=\d(U \cup X), P_1=\d(U)$ a $P_2=\d(X)$. +$$\matrix{&X\setminus U&X \cap U&U \setminus X&\\cr\noalign{\smallskip} +X\setminus U&\hbox{---}&L_1,P_1&P_1,P_2&L_2,P_2\cr +X \cap U&&\hbox{---}&L_1,P_2&L_1,L_2,P_1,P_2\cr +U \setminus X&&&\hbox{---}&L_2,P_1\cr +\&&&&\hbox{---}\cr +}$$ + +Vidíme, ¾e ke ka¾dé hranì øezu na levé stranì nerovnosti máme vpravo její protìj¹ek +a navíc hrany mezi $U\setminus X$ a $X \setminus U$ poèítáme jenom vpravo. Nerovnost +$(2)$ tedy platí. + +Nyní staèí nerovnosti $(2)$ a $(1)$ odeèíst, èím¾ získáme $$c(\d(U \cap X)) \le c(\d(X)),$$ +co¾ spolu s~obrázkem dokazuje, ¾e $\d(U \cap X)$ je také minimální $uv$-øez. + +\vbox to 0pt{\rightline{\epsfysize=2.5cm\epsfbox{4-ght-htl-b.eps}}\vss}\vskip-\baselineskip +{\advance\hsize by -14em\itemcount=1 +\:$t$ je prvek $X$.\par +Postupovat budeme obdobnì jako v~pøedchozím pøípadì. Nerovnost $$\eqalignno{c(\d(X \setminus U)) &\ge c(\d(U))&(3)}$$ +platí proto, ¾e $X \setminus U$ je nìjaký \st-øez, zatímco $U$ je minimální \st-øez. Dal¹í +$$\eqalignno{c(\d(U \setminus X)) + c(\d(X \setminus U)) &\le c(\d(U)) + c(\d(X))&(4)}$$ +doká¾eme opìt \uv{rozborem pøípadù}. + +} + +Oznaème $L_1=\d(U \setminus X), L_2=\d(X \setminus U), P_1=\d(U)$ a $P_2=\d(X)$ a vytvoøme tabulku: +$$\matrix{&X\setminus U&X \cap U&U \setminus X&\\cr\noalign{\smallskip} +X\setminus U&\hbox{---}&L_2,P_1&L_1,L_2,P_1,P_2&L_2,P_2\cr +X \cap U&&\hbox{---}&L_1,P_2&P_1,P_2\cr +U \setminus X&&&\hbox{---}&L_1,P_1\cr +\&&&&\hbox{---}\cr +}$$ + +Stejnì jako v~pøedchozím pøípadì nerovnost $(4)$ platí. Odeètením $(4)$ a $(3)$ získáme +$$c(\d(U \setminus X)) \le c(\d(X)),$$ +z~èeho¾ opìt dostaneme, ¾e $\d(U \setminus X)$ je také minimální $uv$-øez. +\endlist +\qed + +\bigskip +Nyní se koneènì dostáváme ke konstrukci \GHT{}. Abychom mohli pou¾ívat +indukci, zavedeme si trochu obecnìj¹í \GHT{}. + +\s{Definice:} Mìjme neorientovaný graf $(V,E)$. {\I Èásteèný Gomory-Hu Tree} (alias \PGHT{}) pro $R \subseteq V$ je $((R,F),C)$, +kde $(R,F)$ je strom a mno¾ina $C=\{C(r) \;\vert\; r\in R\}$ je rozklad vrcholù $V$. Tento rozklad +nám øíká, k~jakým vrcholùm \PGHT{} máme pøilepit které vrcholy pùvodního grafu. +Navíc musí platit, ¾e:\numlist\ndotted +\:$\forall r: r\in C(r)$, neboli ka¾dý vrchol \PGHT{} je pøilepen sám k~sobì, +\:$\forall st \in F: \d\left(\bigcup_{r\in K_1} C(r)\right)=\d\left(\bigcup_{r\in K_2} C(r)\right) +\hbox{ je minimální \st-øez, kde $K_1$ a $K_2$ jsou komponenty $(R,F) \setminus st$}.$ +\endlist + + +\th{Vìta (o~existenci \PGHT{}):} Buï $(V,E)$ neorientovaný ohodnocený graf. Pro ka¾dou podmno¾inu vrcholù $R$ +existuje \PGHT{}. + +\proof Doká¾eme indukcí podle velikosti mno¾iny $R$.\itemize\ibull +\:$\vert R \vert = 1$: \PGHT{} má jediný vrchol $r\in R$ a $C(r)=V$. +\:$\vert R \vert > 1$: Najdeme dvojici vrcholù $s,t\in R$ takové, ¾e jejich minimální \st-øez $\d(W)$ +je ze v¹ech mo¾ných minimálních \st-øezù nejmen¹í. Nyní vytvoøíme graf $G_1$ z~grafu $G$ zkontrahováním +v¹ech vrcholù $w\in W$ do jednoho vrcholu, který oznaèíme $v_1$, a vytvoøíme graf $G_2$ z~$G$ zkontrahováním +v¹ech vrcholù $w\in V\setminus W$ do jednoho vrcholu $v_2$. + +\medskip +\centerline{\epsfysize=2cm\epsfbox{4-ght-g1g2.eps}} + +[Proè to dìláme \uv{tak slo¾itì} a pøidáváme do $G_1$ vrchol $v_1$? Mì osobnì to dlouho pøi¹lo zbyteèné. +Problém je v~tom, ¾e i kdy¾ dle HTL le¾í v¹echny minimální øezy oddìlující vrcholy z~$W$ v~mno¾inì vrcholù +$W$, \ tìchto øezù celé ve $W$ le¾et nemusí. K~tìmto øezùm toti¾ patøí i hrany, které +mají ve $W$ jenom jeden konec. Proto jsme do $G_1$ pøidali $v_1$, vedou do nìj v¹echny zajímavé +hrany, které mají ve $W$ jeden konec. Tím {\I zajímavé} myslíme to, ¾e z~ka¾dého vrcholu $w\in W$ vede +do $v_1$ \ hrana, která z~nìj vedla do mno¾iny $V\setminus W$, pøípadnì ¾ádná, pokud +do této mno¾iny ¾ádná hrana nevedla.] + +Dále vytvoøíme mno¾iny vrcholù $R_1=R \cap (V\setminus W)$ a $R_2=R \cap W$. Dle indukèního +pøedpokladu ($R_1$ i $R_2$ jsou men¹í ne¾ $R$) existuje \PGHT{} $T_1=((R_1,F_1),C_1)$ +pro $R_1$ na $G_1$ a $T_2=((R_2,F_2),C_2)$ pro $R_2$ na $G_2$. + +Nyní vytvoøíme \PGHT{} pro pùvodní graf. Oznaème $r_1$ vrchol $R_1$, pro který je $v_1 \in C(r_1)$, +obdobnì $r_2$. Oba \PGHT{} $T_1$ a $T_2$ spojíme hranou $r_1r_2$, tak¾e \PGHT{} pro $G$ +je $T=((R_1 \cup R_2,F_1 \cup F_2 \cup {r_1r_2}),C)$, pøièem¾ pro $r\in R_1$ je $C(r)=C_1(r)\setminus\{v_1\}$ +a pro $r\in R_2$ je $C(r)=C_2(r)\setminus\{v_2\}$ [odebrali jsme vrcholy $v_1$ a $v_2$ z~rozkladu $C$]. + +Chceme ukázat, ¾e tento $T$ je opravdu \PGHT. $C$ je urèitì rozklad v¹ech vrcholù a ka¾dé +$r\in C(r)$ z~indukèního pøedpokladu, tak¾e podmínka $1.$ je splnìna. Co se týèe podmínky $2.$, tak\itemize\ibull +\:pro hranu $r1r2$ je $\d(W)$ urèitì minimální $r_2r_2$-øez, proto¾e øez mezi \rr\ to +je a byl ze v¹ech mo¾ných minimálních øezù na $R$ nejmen¹í, +\:pro hranu $e\ne r_1r_2$ je $\d(e)$ z~indukce minimální øez na jednom z~grafù $G_1$, $G_2$. +Tento øez také pøesnì odpovídá øezu v~grafu $G$, proto¾e v~$G_1$ i v~$G_2$ jsme poèítali +s~hranami vedoucími do $v_1$, $v_2$ a proto¾e jsme \PGHT{} napojili pøes vrcholy, +k~nim¾ byly $v_1$ a $v_2$ pøilepeny. + +HTL nám navíc øíká, ¾e existuje minimální øez, který ¾ije pouze v~pøíslu¹ném z~grafù $G_1$, $G_2$, +tak¾e nalezený øez je minimální pro celý graf $G$. +\endlist +\endlist +\qed + +Nyní víme, ¾e \GHT{} existují, a také víme, jak by se daly konstruovat. Nicménì nalezení +vrcholù $s,t$ tak, aby byl minimální \st-øez nejmen¹í mo¾ný, je èasovì nároèné. +Proto si poslední vìtu je¹tì o~nìco vylep¹íme. + +\th{Vylep¹ení vìty o~existenci \PGHT{}:} Na zaèátku dùkazu není nutné hledat vrcholy $s$ a $t$ +takové, aby byl minimální \st-øez nejmen¹í mo¾ný. Staèí zvolit \ vrcholy $s,t\in R$ +a nalézt minimální øez $\d(W)$. + +\proof Nejprve si uvìdomme, proè jsme v~pøedchozím dùkazu potøebovali, aby byl $W$ nejmen¹í ze v¹ech +mo¾ných \st-øezù. Bylo to jenom proto, ¾e jsme jím v~\PGHT{} nakonec separovali vrcholy $r_1$ a $r_2$ +a potøebovali jsme záruku, aby byl $\d(W)$ opravdu minimální \rr-øez. Nyní musíme ukázat, +¾e námi nalezený \st-øez $\d(W)$ je také minimálním \rr-øezem. + +Pro spor tedy pøedpokládejme, ¾e minimální \rr-øez $\d(X)$ má men¹í kapacitu ne¾ $\d(W)$. +Navíc vezmìme ten pøípad, kdy se to stalo \uv{poprvé}, tak¾e pro ka¾dé men¹í $R$ je +v¹echno v~poøádku (to mù¾eme, proto¾e pro $\vert R \vert=1$ v¹echno v~poøádku bylo). + +Proto¾e byl $\d(W)$ minimální \st-øez a $\d(X)$ má men¹í kapacitu, $\d(X)$ nemù¾e separovat +$s$ a $t$. Pøitom ale separuje $r_1$ a $r_2$, tak¾e musí separovat buï $s$ a $r_1$, nebo $t$ a $r_2$. +BÚNO nech» $X$ separuje $s$ a $r_1$. + +\medskip +\centerline{\epsfysize=2.2cm\epsfbox{4-ght-rezx.eps}} +\smallskip + +Podívejme se nyní na \PGHT{} $T_1$ a naleznìme v~nìm nejlevnìj¹í hranu $e$ na cestì spojující $s$ a $r_1$. +Tato hrana definuje øez $\d(U)$, co¾ je minimální $sr_1$-øez. Proto¾e $\d(X)$ je $sr_1$-øez, +$c(\d(U)) \le c(\d(X)) < c(\d(W))$. Teï si staèí uvìdomit, ¾e $v_1\in C(r_1)$, tak¾e $\d(U)$ +separuje nejenom $s$ a $r_1$, ale také $s$ a $v_1$. Tím pádem ale separuje také $s$ a $t$. +To je spor, proto¾e $c(\d(U)) < c(\d(W))$ a pøitom $\d(W)$ mìl být minimální. +\qed + +Teï u¾ doká¾eme \GHT{} konstruovat efektivnì -- v~ka¾dém kroku vybereme dva vrcholy $s$ a $t$, +nalezneme v~èase $\O(\tau)$ minimální \st-øez, a výsledné komponenty s~pøidanými $v_1,v_2$ +zpracujeme rekurzivnì. Celou výstavbu tedy zvládneme v~èase $\O(n\tau)=\O(n^{5/3}m)$. +Nalézt minimální \st-øezy pro v¹echny dvojice pak doká¾eme v~èase $\O(n^2)$, pøípadnì +v~èase $\O(n^2\log n)$ (zále¾í na zpùsobu hledání nejlevnìj¹í hrany v~\GHT). + +\bye diff --git a/4-ght/Makefile b/4-ght/Makefile new file mode 100644 index 0000000..94be523 --- /dev/null +++ b/4-ght/Makefile @@ -0,0 +1,3 @@ +P=4-ght + +include ../Makerules diff --git a/5-mst/01.eps b/5-mst/01.eps new file mode 100644 index 0000000..4a2999c --- /dev/null +++ b/5-mst/01.eps @@ -0,0 +1,458 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: /win_d/project/mff/Grafove algoritmy/01 - lehka hrana.dia +%%Creator: Dia v0.94 +%%CreationDate: Sun Apr 16 22:36:22 2006 +%%For: beaver +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 485 373 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/Times-Roman-latin1 + /Times-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-Italic-latin1 + /Times-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-Bold-latin1 + /Times-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-BoldItalic-latin1 + /Times-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-Book-latin1 + /AvantGarde-Book findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-BookOblique-latin1 + /AvantGarde-BookOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-Demi-latin1 + /AvantGarde-Demi findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-DemiOblique-latin1 + /AvantGarde-DemiOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-Light-latin1 + /Bookman-Light findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-LightItalic-latin1 + /Bookman-LightItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-Demi-latin1 + /Bookman-Demi findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-DemiItalic-latin1 + /Bookman-DemiItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-latin1 + /Courier findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-Oblique-latin1 + /Courier-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-Bold-latin1 + /Courier-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-BoldOblique-latin1 + /Courier-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-latin1 + /Helvetica findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Oblique-latin1 + /Helvetica-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Bold-latin1 + /Helvetica-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-BoldOblique-latin1 + /Helvetica-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-latin1 + /Helvetica-Narrow findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-Oblique-latin1 + /Helvetica-Narrow-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-Bold-latin1 + /Helvetica-Narrow-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-BoldOblique-latin1 + /Helvetica-Narrow-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Roman-latin1 + /NewCenturySchoolbook-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Italic-latin1 + /NewCenturySchoolbook-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Bold-latin1 + /NewCenturySchoolbook-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-BoldItalic-latin1 + /NewCenturySchoolbook-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Roman-latin1 + /Palatino-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Italic-latin1 + /Palatino-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Bold-latin1 + /Palatino-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-BoldItalic-latin1 + /Palatino-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Symbol-latin1 + /Symbol findfont +definefont pop +/ZapfChancery-MediumItalic-latin1 + /ZapfChancery-MediumItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/ZapfDingbats-latin1 + /ZapfDingbats findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +28.346000 -28.346000 scale +-14.950000 -18.069338 translate +%%EndProlog + + +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0.000000 0.000000 0.000000 srgb +n 25.000000 8.000000 m 27.000000 5.000000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 20.000000 8.000000 m 17.000000 6.000000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 19.000000 12.000000 m 15.000000 12.000000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 28.000000 11.000000 m 32.000000 11.000000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 26.000000 15.000000 m 28.000000 18.000000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 21.000000 15.000000 m 19.000000 18.000000 l s +0.250000 slw +[1.000000] 0 sd +[0.300000] 0 sd +0 slj +0 slc +n 21.000000 15.000000 m 23.000000 13.000000 24.000000 17.000000 26.000000 15.000000 c s +0.200000 slw +[0.060000] 0 sd +[0.200000] 0 sd +0 slc +n 19.000000 12.000000 m 21.000000 15.000000 l s +0.200000 slw +[0.200000] 0 sd +[0.200000] 0 sd +0 slc +n 20.000000 8.000000 m 19.000000 12.000000 l s +0.200000 slw +[0.200000] 0 sd +[0.200000] 0 sd +0 slc +n 20.000000 8.000000 m 25.000000 8.000000 l s +0.200000 slw +[0.200000] 0 sd +[0.200000] 0 sd +0 slc +n 25.000000 8.000000 m 28.000000 11.000000 l s +1.000000 1.000000 1.000000 srgb +n 20.000000 8.000000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 20.000000 8.000000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 25.000000 8.000000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 25.000000 8.000000 0.500000 0.500000 0 360 ellipse cp s +0.200000 slw +[0.200000] 0 sd +[0.200000] 0 sd +0 slc +n 28.000000 11.000000 m 26.000000 15.000000 l s +1.000000 1.000000 1.000000 srgb +n 28.000000 11.000000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 28.000000 11.000000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 26.000000 15.000000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 26.000000 15.000000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 19.000000 12.000000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 19.000000 12.000000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 21.000000 15.000000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 21.000000 15.000000 0.500000 0.500000 0 360 ellipse cp s +/Helvetica-latin1 ff 0.840000 scf sf +(e) 23.325000 14.600000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.700000 scf sf +(x) 20.800000 16.250000 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.700000 scf sf +(y) 25.875000 16.200000 m gs 1 -1 sc sh gr +showpage diff --git a/5-mst/02.eps b/5-mst/02.eps new file mode 100644 index 0000000..9cf5671 --- /dev/null +++ b/5-mst/02.eps @@ -0,0 +1,429 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: /win_d/project/mff/Grafove algoritmy/02 - modra hrana.dia +%%Creator: Dia v0.94 +%%CreationDate: Mon Apr 17 10:11:39 2006 +%%For: beaver +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 372 298 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-15.950000 -14.460000 translate +%%EndProlog + + +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +0.000000 0.000000 0.000000 srgb +n 16.000000 7.000000 m 16.000000 6.000000 17.000000 4.000000 19.000000 4.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 19.000000 4.000000 m 21.000000 4.000000 22.000000 6.000000 21.000000 7.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 21.000000 7.000000 m 20.000000 8.000000 20.000000 9.000000 21.000000 10.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 21.000000 10.000000 m 22.000000 11.000000 21.000000 13.000000 19.000000 13.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 16.000000 7.000000 m 16.000000 8.000000 16.000000 9.000000 16.000000 10.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 16.000000 10.000000 m 16.000000 11.000000 17.000000 13.000000 19.000000 13.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 24.000000 7.000000 m 23.000000 6.000000 24.000000 4.000000 26.000000 4.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 26.000000 4.000000 m 28.000000 4.000000 29.000000 6.000000 29.000000 7.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 29.000000 7.000000 m 29.000000 8.000000 29.000000 9.000000 29.000000 10.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 29.000000 10.000000 m 29.000000 11.000000 28.000000 13.000000 26.000000 13.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 24.000000 7.000000 m 25.000000 8.000000 25.000000 9.000000 24.000000 10.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 24.000000 10.000000 m 23.000000 11.000000 24.000000 13.000000 26.000000 13.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 20.550000 6.000000 m 24.450000 6.000000 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +1.000000 1.000000 1.000000 srgb +n 20.050000 6.000000 m 20.050000 5.875000 20.175000 5.750000 20.300000 5.750000 c 20.425000 5.750000 20.550000 5.875000 20.550000 6.000000 c 20.550000 6.125000 20.425000 6.250000 20.300000 6.250000 c 20.175000 6.250000 20.050000 6.125000 20.050000 6.000000 c ef +0.000000 0.000000 0.000000 srgb +n 20.050000 6.000000 m 20.050000 5.875000 20.175000 5.750000 20.300000 5.750000 c 20.425000 5.750000 20.550000 5.875000 20.550000 6.000000 c 20.550000 6.125000 20.425000 6.250000 20.300000 6.250000 c 20.175000 6.250000 20.050000 6.125000 20.050000 6.000000 c s +0.100000 slw +[] 0 sd +0 slj +0 slc +1.000000 1.000000 1.000000 srgb +n 24.950000 6.000000 m 24.950000 6.125000 24.825000 6.250000 24.700000 6.250000 c 24.575000 6.250000 24.450000 6.125000 24.450000 6.000000 c 24.450000 5.875000 24.575000 5.750000 24.700000 5.750000 c 24.825000 5.750000 24.950000 5.875000 24.950000 6.000000 c ef +0.000000 0.000000 0.000000 srgb +n 24.950000 6.000000 m 24.950000 6.125000 24.825000 6.250000 24.700000 6.250000 c 24.575000 6.250000 24.450000 6.125000 24.450000 6.000000 c 24.450000 5.875000 24.575000 5.750000 24.700000 5.750000 c 24.825000 5.750000 24.950000 5.875000 24.950000 6.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 20.542517 11.909581 m 25.457483 11.090419 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +1.000000 1.000000 1.000000 srgb +n 20.049320 11.991780 m 20.028770 11.868481 20.131519 11.724632 20.254818 11.704082 c 20.378118 11.683532 20.521967 11.786281 20.542517 11.909581 c 20.563067 12.032880 20.460317 12.176729 20.337018 12.197279 c 20.213719 12.217829 20.069870 12.115079 20.049320 11.991780 c ef +0.000000 0.000000 0.000000 srgb +n 20.049320 11.991780 m 20.028770 11.868481 20.131519 11.724632 20.254818 11.704082 c 20.378118 11.683532 20.521967 11.786281 20.542517 11.909581 c 20.563067 12.032880 20.460317 12.176729 20.337018 12.197279 c 20.213719 12.217829 20.069870 12.115079 20.049320 11.991780 c s +0.100000 slw +[] 0 sd +0 slj +0 slc +1.000000 1.000000 1.000000 srgb +n 25.950680 11.008220 m 25.971230 11.131519 25.868481 11.275368 25.745182 11.295918 c 25.621882 11.316468 25.478033 11.213719 25.457483 11.090419 c 25.436933 10.967120 25.539683 10.823271 25.662982 10.802721 c 25.786281 10.782171 25.930130 10.884921 25.950680 11.008220 c ef +0.000000 0.000000 0.000000 srgb +n 25.950680 11.008220 m 25.971230 11.131519 25.868481 11.275368 25.745182 11.295918 c 25.621882 11.316468 25.478033 11.213719 25.457483 11.090419 c 25.436933 10.967120 25.539683 10.823271 25.662982 10.802721 c 25.786281 10.782171 25.930130 10.884921 25.950680 11.008220 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 19.544472 7.077782 m 25.455528 7.922218 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +1.000000 1.000000 1.000000 srgb +n 19.049497 7.007071 m 19.067175 6.883327 19.208597 6.777261 19.332340 6.794939 c 19.456084 6.812617 19.562150 6.954038 19.544472 7.077782 c 19.526795 7.201525 19.385373 7.307591 19.261630 7.289914 c 19.137886 7.272236 19.031820 7.130815 19.049497 7.007071 c ef +0.000000 0.000000 0.000000 srgb +n 19.049497 7.007071 m 19.067175 6.883327 19.208597 6.777261 19.332340 6.794939 c 19.456084 6.812617 19.562150 6.954038 19.544472 7.077782 c 19.526795 7.201525 19.385373 7.307591 19.261630 7.289914 c 19.137886 7.272236 19.031820 7.130815 19.049497 7.007071 c s +0.100000 slw +[] 0 sd +0 slj +0 slc +1.000000 1.000000 1.000000 srgb +n 25.950503 7.992929 m 25.932825 8.116673 25.791403 8.222739 25.667660 8.205061 c 25.543916 8.187383 25.437850 8.045962 25.455528 7.922218 c 25.473205 7.798475 25.614627 7.692409 25.738370 7.710086 c 25.862114 7.727764 25.968180 7.869185 25.950503 7.992929 c ef +0.000000 0.000000 0.000000 srgb +n 25.950503 7.992929 m 25.932825 8.116673 25.791403 8.222739 25.667660 8.205061 c 25.543916 8.187383 25.437850 8.045962 25.455528 7.922218 c 25.473205 7.798475 25.614627 7.692409 25.738370 7.710086 c 25.862114 7.727764 25.968180 7.869185 25.950503 7.992929 c s +0.300000 slw +[0.200000] 0 sd +[0.300000] 0 sd +0 slc +0.000000 0.000000 0.600000 srgb +n 19.643467 9.908076 m 25.356533 9.091924 l s +0.300000 slw +[] 0 sd +0 slj +0 slc +1.000000 1.000000 1.000000 srgb +n 19.148492 9.978787 m 19.130815 9.855043 19.236881 9.713622 19.360624 9.695944 c 19.484368 9.678266 19.625790 9.784332 19.643467 9.908076 c 19.661145 10.031820 19.555079 10.173241 19.431335 10.190919 c 19.307591 10.208597 19.166170 10.102530 19.148492 9.978787 c ef +0.000000 0.000000 0.600000 srgb +n 19.148492 9.978787 m 19.130815 9.855043 19.236881 9.713622 19.360624 9.695944 c 19.484368 9.678266 19.625790 9.784332 19.643467 9.908076 c 19.661145 10.031820 19.555079 10.173241 19.431335 10.190919 c 19.307591 10.208597 19.166170 10.102530 19.148492 9.978787 c s +0.300000 slw +[] 0 sd +0 slj +0 slc +1.000000 1.000000 1.000000 srgb +n 25.851508 9.021213 m 25.869185 9.144957 25.763119 9.286378 25.639376 9.304056 c 25.515632 9.321734 25.374210 9.215668 25.356533 9.091924 c 25.338855 8.968180 25.444921 8.826759 25.568665 8.809081 c 25.692409 8.791403 25.833830 8.897470 25.851508 9.021213 c ef +0.000000 0.000000 0.600000 srgb +n 25.851508 9.021213 m 25.869185 9.144957 25.763119 9.286378 25.639376 9.304056 c 25.515632 9.321734 25.374210 9.215668 25.356533 9.091924 c 25.338855 8.968180 25.444921 8.826759 25.568665 8.809081 c 25.692409 8.791403 25.833830 8.897470 25.851508 9.021213 c s +0.000000 0.000000 0.000000 srgb +gsave 18.400000 10.250000 translate 0.035278 -0.035278 scale +start_ol +3200 3136 moveto +2065 1610 lineto +3264 0 lineto +2654 0 lineto +1738 1232 lineto +810 0 lineto +192 0 lineto +1435 1641 lineto +320 3136 lineto +927 3136 lineto +1760 2019 lineto +2592 3136 lineto +3200 3136 lineto +end_ol grestore +gsave 26.300000 9.250000 translate 0.035278 -0.035278 scale +start_ol +1863 -297 moveto +1641 -868 1430 -1042 conicto +1220 -1216 866 -1216 conicto +448 -1216 lineto +448 -768 lineto +755 -768 lineto +972 -768 1091 -666 conicto +1210 -565 1356 -187 conicto +1450 49 lineto +192 3136 lineto +715 3136 lineto +1712 683 lineto +2709 3136 lineto +3264 3136 lineto +1863 -297 lineto +end_ol grestore +gsave 22.100000 9.250000 translate 0.035278 -0.035278 scale +start_ol +3904 2111 moveto +3904 1792 lineto +1024 1792 lineto +1066 1104 1417 744 conicto +1768 384 2394 384 conicto +2758 384 3099 464 conicto +3440 544 3776 704 conicto +3776 128 lineto +3438 4 3083 -62 conicto +2729 -128 2364 -128 conicto +1451 -128 917 407 conicto +384 942 384 1854 conicto +384 2797 888 3350 conicto +1392 3904 2245 3904 conicto +3012 3904 3458 3422 conicto +3904 2940 3904 2111 conicto +3264 2304 moveto +3257 2800 2978 3096 conicto +2699 3392 2239 3392 conicto +1718 3392 1405 3105 conicto +1092 2819 1045 2300 conicto +3264 2304 lineto +end_ol grestore +gsave 21.450000 13.800000 translate 0.035278 -0.035278 scale +start_ol +448 3648 moveto +448 0 lineto +1024 0 lineto +1024 1834 lineto +1024 2340 1155 2671 1432 2866 curveto +1611 2995 1784 3035 2185 3035 curveto +2185 3648 lineto +2087 3648 2038 3648 1961 3648 curveto +1583 3648 1296 3428 960 2893 curveto +960 3648 lineto +448 3648 lineto +1618 4010 moveto +2282 5056 lineto +1840 5056 lineto +1294 4387 lineto +727 5056 lineto +303 5056 lineto +947 4010 lineto +1618 4010 lineto +end_ol grestore +gsave 21.754800 13.800000 translate 0.035278 -0.035278 scale +start_ol +3904 2111 moveto +3904 1792 lineto +1024 1792 lineto +1066 1104 1417 744 conicto +1768 384 2394 384 conicto +2758 384 3099 464 conicto +3440 544 3776 704 conicto +3776 128 lineto +3438 4 3083 -62 conicto +2729 -128 2364 -128 conicto +1451 -128 917 407 conicto +384 942 384 1854 conicto +384 2797 888 3350 conicto +1392 3904 2245 3904 conicto +3012 3904 3458 3422 conicto +3904 2940 3904 2111 conicto +3264 2304 moveto +3257 2800 2978 3096 conicto +2699 3392 2239 3392 conicto +1718 3392 1405 3105 conicto +1092 2819 1045 2300 conicto +3264 2304 lineto +end_ol grestore +gsave 22.313600 13.800000 translate 0.035278 -0.035278 scale +start_ol +384 3776 moveto +3328 3776 lineto +3328 3212 lineto +998 512 lineto +3328 512 lineto +3328 0 lineto +320 0 lineto +320 564 lineto +2631 3264 lineto +384 3264 lineto +384 3776 lineto +end_ol grestore +gsave 22.796200 13.800000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 23.084067 13.800000 translate 0.035278 -0.035278 scale +start_ol +4480 4736 moveto +4480 4032 lineto +4130 4322 3735 4465 conicto +3340 4608 2895 4608 conicto +2019 4608 1553 4073 conicto +1088 3538 1088 2526 conicto +1088 1518 1553 983 conicto +2019 448 2895 448 conicto +3340 448 3735 607 conicto +4130 767 4480 1088 conicto +4480 384 lineto +4119 128 3716 0 conicto +3313 -128 2864 -128 conicto +1710 -128 1047 584 conicto +384 1296 384 2526 conicto +384 3760 1047 4472 conicto +1710 5184 2864 5184 conicto +3320 5184 3723 5072 conicto +4126 4960 4480 4736 conicto +end_ol grestore +showpage diff --git a/5-mst/03.eps b/5-mst/03.eps new file mode 100644 index 0000000..c4124bc --- /dev/null +++ b/5-mst/03.eps @@ -0,0 +1,520 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: /win_d/project/mff/Grafove algoritmy/03 - cervena hrana.dia +%%Creator: Dia v0.94 +%%CreationDate: Mon Apr 17 10:31:09 2006 +%%For: beaver +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 372 444 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-14.327500 -20.322542 translate +%%EndProlog + + +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +0.000000 0.000000 0.000000 srgb +n 25.000000 12.000000 m 24.000000 12.000000 23.000000 11.000000 22.000000 12.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 22.000000 13.000000 m 23.000000 13.000000 23.000000 14.000000 25.000000 13.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 23.500000 14.500000 m 21.500000 16.500000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 17.500000 16.500000 m 21.500000 16.500000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 17.500000 16.500000 m 15.500000 14.500000 l s +0.200000 slw +[0.200000] 0 sd +[0.200000] 0 sd +0 slc +n 15.500000 14.500000 m 15.500000 10.500000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 15.500000 10.500000 m 17.500000 8.500000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 17.500000 8.500000 m 21.500000 8.500000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 21.500000 8.500000 m 23.500000 10.500000 l s +0.300000 slw +[1.000000] 0 sd +[0.300000] 0 sd +0 slc +0.600000 0.000000 0.000000 srgb +n 23.500000 10.500000 m 23.500000 14.500000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +0.000000 0.000000 0.000000 srgb +n 22.000000 5.000000 m 23.000000 5.000000 23.000000 6.000000 25.000000 5.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 25.000000 5.000000 m 27.000000 4.000000 28.000000 6.000000 27.000000 7.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 22.000000 12.000000 m 21.000000 13.000000 19.000000 11.000000 20.000000 10.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 27.000000 10.000000 m 28.000000 11.000000 26.000000 12.000000 25.000000 12.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 20.000000 7.000000 m 20.000000 6.000000 21.000000 5.000000 22.000000 5.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 20.000000 7.000000 m 20.000000 8.000000 21.000000 9.000000 20.000000 10.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 27.000000 7.000000 m 26.000000 8.000000 26.000000 9.000000 27.000000 10.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 25.000000 13.000000 m 27.000000 12.000000 28.000000 14.000000 27.000000 15.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 22.000000 20.000000 m 21.000000 21.000000 19.000000 19.000000 20.000000 18.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 27.000000 18.000000 m 28.000000 19.000000 26.000000 20.000000 25.000000 20.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 25.000000 20.000000 m 24.000000 20.000000 23.000000 19.000000 22.000000 20.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 20.000000 15.000000 m 20.000000 14.000000 21.000000 13.000000 22.000000 13.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 20.000000 15.000000 m 20.000000 16.000000 21.000000 17.000000 20.000000 18.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 27.000000 15.000000 m 26.000000 16.000000 26.000000 17.000000 27.000000 18.000000 c s +1.000000 1.000000 1.000000 srgb +n 23.500000 10.500000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.600000 0.000000 0.000000 srgb +n 23.500000 10.500000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 23.500000 14.500000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.600000 0.000000 0.000000 srgb +n 23.500000 14.500000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 21.500000 16.500000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 21.500000 16.500000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 21.500000 8.500000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 21.500000 8.500000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 17.500000 8.500000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 17.500000 8.500000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 17.500000 16.500000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 17.500000 16.500000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 15.500000 14.500000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 15.500000 14.500000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 15.500000 10.500000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 15.500000 10.500000 0.500000 0.500000 0 360 ellipse cp s +gsave 23.300000 9.750000 translate 0.035278 -0.035278 scale +start_ol +3200 3136 moveto +2065 1610 lineto +3264 0 lineto +2654 0 lineto +1738 1232 lineto +810 0 lineto +192 0 lineto +1435 1641 lineto +320 3136 lineto +927 3136 lineto +1760 2019 lineto +2592 3136 lineto +3200 3136 lineto +end_ol grestore +gsave 15.300000 9.650000 translate 0.035278 -0.035278 scale +start_ol +3200 3136 moveto +2065 1610 lineto +3264 0 lineto +2654 0 lineto +1738 1232 lineto +810 0 lineto +192 0 lineto +1435 1641 lineto +320 3136 lineto +927 3136 lineto +1760 2019 lineto +2592 3136 lineto +3200 3136 lineto +end_ol grestore +gsave 15.748733 9.650000 translate 0.035278 -0.035278 scale +start_ol +960 4224 moveto +960 2688 lineto +512 2688 lineto +512 4224 lineto +960 4224 lineto +end_ol grestore +gsave 23.300000 15.800000 translate 0.035278 -0.035278 scale +start_ol +1863 -297 moveto +1641 -868 1430 -1042 conicto +1220 -1216 866 -1216 conicto +448 -1216 lineto +448 -768 lineto +755 -768 lineto +972 -768 1091 -666 conicto +1210 -565 1356 -187 conicto +1450 49 lineto +192 3136 lineto +715 3136 lineto +1712 683 lineto +2709 3136 lineto +3264 3136 lineto +1863 -297 lineto +end_ol grestore +gsave 15.405000 15.910000 translate 0.035278 -0.035278 scale +start_ol +1863 -297 moveto +1641 -868 1430 -1042 conicto +1220 -1216 866 -1216 conicto +448 -1216 lineto +448 -768 lineto +755 -768 lineto +972 -768 1091 -666 conicto +1210 -565 1356 -187 conicto +1450 49 lineto +192 3136 lineto +715 3136 lineto +1712 683 lineto +2709 3136 lineto +3264 3136 lineto +1863 -297 lineto +end_ol grestore +gsave 15.853733 15.910000 translate 0.035278 -0.035278 scale +start_ol +960 4224 moveto +960 2688 lineto +512 2688 lineto +512 4224 lineto +960 4224 lineto +end_ol grestore +gsave 23.850000 12.800000 translate 0.035278 -0.035278 scale +start_ol +3904 2111 moveto +3904 1792 lineto +1024 1792 lineto +1066 1104 1417 744 conicto +1768 384 2394 384 conicto +2758 384 3099 464 conicto +3440 544 3776 704 conicto +3776 128 lineto +3438 4 3083 -62 conicto +2729 -128 2364 -128 conicto +1451 -128 917 407 conicto +384 942 384 1854 conicto +384 2797 888 3350 conicto +1392 3904 2245 3904 conicto +3012 3904 3458 3422 conicto +3904 2940 3904 2111 conicto +3264 2304 moveto +3257 2800 2978 3096 conicto +2699 3392 2239 3392 conicto +1718 3392 1405 3105 conicto +1092 2819 1045 2300 conicto +3264 2304 lineto +end_ol grestore +gsave 14.355000 12.910000 translate 0.035278 -0.035278 scale +start_ol +3904 2111 moveto +3904 1792 lineto +1024 1792 lineto +1066 1104 1417 744 conicto +1768 384 2394 384 conicto +2758 384 3099 464 conicto +3440 544 3776 704 conicto +3776 128 lineto +3438 4 3083 -62 conicto +2729 -128 2364 -128 conicto +1451 -128 917 407 conicto +384 942 384 1854 conicto +384 2797 888 3350 conicto +1392 3904 2245 3904 conicto +3012 3904 3458 3422 conicto +3904 2940 3904 2111 conicto +3264 2304 moveto +3257 2800 2978 3096 conicto +2699 3392 2239 3392 conicto +1718 3392 1405 3105 conicto +1092 2819 1045 2300 conicto +3264 2304 lineto +end_ol grestore +gsave 14.913800 12.910000 translate 0.035278 -0.035278 scale +start_ol +1216 5056 moveto +1216 3200 lineto +640 3200 lineto +640 5056 lineto +1216 5056 lineto +end_ol grestore +gsave 25.300000 6.300000 translate 0.035278 -0.035278 scale +start_ol +0 5056 moveto +4288 5056 lineto +4288 4480 lineto +2496 4480 lineto +2496 0 lineto +1792 0 lineto +1792 4480 lineto +0 4480 lineto +0 5056 lineto +end_ol grestore +gsave 25.105000 19.110000 translate 0.035278 -0.035278 scale +start_ol +0 5056 moveto +4288 5056 lineto +4288 4480 lineto +2496 4480 lineto +2496 0 lineto +1792 0 lineto +1792 4480 lineto +0 4480 lineto +0 5056 lineto +end_ol grestore +gsave 25.775000 6.450000 translate 0.035278 -0.035278 scale +start_ol +2496 2496 moveto +1589 1282 lineto +2560 0 lineto +2067 0 lineto +1327 981 lineto +607 0 lineto +128 0 lineto +1085 1306 lineto +192 2496 lineto +678 2496 lineto +1344 1607 lineto +2010 2496 lineto +2496 2496 lineto +end_ol grestore +gsave 25.575000 19.212500 translate 0.035278 -0.035278 scale +start_ol +1477 -262 moveto +1305 -695 1142 -827 conicto +980 -960 707 -960 conicto +384 -960 lineto +384 -640 lineto +622 -640 lineto +789 -640 881 -555 conicto +974 -471 1085 -156 conicto +1159 33 lineto +128 2496 lineto +590 2496 lineto +1361 544 lineto +2131 2496 lineto +2560 2496 lineto +1477 -262 lineto +end_ol grestore +showpage diff --git a/5-mst/04.eps b/5-mst/04.eps new file mode 100644 index 0000000..dc21d81 --- /dev/null +++ b/5-mst/04.eps @@ -0,0 +1,272 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: /win_d/project/mff/Grafove algoritmy/04 - modra cesta.dia +%%Creator: Dia v0.94 +%%CreationDate: Mon Apr 17 16:30:52 2006 +%%For: beaver +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 400 260 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-16.450000 -11.620000 translate +%%EndProlog + + +0.250000 slw +[0.200000] 0 sd +[0.400000] 0 sd +0 slc +0.000000 0.000000 0.000000 srgb +n 20.000000 10.000000 m 28.500000 8.500000 l s +0.150000 slw +[] 0 sd +[] 0 sd +0 slc +0.000000 0.000000 0.600000 srgb +n 20.000000 10.000000 m 17.000000 6.000000 l s +0.150000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 17.000000 6.000000 m 21.000000 3.000000 l s +0.150000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 21.000000 3.000000 m 23.000000 7.000000 l s +0.150000 slw +[] 0 sd +[] 0 sd +0 slc +n 23.000000 7.000000 m 26.000000 3.000000 l s +0.150000 slw +[] 0 sd +[] 0 sd +0 slc +n 26.000000 3.000000 m 30.000000 5.000000 l s +0.150000 slw +[] 0 sd +[] 0 sd +0 slc +n 30.000000 5.000000 m 28.500000 8.500000 l s +1.000000 1.000000 1.000000 srgb +n 20.000000 10.000000 0.500000 0.450000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 20.000000 10.000000 0.500000 0.450000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 28.500000 8.500000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 28.500000 8.500000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 17.000000 6.000000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 17.000000 6.000000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 26.000000 3.000000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 26.000000 3.000000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 21.000000 3.000000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 21.000000 3.000000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 30.000000 5.000000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 30.000000 5.000000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 23.000000 7.000000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 23.000000 7.000000 0.500000 0.500000 0 360 ellipse cp s +gsave 19.775000 11.075000 translate 0.035278 -0.035278 scale +start_ol +3200 3136 moveto +2065 1610 lineto +3264 0 lineto +2654 0 lineto +1738 1232 lineto +810 0 lineto +192 0 lineto +1435 1641 lineto +320 3136 lineto +927 3136 lineto +1760 2019 lineto +2592 3136 lineto +3200 3136 lineto +end_ol grestore +gsave 28.300000 9.650000 translate 0.035278 -0.035278 scale +start_ol +1863 -297 moveto +1641 -868 1430 -1042 conicto +1220 -1216 866 -1216 conicto +448 -1216 lineto +448 -768 lineto +755 -768 lineto +972 -768 1091 -666 conicto +1210 -565 1356 -187 conicto +1450 49 lineto +192 3136 lineto +715 3136 lineto +1712 683 lineto +2709 3136 lineto +3264 3136 lineto +1863 -297 lineto +end_ol grestore +gsave 24.225000 10.025000 translate 0.035278 -0.035278 scale +start_ol +3904 2111 moveto +3904 1792 lineto +1024 1792 lineto +1066 1104 1417 744 conicto +1768 384 2394 384 conicto +2758 384 3099 464 conicto +3440 544 3776 704 conicto +3776 128 lineto +3438 4 3083 -62 conicto +2729 -128 2364 -128 conicto +1451 -128 917 407 conicto +384 942 384 1854 conicto +384 2797 888 3350 conicto +1392 3904 2245 3904 conicto +3012 3904 3458 3422 conicto +3904 2940 3904 2111 conicto +3264 2304 moveto +3257 2800 2978 3096 conicto +2699 3392 2239 3392 conicto +1718 3392 1405 3105 conicto +1092 2819 1045 2300 conicto +3264 2304 lineto +end_ol grestore +showpage diff --git a/5-mst/05.eps b/5-mst/05.eps new file mode 100644 index 0000000..67feadf --- /dev/null +++ b/5-mst/05.eps @@ -0,0 +1,364 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: /win_d/project/mff/Grafove algoritmy/05 - rez.dia +%%Creator: Dia v0.94 +%%CreationDate: Mon Apr 17 18:53:19 2006 +%%For: beaver +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 343 330 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-15.950000 -14.025000 translate +%%EndProlog + + +0.150000 slw +[] 0 sd +[] 0 sd +0 slc +0.000000 0.000000 0.600000 srgb +n 18.500000 11.500000 m 19.000000 9.000000 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +0.000000 0.000000 0.000000 srgb +n 16.000000 7.000000 m 16.000000 6.000000 17.000000 4.000000 19.000000 4.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 19.000000 4.000000 m 21.000000 4.000000 22.000000 6.000000 21.000000 7.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 21.000000 7.000000 m 20.000000 8.000000 20.000000 9.000000 21.000000 10.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 21.000000 10.000000 m 22.000000 11.000000 21.000000 13.000000 19.000000 13.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 16.000000 7.000000 m 16.000000 8.000000 16.000000 9.000000 16.000000 10.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 16.000000 10.000000 m 16.000000 11.000000 17.000000 13.000000 19.000000 13.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 23.000000 7.000000 m 22.000000 6.000000 23.000000 4.000000 25.000000 4.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 25.000000 4.000000 m 27.000000 4.000000 28.000000 6.000000 28.000000 7.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 28.000000 7.000000 m 28.000000 8.000000 28.000000 9.000000 28.000000 10.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 28.000000 10.000000 m 28.000000 11.000000 27.000000 13.000000 25.000000 13.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 23.000000 7.000000 m 24.000000 8.000000 24.000000 9.000000 23.000000 10.000000 c s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 23.000000 10.000000 m 22.000000 11.000000 23.000000 13.000000 25.000000 13.000000 c s +0.250000 slw +[] 0 sd +[] 0 sd +0 slc +n 18.500000 11.500000 m 26.000000 11.000000 l s +gsave 18.350000 12.650000 translate 0.035278 -0.035278 scale +start_ol +3200 3136 moveto +2065 1610 lineto +3264 0 lineto +2654 0 lineto +1738 1232 lineto +810 0 lineto +192 0 lineto +1435 1641 lineto +320 3136 lineto +927 3136 lineto +1760 2019 lineto +2592 3136 lineto +3200 3136 lineto +end_ol grestore +gsave 25.900000 12.125000 translate 0.035278 -0.035278 scale +start_ol +1863 -297 moveto +1641 -868 1430 -1042 conicto +1220 -1216 866 -1216 conicto +448 -1216 lineto +448 -768 lineto +755 -768 lineto +972 -768 1091 -666 conicto +1210 -565 1356 -187 conicto +1450 49 lineto +192 3136 lineto +715 3136 lineto +1712 683 lineto +2709 3136 lineto +3264 3136 lineto +1863 -297 lineto +end_ol grestore +gsave 21.775000 10.925000 translate 0.035278 -0.035278 scale +start_ol +3904 2111 moveto +3904 1792 lineto +1024 1792 lineto +1066 1104 1417 744 conicto +1768 384 2394 384 conicto +2758 384 3099 464 conicto +3440 544 3776 704 conicto +3776 128 lineto +3438 4 3083 -62 conicto +2729 -128 2364 -128 conicto +1451 -128 917 407 conicto +384 942 384 1854 conicto +384 2797 888 3350 conicto +1392 3904 2245 3904 conicto +3012 3904 3458 3422 conicto +3904 2940 3904 2111 conicto +3264 2304 moveto +3257 2800 2978 3096 conicto +2699 3392 2239 3392 conicto +1718 3392 1405 3105 conicto +1092 2819 1045 2300 conicto +3264 2304 lineto +end_ol grestore +gsave 22.300000 3.325000 translate 0.035278 -0.035278 scale +start_ol +448 3648 moveto +448 0 lineto +1024 0 lineto +1024 1834 lineto +1024 2340 1155 2671 1432 2866 curveto +1611 2995 1784 3035 2185 3035 curveto +2185 3648 lineto +2087 3648 2038 3648 1961 3648 curveto +1583 3648 1296 3428 960 2893 curveto +960 3648 lineto +448 3648 lineto +1618 4010 moveto +2282 5056 lineto +1840 5056 lineto +1294 4387 lineto +727 5056 lineto +303 5056 lineto +947 4010 lineto +1618 4010 lineto +end_ol grestore +gsave 22.604800 3.325000 translate 0.035278 -0.035278 scale +start_ol +3904 2111 moveto +3904 1792 lineto +1024 1792 lineto +1066 1104 1417 744 conicto +1768 384 2394 384 conicto +2758 384 3099 464 conicto +3440 544 3776 704 conicto +3776 128 lineto +3438 4 3083 -62 conicto +2729 -128 2364 -128 conicto +1451 -128 917 407 conicto +384 942 384 1854 conicto +384 2797 888 3350 conicto +1392 3904 2245 3904 conicto +3012 3904 3458 3422 conicto +3904 2940 3904 2111 conicto +3264 2304 moveto +3257 2800 2978 3096 conicto +2699 3392 2239 3392 conicto +1718 3392 1405 3105 conicto +1092 2819 1045 2300 conicto +3264 2304 lineto +end_ol grestore +gsave 23.163600 3.325000 translate 0.035278 -0.035278 scale +start_ol +384 3776 moveto +3328 3776 lineto +3328 3212 lineto +998 512 lineto +3328 512 lineto +3328 0 lineto +320 0 lineto +320 564 lineto +2631 3264 lineto +384 3264 lineto +384 3776 lineto +end_ol grestore +1.000000 1.000000 1.000000 srgb +n 18.500000 11.500000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 18.500000 11.500000 0.500000 0.500000 0 360 ellipse cp s +1.000000 1.000000 1.000000 srgb +n 26.000000 11.000000 0.500000 0.500000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 26.000000 11.000000 0.500000 0.500000 0 360 ellipse cp s +0.050000 slw +[1.000000] 0 sd +[1.000000] 0 sd +0 slc +n 22.000000 3.000000 m 22.000000 14.000000 l s +0.150000 slw +[] 0 sd +[] 0 sd +0 slc +0.000000 0.000000 0.600000 srgb +n 19.000000 9.000000 m 17.000000 7.000000 l s +0.150000 slw +[] 0 sd +[] 0 sd +0 slc +n 17.000000 7.000000 m 18.000000 5.000000 l s +0.150000 slw +[] 0 sd +[] 0 sd +0 slc +n 18.000000 5.000000 m 21.000000 5.000000 l s +showpage diff --git a/5-mst/5-mst.tex b/5-mst/5-mst.tex new file mode 100644 index 0000000..dcec7db --- /dev/null +++ b/5-mst/5-mst.tex @@ -0,0 +1,241 @@ +%%%%%%%%%%%%%%%%%%%%%% +% lecture 04-04-2006 % +%%%%%%%%%%%%%%%%%%%%%% + +\input ../sgr.tex +\prednaska{5}{Minimální kostry}{zapsali Martin Kruli¹ \& Petr Su¹il } + +\h{Minimální kostry a základní vìty okolo nich} + +\s{Definice:} +Kostru pro nesouvislý graf definujeme jako sjednocení koster komponent grafu. + +\s{Definice:} +Nech» $G$ je neorientovaný graf. Váhy (ohodnocení) hran budi¾ zobrazení $w : E \to R$. Pro podgraf $H \subseteq G$ definujeme váhu $w(H)=\sum_{e \in E} {w(e)}$. + +\s{Poznámka:} +V dal¹ím textu nebudeme rozli¹ovat mezi podgrafy a podmno¾inami hran. Pro na¹e úèely jde o toté¾. Kostry jednovrcholových komponent nám slo¾itost nepokazí. + +\s{Definice:} +Minimální kostra (alias MST) je taková kostra $T$, která má $w(T)$ minimální. + +\s{Poznámka:} +Taková definice MST je ne¹ikovná. Vy¾aduje toti¾ existenci sèítání, pøesto¾e postaèuje pouze lineární uspoøádání. + +\s{Definice:} +Buï $T \subseteq G$ nìjaká kostra grafu~$G$. Pak +\itemize\ibull +\:$T[x,y] := $ cesta mezi $x,y$, její¾ hrany le¾í v $T$ +\:Hrana $e=(x,y) \in E \setminus T$ je {\I lehká} vzhledem ke~kostøe $ \equiv \exists e' \in T[x,y]:w(e) 0: \forall G \in {\cal C}: +\vert E(G) \vert \leq c\cdot \vert V(G) \vert$. + +\s{Dùsledek:} +Jeliko¾ v¹echny grafy vygenerované pøedchozím algoritmem jsou minory grafu ze~vstupu, +mù¾eme pro odhad jejich hustoty pou¾ít pøedchozí vìtu a dostaneme tak, ¾e pøedchozí +algoritmus má lineární èasovou slo¾itost dokonce pro ka¾dou netriviální minorovì uzavøenou +tøídu grafù. + +%%%Tomas Gavenciak + +\h{Jarníkùv algoritmus s Fibonacciho haldou} + +Pùvodní Jarníkùv algoritmus s~haldou má díky ní slo¾itost $\O(m\log n)$, to zlep¹íme pou¾itím +Fibonacciho haldy $H$, do~které si budeme ukládat trojice $(v,w,w(vw))$ vrcholù $v$ sousedících +s~dosavadní podkostrou $T$ pøes hranu $vw$, $w\in T$, která bude navíc nejlevnìj¹í mo¾ná. + +\newcount\algcnt +\s{Algoritmus: Jarníkùv algoritmus~\#2 (Fredman, Tarjan)} +\algo +\:Zaèneme libovolným vrcholem $v_0$: $T=\{v_0\}$. +\:Do~haldy $H$ umístíme v¹echny sousedy $v_0$ spolu s pøíslu¹nými hranami. +\:Opakuji dokud $H\neq\emptyset$: +\::$(v,w,w(vw))=\(H)$ +\::$T:=T\cup\{vw\}$ +\::Pro v¹echny sousedy $u\in E\backslash T$ vrcholu $v$ upravím haldu: +\:::Pokud je $u$ v~$H$ nový, pøidáme jej spolu s~nejlevnìj¹í hranou vedoucí z~$u$ do~$T$. +\:::Pokud u¾ $u$ v~$H$ je a $uv$ je levnìj¹í ne¾ pùvodní nejlevnìj¹í hrana z~$u$ +do~$T$, nahradím jeho záznam v~$H$ za~$(u,v,w(uv))$ a provedu $\(u,w(uv))$. +\global\algcnt=\itemcount +\endalgo + +Správnost algoritmu pøímo plyne ze~správnosti Jarníkova algoritmu. + +\s{Èasová slo¾itost:} +Slo¾itost tohoto algoritmu bude $\O(m+n\log n)$, nebo» vnitøní cyklus se provede +nanejvý¹ $n$-krát, za~\ v~nìm tedy zaplatíme $\O(n\log n)$, za~pøidávání +vrcholù do~$H$ a~nalezání nejlevnìj¹ích hran zaplatíme $\O(m)$ (na~ka¾dou hranu takto +sáhneme nanejvý¹ dvakrát), za~sni¾ování vah vrcholù v~haldì rovnì¾ pouze $\O(m)$ +(nanejvý¹ $m$-krát provedu porovnání vah a \ v~$\the\algcnt.$ za~$\O(1)$). + +Toto zlep¹ení je dùle¾itìj¹í, ne¾ by se mohlo zdát, proto¾e nám pro grafy s~mnoha hranami +(konkrétnì pro grafy s~$m=\Omega(n\log n)$) dává lineární algoritmus. + +\h{Kombinace Jarníkova a Borùvkova algoritmu} + +K~dal¹ímu zlep¹ení dojde, kdy¾ nejprve spustíme $\log\log n$ cyklù Borùvkova algoritmu +s~kontrahováním vrcholù, tímto dojde k~velkému sní¾ení poètu vrcholù. + +\s{Algoritmus: Jarníkùv algoritmus~\#3 (pùvod neznámý)} +\algo +\:Provedeme $\log\log n$ cyklù upraveného Borùvkova algoritmu s~kontrahováním hran popsaného vý¹e. +\:Pokraèujeme Jarníkovým algoritmem~\#2. +\endalgo + +\s{Èasová slo¾itost:} +Slo¾itost první èásti je $\O(m\log\log n)$. +Poèet vrcholù se po~první èásti algoritmu sní¾í na~$n'\leq n/\log n$ a slo¾itost druhé èásti bude +tedy nanejvý¹ $\O(m+n\log n'/\log n)=\O(m)$. Nyní ji¾ máme lineární algoritmus i~pro grafy +s~$m\geq n\log\log n$. + +\h{Jarníkùv algoritmus s~omezením velikosti haldy} + +Je¹tì vìt¹ího zrychlení dosáhneme, omezíme-li Jarníkovu algoritmu \#2 vhodnì +velikost haldy a takto budeme bìhem jednoho Jarníkova algoritmu skládat pouze +jednotlivé podkostøièky zastavené v rùstu pøeteèením haldy, podle kterých +graf následnì skontrahujeme a budeme pokraèovat s mnohem men¹ím grafem. + +\s{Algoritmus: Jarníkùv algoritmus~\#4 (Fredman, Tarjan)} +\algo +\:Opakuji, dokud mám netriviální $G$ (s alespoò jedou hranou). +\::$t=\vert V_G\vert$. +\::Zvolím $k=2^{2m/t}$ podle aktuálního $t$. +\::$T=\emptyset$ +\::Opakuji, dokud existují vrcholy mimo $T$: +\:::Najdu vrchol $v_0$ mimo $T$. +\:::Spustím Jarníkùv alg. \#2 pro celý graf od $v_0$, zastavím ho, pokud: +\global\algcnt=\itemcount +\::::$\vert H\vert\geq k$ (pøekroèena vel. haldy) nebo +\::::$H=\emptyset$ (do¹li sousedé) nebo +\::::do $T$ jsem pøidal hranu oboustrannì incidentní s~hranami v~$T$ (pøipojil +jsem novou podkostru k~nìjaké u¾ nalezené). +\::Skontrahuji $G$ podle podkoster nalezených v~$T$. +\endalgo + +\s{Pozorování:} +Ka¾dá z~nalezených podkoster v~$T$ je incidentní s~alespoò $k$ hranami (a~nebo +algoritmus u¾ konèí). +Jak to vypadá pro jednotlivá ukonèení: +\numlist\ndotted +\itemcount=\algcnt +\:$\vert H\vert\geq k$ -- bylo u¾ pøidáno dost vrcholù. +\:$H=\emptyset$ -- nalezena celá kostra, konèím. +\:Pøipojím se k~u¾ existující podkostøe -- jen ji zvìt¹ím. +\endlist + +\s{Èasová slo¾itost:} +Dùsledkem pozorování je, ¾e poèet podkoster v~jednom prùchodu je nanejvý¹ +$2m/k$. Pro $t'$ a $k'$ v následujícím kroku potom platí $t'\leq 2m/k$ a $k'=2^{2m/t'}\geq 2^k$, +prùchodù bude tedy nanejvý¹ $\log^* n$\foot{$\log^* n$ je inverzní funkce k~\uv{vì¾i +z~mocnin}, èili $\min\{i:\log^{(i)} n<1 \}$, kde $\log^{(i)} n$ je $i$-krát iterovaný +logaritmus.}, proto¾e prùchod s~$k>n$ bude u¾ urèitì poslední. +Jeden vnìj¹í prùchod trvá $\O(m+t\log k)$, zvolím-li tedy $k=2^{2m/t}$, potom bude mít +jeden prùchod slo¾itost $\O(m)$. Celková slo¾itost bude $\O(m\log^{*}n)$. +Podrobnìj¹í analýza pak dá je¹tì o~nìco lep¹í výsledek, a~to $\O(m\beta(m,n))$, kde +$\beta(m,n)=\min\{i:\log^{(i)}n\!>}} +\def\opdiv{\mathop{/}} +\def\opmod{\mathop{\%}} +\def\ALIK{{\sc Alik}} + +\def\alik#1{% +\medskip +\halign{\qquad $ ##$&\hbox to 0.4\hsize{${}##$\hfil}&\hfil $ ##$&\hbox to 0.4\hsize{${}##$ \hss}\cr +#1} +\medskip +} + +\prednaska{7}{Výpoèetní modely}{zapsal Zdenìk Vilu¹ínský } + +\h{Druhy výpoèetních modelù} + +\s{Poznámka:} V dostateènì silném výpoèetním modelu lze v¹e (a¾ na +vyjímky) spoèítat v konstantním èase. + +\s{Church - Turingova teze:} V¹echny výpoèetní modely které nejsou +absurdní jsou ekvivalentní. + + Toto tvrzení ale neplatí a¾ do tìch nejmen¹ích detailù, které by nás zajímaly. Spoèítáme to samé, +ale pøi zkoumání jemnìj¹ích slo¾itostí ne¾ polynomiálních nejsou +modely stejnì silné. + +Následující modely se li¹í v tom, zda vìøíme, ¾e lze pole +indexovat v konstantním èase nebo ne. + +\s{Pointer Machine:} Uznává 2 typy dat: + +\algo +\: Èísla - jsou omezená parametry modelu +\: Pointry - +ukazují na "krabièky" +\endalgo + +Pamì» tohoto modelu je slo¾ená z pevného poètu registrù na èísla a +na pointry a neomezeného poètu krabièek. Ka¾dá krabièka má pevný +poèet polo¾ek na èísla a pointry a na krabièku se lze odkázat +pointrem. Aritmetika není a¾ na triviální pøípady v konstantním +èase. + +\s{Random Access Machine:} Je rodinka modelù, které se li¹í v +rùzných detailech. Ov¹em dost podstatných. V¹echny mají spoleèné +to, ¾e existuje pouze jeden datový typ - {\bf èísla}, mají pevný +poèet registrù (do jednoho registru se vejde jedno èíslo) a pamì», +co¾ je pole indexované èísly, jeho¾ polo¾ky jsou èísla. Instrukce +jsou operace s èísly. + +Tento model má dvì nejasnosti: + +\algo +\: Velikost èísel +\: Cena operací +\endalgo + +\h {Typy Random Access Machine (RAM)} + +\s{1) Logaritmická cena instrukcí} + +Èasová slo¾itost instrukce roste s poètem bitù èísel, na kterých +instrukce pracuje. Dojde tím k odstranìní absurdit, ale ¹patnì se +poèítá $\O(x)$. + +\s{2) Omezení velikosti slova; Operace v $\O(1)$} + +$W$ - ¹íøka slova. Mám li vstup délky $n$, pak $W$ je alespoò +$\log n$. Mù¾eme BÚNO pøedpokládat, ¾e $W = \O(\log n)$. Není to +zcela ekvivalentní prvnímu RAM, ale dovedeme na nìj pøevést se +zpomalením $\O(\log n)$. Máme k dispozici nìkolik modelù operací: + +\algo +\:WordRAM - +, -, *, /, \%, <<, >>, \&,\^{} + +\:AC$^0$ RAM - Jsou funkce spoèitatelné hradlovou sítí, která má +polynomiální poèet hradel, libovolný poèet vstupù a konstantní +hloubku. + +\:AC$^k$ - Jsou funkce spoèitatelné hradlovou sítí, která má +polynomiální poèet hradel, libovolný poèet vstupù a hloubku $ +\O(\log^k n)$. + +\:MC$^k$ - Jsou funkce spoèitatelné hradlovou sítí, která má +polynomiální poèet hradel a má nejvý¹e 2 vrstvy. + +\: Word $\cap$ AC$^0$ - Mù¾eme v¹e, kromì *, /, \%. Nejedná se ale +o pøíli¹ zajímavý model . +\endalgo + +Zamìøíme se pøevá¾nì na WordRAM, ale ve¹keré operace lze vyrobit i +v AC$^0$RAM. + +\s{Poznámka:} Ve¹keré Pointer-Machine polynomiání algoritmy, jsem +schopen na RAM spoèíst v asymptoticky stejném èase. + +\h {Van Emde-Boas Trees} + +Struktura, která si pamatuje mno¾inu uzlù $X$ z nìjakého omezeného +universa $U$, $X \subseteq \{0..U-1\}$ a podporují "stromové +operace" v èase $\O(\log\log U)$. Stromovými operacemi jsou +my¹leny základní mno¾inové operace a operace pracující s +uspoøádáním. V takovéto struktuøe pak mají operace slo¾itost: + +\settabs 5 \columns \+ & VEBT & Best Known\cr \+ Tøídìní & +$\O(n\log\log U)$ & $\O(n\log\log n)$ \cr \+ MST & $\O(m\log\log +U)$ & $\O(m)$ - pro integerovì ohodnocené\cr \+ Dijkstra & +$\O(m\log\log U)$ & $\O(m+n\log\log U)$, neorientovanì $\O(m)$\cr + + +VEBT pro universum velikosti $U$ (WLOG $U=2^{2^K}$) obsahuje: +\algo + +\:min, max - alespoò jedno nesmí být ulo¾eno rekurzivnì v +podstromech + +\:pøihrádky $P_0$ -- $P_{\sqrt{U}}$, pøièem¾ $x$ padne do +$P_{\lfloor x/\sqrt{U} \rfloor}$ a pøihrádky jsou ulo¾ené jako +VEBT($\sqrt{U}$) + +\:"sumární" VEBT($\sqrt{U}$) obsahující èísla neprázdných +pøihrádek +\endalgo + +\s{Find:} - pøímoèaøe v $\O(\log\log U)$ + +\s{Insert:} Slo¾itost $\O(\log\log U)$ +\algo + +\:o¹etøení triviálních stromù + +\: je-li tøeba, swap s min/max + +\: padne do pøihrádky $P_i$, která je buï + +\:: prázdná $\Rightarrow$ update sumárního stromu + zalo¾ení +triviálního stromu pro pøihrádku + +\:: nìco v ní je $\Rightarrow$ zanoøím do podstromu +\endalgo + +\s{Delete:} - analogicky + +\s{FindMin:} - Slo¾itost $\O(1)$ + +\s{Succ:} - Slo¾itost $\O(\log\log U)$ +\algo + +\: porovnání $x$ s min a max + +\:: $x$ = min $\Rightarrow$ i=FindMin(sumarni strom); Succ = +FindMin($P_i$) \:: $x$ = max $\Rightarrow$ Succ = 0 + +\: $x \in P_i$ + +\:: $x \not =$ max $P_i$ $\Rightarrow$ vnoøím do $P_i$ + +\:: $x =$ max $P_i$ $\Rightarrow$ j=Succ(i) v sumárním stromu; +Succ = FindMin($P_j$) +\endalgo + +Na operace mám hezké slo¾itosti, ale s inicializací to tak pìkné +není. Nicménì z následujícího vyplyne, ¾e není tøeba inicializaci +psát. + +\h{Modely inicializace} + +\s{1) "Pøi odchodu zhasni":} Pøidáme axióm, ¾e na zaèátku je celá +pamì» vynulovaná. Za sebou pak pamì» uklidíme. + +\s{2) Neinicializovano:} V pamìti je cokoliv, musím se postarat +sám + +\s{Vìta:} Buï $P$ program pro WordRAM s nulami inicializované +pamìti bì¾ící v èase $T(n)$. Pak existuje program $P$' pro WordRAM +s {\bf neinicializovanou} pamìtí poèítající toté¾ v +èase$\O(T(n))$. + +\s{Dùkaz:} Bìhem výpoètu si budeme pamatovat, k terých pamì»ových +buòkách u¾ nìco máme. Prokládaòe ulo¾íme do pamìti 2 pole: +\itemize\ibull \:M - pamì» $P$ \:L - seznam pou¾itých bunìk v M a +L[0] = délka L +\endlist + +Redukci vylep¹íme tím, ¾e zalo¾íme dal¹í prolo¾ené pole R, ve +kterém $i$-tá polo¾ka je buï neinicializovaná nebo øíká, na které +pozici v L je $i$-tá pamì»ová buòka pùvodního stroje.R[$i$] = $j$: +L[$j$] = $i$ $\vee$ neinicializováno pokud $\not \exists$ takové $j$. + +Tak¾e jsem schopen v konstantním èase rozhodnout, +jestli u¾ do buòky bylo psáno a ve stejném èase teké buòku pøidat. + +\qed + +\s{3) Zákaz dìr:} $\Rightarrow$ randomizované + +\s{Dùsledek:}Ani v jednom z pøedchozích pøípadù nemusíme psát +inicializaci + +\h{Operace s RAM} + +Dá se s jistými omezeními pou¾ívat jako vektorový poèítaè. + \itemize\ibull + +\:Nejpravìj¹í jednièka: +\alik{ + & & x&=\0\1\9\9\9\0\1\1\0\0\9\9\9\0 \cr + & & x - 1&=\0\1\9\9\9\0\1\0\1\1\9\9\9\1 \cr + & & x \land (x - 1)&=\0\1\9\9\9\0\1\0\0\0\9\9\9\0 \cr + & & x \oplus (x \land (x - 1))&=\0\0\9\9\9\0\0\1\0\0\9\9\9\0 \cr} +\endlist + +Pro následující sadu vektorových operací vezmeme vektor, a +prolo¾íme jeho jednotlivé prvky zleva nulami. \itemize\ibull + + \alik{ & & \0 x_{n-1} \0 x_{n-2} \9\9\9 \0 x_1\0 x_0 \cr} + +\: Replikace: + +Replikace $x$ vytvoøí vektor samých $x$ + \alik{ & & x*(\0\0\9\9\9\0\0\1)^n \cr} + +\: Seètení v¹ech slo¾ek $(Sum)$: + +a) sèítáním modulo $1^{n+1}$ + +b) násobením vhodnou konstantou +\def\.{\hbox to 3pt{\hfil}} +\def\z{\rack{$x_1$}{\hss\1\hss}} +\def\y{\rack{$x_{n-1}$}{\hss\1\hss}} +\def\xa{\rack{$x_1$}{\hss\.\hss}} +\def\xb{\rack{$x_{n-1}$}{\hss.\hss}} +\def\|{\hbox to 3pt{\hfil \vrule height 8pt depth 2pt \hfil}} + +\alik{ & & x_{n-1} x_{n-2} \9\9\9\9 x_1 x_0 \cr + & & * \y\y \9\9\9\9 \z\z \cr + & & x_{n-1} x_{n-2} \9\9\9\9 x_1 x_0 \cr + & & x_{n-1} x_{n-2} \xb\9\9 x_1 x_0 \xa \cr + & & \| \xa\xa\xa\xa\xa\xa\xa \cr + & & \| \xa\xa\xa\xa\xa\xa\xa \cr + & & \9\9\9 x_1x_0\xa\xa\xa\xa\xa\xa\xa \cr + } +Výsledkem je vektor v¹ech èásteèných souètù. + +\: Paralelní porovnání $(Cmp)$: + +Compare x $\leq$ y $\equiv z_i = 1 \Leftrightarrow x_i \leq y_i$ +\alik{ & & \1 y_{n-1} \1 y_{n-2} \9\9\9 \1 y_1\1 y_0 \cr & & - \0 +x_{n-1} \0 x_{n-2} \9\9\9 \0 x_1\0 x_0 \cr \cr} + +U vektoru y nahradíme prolo¾ené nuly jednièkami a odeèteme vektor +x. Ve výsledku pak bude na místì prolo¾eného bitu jednièka právì +tehdy, kdy¾ $x_i \leq y_i$ + +\: Rank ($x$,y): + +Mám nìjaké èíslo $x$ a vektor y, Rank je poèet slo¾ek vektoru, +které jsou men¹í nebo rovny $x$. \alik{ & & +Sum(Cmp((xx\9\9\9xx),y)) \cr} + +Nareplikuji vektor samých $x$ a ten porovnám s vektorem y. +Výsledný vektor seètu. + +\: Zatøídìní: + +Zatøídit novou hodnotu do setøídìného vektoru èísel lze také v +konstantním èase. Nejprve pomocí Rank najdu místo, kam má pøijít, +pak nìjakým konstantním poètem operací vektor "roz¹oupnu" o ¹íøku +slo¾ky doleva a vlo¾ím novou hodnotu. + +\: Unpack: + +Dostane $k$-bitové èíslo a vyrobí $k$-slo¾kový vektor, jeho¾ +slo¾ky jsou bity pùvodního èísla. Zreplikuji $x$ na vektor \alik{ +& & \0x\0x\9\9\9\0x \cr} a provedu AND s vhodnou bitovou maskou, +konkrétnì \alik{ & & +\1\0\9\9\9\0\|\9\9\9\|\0\9\9\9\0\1\0\|\0\9\9\9\0\1 \cr} Tím +vytvoøím vektor, který má v ka¾dé slo¾ce nulu nebo nenulu, podle +toho, jestli bit odpovídající této slo¾ce je nulový nebo nenulový, +ale je na ¹patné pozici. Vektor teï prolo¾ím jednièkami místo nul +a odeètu jednièku v ka¾dé slo¾ce. Tam kde byla ve slo¾ce nula, tak +si vypùjèila z jednièky od prostrkání, kde byla nenula tam se +nevypùjèilo. Prokládací bity jsou teï negace tìch, které tam +potøebuji mít. Pak staèí znegovat, provést Shift na správné místo +a AND k odstranìní nepoøádku. + +\: Pack: + +Dìlá opak ne¾ unpack, dostane vektor jednièek a nul, ze kterého +vytvoøí $k$-bitové èíslo. Pøerozdìlím slo¾ky vektoru tak, jako by +byli o bit krat¹í a provedu $Sum$ - Tím se jednotlivé bity posunou +a posèítá se to, jak potøebuju. + +\endlist + +Pro dal¹í operace pøedpokládáme, ¾e pro $W$-bitová èísla máme +slova dlouhá alespoò $b^2$. + +\itemize\ibull + +\: Poèet jednièek: + +Zjistí poèet jednièkových bitù. Provedu Unpack, èím¾ dostanu +vektor, jeho¾ slo¾ky jsou bity pùvodního èísla a provedu $Sum$. + +\: Zrcadlení: + +Chci dostat zrcadlovì symetrické èíslo ke vstupnímu. Nejprve +provedu Replicate. V nejni¾¹í kopii si nechám nejvýznamìj¹í bit, v +dal¹í druhý, a¾ v poslední nejni¾¹í bit. Poté posèítám s o jedna +men¹í velikostí bloku. + +\: LSB (Least Significant Bit): + +Poøadové èíslo první jednièky zprava. Izoluji tento bit pomocí +nalezení nejpravìj¹í jednièky, \alik{& & \0\9\9\9\0\1\0\9\9\9\0 +\cr} odeètu 1 a seètu jednièky. \alik{& & \0\9\9\9\0\0\1\9\9\9\1 +\cr} + +\: MSB (Most Significant Bit): + +Provede se pøes zrcadlení. + +\: MSB pro normální délu slova: + +Rozdìlím èíslo na bloky velikosti $\lfloor\sqrt{w}\rfloor$, +nejdøíve v ka¾dém bloku zjistím, zda v nìm nìco je nebo ne - +$Cmp(x,0)$, provedu Pack, èím¾ dostanu jedno slovo $y$ odmocninové +délky, které øíká, které bloky jsou prázdné a které ne. Dále +pustím MSB kvadratické na $y$, èím¾ dostanu blok $B_i$, ve kterém +je nejpravìj¹í jednièka a nakonec pustím MSB kvadratické na blok +$B_i$. Tím ji najdu uvnitø bloku. + +\endlist +\bye diff --git a/7-ram/Makefile b/7-ram/Makefile new file mode 100644 index 0000000..30dae5a --- /dev/null +++ b/7-ram/Makefile @@ -0,0 +1,3 @@ +P=7-ram + +include ../Makerules diff --git a/8-qheapuf/8-qheapuf.tex b/8-qheapuf/8-qheapuf.tex new file mode 100644 index 0000000..e44d00e --- /dev/null +++ b/8-qheapuf/8-qheapuf.tex @@ -0,0 +1,291 @@ +\def\X{{\cal X}} +\def\B{{\cal B}} +\def\and{\ \&\ } +\def\msb{{\rm MSB}} +\def\rank{{\rm Rank}} + +\def\pnromanp{(\nroman)} +\def\pnromanap{(\nroman ')} + +% Vlozeni obrazku {obrazek}{popisek} +\def\nosizefigure#1#2{\bigskip\vbox{\centerline{\epsfbox{#1}}\smallskip\centerline{#2}}\bigskip} + +\input ../sgr.tex + +\prednaska{8}{Q-Heaps \& Union-Find problem}{zapsali Cyril Strejc a Ale¹ +©nupárek} + +Na minulém semináøi jsme si mimo jiné ukázali výpoèetní model RAM a nahlédli +jsme, ¾e pomocí RAMu mù¾eme celkem snadno (v konstatním èase) simulovat +vektorový poèítaè. A kdy¾ u¾ máme vektorový poèítaè, pojïme si ukázat, jaké +datové struktury bychom s ním mohli vytváøet. Vektor ukládáme v $\O(w)$ slovech. +V dal¹ím budeme BÚNO +pøedpokládat, ¾e hodnoty, které do stuktur ukládáme, jsou rùzné. Svým sna¾ením +smìrujeme ke strukturám, které zvládnou operace {\it Insert} a {\it Delete} v +kostantním èase s rozumnou konstantou. + +\s{Znaèení:} +\itemize\ibull +\: $w$, ¹íøka slova daného stroje (RAMu) +\: $n$, velikost vstupu +\endlist +Abychom mohli indexovat vstup, dále pøedpokládejme, ¾e $w = \O(\log n)$. + +\h{Word-Encoded B-Tree} +V podstatì pùjde o obyèejný B-strom s daty v listech. Faktor stromu oznaème $B$. +Ukládáme $k$-bitové hodnoty a chceme aby $Bk=\O(w)$ -- tehdy se nám uzel stromu +vejde do vektoru a my budeme dostateènì rychle umìt operace s uzly, které do +B-stromu potøebujeme, t.j. dìlení, spojování, vyhledávání. Té¾ ukládáme pointry +na syny. Je tøeba si trochu rozmyslet, ¾e v ka¾dém uzlu se pointry na syny také +povede ``scucnout'' do vektoru. Jen¾e poèet prvkù ($\vert T\vert$), které se do +stromu vejdou je øádovì $B^h$, kde $h$ je hloubka stromu, a tudí¾ $\log\vert +T\vert = \O(h)$. Proto se pointry do vektoru pìknì vejdou. + +\h{Q-Heaps} + +Q-Heap je teoreticky zajímavá datová struktura, v praxi neimplementovatelná. +Narozdíl od Word-Encoded B-Tree není takové omezení na velikost ukládaného èísla +-- maximální velikost èísla odpovídá velikost slova. + +\s{Znaèení:} +\itemize\ibull +\: $k = \O(w^{1/4})$ +\: $r\le k$, poèet prvkù v Q-haldì +\: $x_1 < \ldots < x_r$, prvky (o $w$ bitech) v Q-haldì +\: $\X = (x_1,\ldots,x_r)$ +\: $c_i = \msb(x_i \oplus x_{i+1})$, nejvy¹¹í bit, na kterém se li¹í $x_i$ a +$x_{i+1}$ +\: $\rank_\X(x)$, poèet prvkù mno¾iny $\X$, které jsou men¹í ne¾ $x$. +Samotné $x$ ov¹em nemusí být prvek mno¾iny $\X$. +\endlist + +Haldové operace budeme umìt v $\O(1)$, nicménì bude nutný preprocesing v èase +$\O(2^{k^4})$, co¾ ov¹em není tak hrozné, jak na prní pohled vypadá, jeliko¾ +$k = \O(\root 4 \of {\log n})$, èili nakonec ho stihneme v lineárním èase. + +A jak to tedy vypadá? Prvky $x_1,\ldots,x_r$ budeme ukládat do tzv. trie. +{\it Trie} je binární strom s prvky (daty) v listech, v na¹em pøípadì s +hodnotami $x_1,\ldots,x_r$. Popí¹u konstrukci trie. Oznaèím $c = \max(c_i)$. +Mno¾inu $\X$ rozdìlíme na dvì mno¾iny, podle hodnot prvkù na $c$-tém bitu v +binárním zápisu: $$ \X_0 = \{ x_i \vert x_i \in \X\and x_i[c]=0 \}$$ +$$ \X_1 = \{x_i \vert x_i \in \X\and x_i[c]=1\}$$ + +Tedy $$\forall x \in \X_1, \forall y \in \X_2: x < y$$ + +Èíslo $c$ -- øíkejme mu znaèka -- vlo¾íme do koøene právì budovaného (pod)stromu +a jako levý podstrom pøipojím strom, který vznikne stejnou oparací na mno¾inì +$\X_ 0$, prièem¾ $c$ vybíráme jen pøes prvky $\X_0$. Pravý podstrom vznikne +stejnì z mno¾iny $\X_1$. Pokud je ji¾ mno¾ina pouze jednoprvková, dále +nepokraèujeme v dìlení a zbývající prvek vlo¾íme jako list. Hodnoty (data) jsou +tak ulo¾eny v listech a ve vnitøích uzlech jsou znaèky. + +\s{Pøíklad:} + +\nosizefigure{trie.eps}{Trie. Ohodnocení hran je pouze pro názornost -- není +souèástí trie.} + +\>Pozorování: +\itemize\ibull +\: Tvar stromu (oznaème ho $T$) je jednozaène urèen vektrorem +$\vec c=(c_1,\ldots,c_r)$. +\: Prvky jsou v trii umístìny vzestupnì zleva doprava. +\endlist + +To je sice v¹echno moc pìkné, ale pro aplikaci v Q-Heapech budeme muset umìt +poèítat $\rank_\X(x)$ v konstatním èase. Jak tedy na to? + +\s{Lemma 1:} $\rank_\X(x)$ je urèen jednoznaènì: +\numlist\pnromanp +\: stromem $T$ +\: èíslem $i$: x vede v $T$ do $x_i$ +\: vztahem mezi $x$ a $x_i$ -- my¹leno vzhledem k relacím $<,>,=$ +\: $\msb(x \oplus x_i)$ +\endlist + +\s{Zdùvodnìní.} Pokud $x=x_i$, tak zjevnì $\rank_\X(x) = i$. Nech» tedy $x\neq +x_i$. Hodnoty znaèek klesají ve smìru od koøene k +listùm a na cestì od koøene k $x_i$ se v¹echny bity v $x_i$ na pozicích urèených +znaèkami shodují s bity v $x$ -- tak jsme k danému $x$ ve (ii) vybrali $x_i$. +Vezmeme do ruky $x$ a vydáme se na cestu od koøene do místa, kde bychom +oèekávali $x$, kdyby v trii bylo. Jeliko¾ $\msb(x \oplus x_i)$ urèitì není +znaèka na cestì z koøene do $x_i$ (v tom pøípadì by cesta podle znaèek nevedla +do $x_i$ -- $x$ se na této pozici od $x_i$, vydali bychom se tedy do opaèné +(shodující) vìtve), tak na této cestì je $\msb(x \oplus x_i)$ ostøe mezi +nìjakými znaèkami, co¾ mi urèí hranu -- breakpoint, pod kterou u¾ jsou v¹echny +hodnoty v listech buï men¹í (pokud $x>x_i$), nebo vìt¹í (pokud $xx_i$, tedy celý podstrom je men¹í ne¾ $x$ a tudí¾ $\rank_\X(011001)=4$. + +\s{Znaèení:} +\itemize\ibull +\: $\B = \{c_1,\ldots,c_k\}$ +\: $\varphi: \{1,\ldots,k\} \to \B, \varphi(i):=c_i$ +\endlist + +\s{Lemma 1':} $\rank_\X(x)$ lze spoèítat v konstatním èase z: +\numlist\pnromanap +\: $\B,\varphi$ -- tyto objekty urèují strom $T$ +\: $\equiv$ (ii), tj. èísla $i$: x vede v $T$ do $x_i$ +\: $\equiv$ (iii), tj. vztahu mezi $x$ a $x_i$ -- my¹leno vzhledem k relacím +$<,>,=$ +\: $\rank_\B(\msb(x \oplus x_i))$ +\endlist +a v¹echny vý¹e uvedené body lze té¾ spoèítat v konstatním èase. + +\s{Zdùvodnìní.} + +\numlist\pnromanap +\: Nic se nepoèítá, tak je strom ulo¾en. +\: +\endlist + +\>A teï konkrétnì, jak bude Q-Heap realizována: + +\>Pamatujeme si: +\itemize\ibull +\: $\check x_1,\ldots,\check x_2$, hodnoty v libovolném poøadí +\: $\rho:$ permutace na $\{1,\ldots,k\}$ urèující $x_i = \check x_{\rho(i)}$ pro +$1 \le i \le r$, platí $x_1 < \ldots < x_r$ +\: $r$, poèet prvkù +\: $B$, mno¾ina ``zajímavých'' bitových pozic, reprezentovaná jako vektor +\: $R$, vektor popisující funkci $\varphi: \{1,\ldots,k\} \to \{1,\ldots,k\}$, t.¾. +$B[\varphi(i)] = c_i$ +\endlist + +\> A teï si ji¾ uká¾eme dvì základní operace -- {\it insert} a {\it delete}. + +\s{Insert(x)} + +\algo +\: $i = \rank_\X(x)$ +\: porovnáme $x,x_i$ +\: zaøadíme $x$ do $x_1,\ldots,x_r, r++$ +\: spoèítáme $c_i',c_{i+1}'$ +\: update $B,R$ +\endalgo + +\s{Delete(x)} + +\algo +\: $i = \rank_\X(x)$, pøedpokládáme $x=x_i$, tedy ¾e prvek v haldì je +\: sma¾eme $x_i$ (uvolnìní $\check x_{\rho(i)}$, se¹oupnutí $\rho$); $r--$ +\: rozhodneme, jestli zmizí $c_i$, nebo $c_{i+1}$ +\: update $B$ (dle výsledku pøedchozího kroku), update $R$ (se¹oupnutí) +\endalgo + + + +\h{Union-Find problem} +Na Uion-Find problem (UF) mù¾eme nahlí¾et ze více stran (udr¾ování ekvivalencí, +inkrementální souvislost grafu). K èemu je to dobré? +Napøíklad v Kruskalovì algoritmu pro hledání minimálních koster v grafu. +\h{Udr¾ování tøíd ekvivalence } +Mìjme nìjakou mno¾inu M, která se dá rozlo¾it na k ekvivalentních podmon¾in (tøídy ekvivalence). Na mno¾iòe M chceme provádìt +dvì operace: jsou p,q z M ekvivalentní (ve stejné tøídì ekvivalence)? (find(p,q)) Dále chceme umìt spojit dvì tøídy ekvivalence do jedné (union(p,q)). +\h{Inkrementální idr¾ování komponent souvislosti grafu} +Jedná se o pøipad podobný udr¾ování tøíd ekvivalence. Tentokrát mnou¾inou M bude mno¾ina vrcholù V grafu G (V,E). +Za »øídy ekvivalence budou jednotlivé komponenty souvislosti grafu G. Operace find nám øekne o dvou vrcholech nachází-li +se ve stejné komponen»e, èi nikoliv. Operace union nám spojí dvì komponenty do jedné pøidáním hrany. Pokud pøipustíme mazání hran, +øe©ení problému je výraznì te¾¹í. + +\h{Bì¾ná implementace } +Ka¾dé tøídì ekvivalence pøiøadíme unikátní barvu, kterou obarvíme její prvky. Pro operaci find staèí porovnat barvy prvkù. +Pro operaci union dvou komponent je nutné pøebarvit obì na stejnou barvu. Budeme pøebarvovat +v¾dy tu men¹í pak celková operace union bude trvat $\O(n\log(n) + m)$. (Ka¾dé pøebarvení minimálnì zdvojnásobí velikost nové komponenty.) +\h {Chytøej¹í implementace } +Budeme-li prvky za stejné tøídy reprezentovat ve jednom stromì (synové mají ukazatel svého otce), operaci find +provedeme prùchodem ze zadaných prvkù do koøene. Prvky jsou ve stejné komponentì souvislosti, pokud mají stejného otce. +Operace union bude spojení dvou stromù do jednoho (otec jednoho stromu se zavìsí pod listy druhého). +Takto definovaný union nemusí garantovat logaritmickou slo¾itost pro find, +v extrémním pøipadì mù¾e strom mít lineární hloubku vzhledem k poètu vrcholù. + +Degeneraci stromu lze zabránit pøidánim podmínky urèující, jaký strom bude dole. +První mmo¾nost (union by size) je povìsit dolu vìtsí strom. +Druhá mo¾nost (union by rank) je ka¾dému vrcholu nastavit na zaèátku nìjaký rank (tøeba 1). Pokud je $r1 -0.187500 0.078125 3.514598 F1 fsd sms +gr +gs +0.000000 slw +0 slc +0 slj +0.000000 0.000000 0.000000 sclr +np +1.466381 17.802404 mt 2.345893 18.331207 2.776549 19.108648 2.758349 20.134729 ct +2.740149 21.160810 2.282193 21.922491 1.384481 22.419769 ct +0.486769 22.917048 -0.401843 22.901287 -1.281355 22.372484 ct +-2.160867 21.843681 -2.591523 21.066240 -2.573323 20.040159 ct +-2.555124 19.014078 -2.097167 18.252398 -1.199455 17.755119 ct +-0.301743 17.257841 0.586869 17.273602 1.466381 17.802404 ct +cp +st +gr +gs +0.000000 slw +0 slc +0 slj +0.000000 0.000000 0.000000 sclr +np +-18.456327 7.733937 mt -17.576815 8.262739 -17.146158 9.040180 -17.164358 10.066261 ct +-17.182558 11.092341 -17.640514 11.854021 -18.538227 12.351300 ct +-19.435938 12.848579 -20.324551 12.832818 -21.204063 12.304016 ct +-22.083574 11.775214 -22.514231 10.997772 -22.496031 9.971691 ct +-22.477831 8.945610 -22.019875 8.183930 -21.122162 7.686651 ct +-20.224451 7.189373 -19.335838 7.205134 -18.456326 7.733937 ct +st +gr +gs +0.000000 slw +0 slc +0 slj +0.000000 0.000000 0.000000 sclr +np +21.761526 7.591147 mt 22.641037 8.119949 23.071693 8.897390 23.053493 9.923470 ct +23.035294 10.949551 22.577337 11.711230 21.679626 12.208509 ct +20.781916 12.705789 19.893303 12.690026 19.013792 12.161224 ct +18.134281 11.632422 17.703625 10.854981 17.721825 9.828901 ct +17.740025 8.802821 18.197981 8.041142 19.095692 7.543863 ct +19.993402 7.046584 20.882015 7.062346 21.761526 7.591148 ct +cp +st +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 -20.611444 8.823664] concat +<34> -0.093750 0.000000 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 19.653284 8.665249] concat +<30> -0.140625 0.078125 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[0.708072 0.000000 0.000000 0.708072 -14.049660 16.302305] concat +<30> -0.140625 0.078125 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 -5.202597 6.234410] concat +gr +gs +0.000000 slw +0 slc +0 slj +0.000000 0.000000 0.000000 sclr +np +-32.450947 1.378704 mt -31.571434 1.907506 -31.140778 2.684948 -31.158978 3.711029 ct +-31.177177 4.737109 -31.635134 5.498789 -32.532845 5.996068 ct +-33.430557 6.493347 -34.319172 6.477585 -35.198685 5.948783 ct +-36.078197 5.419981 -36.508850 4.642540 -36.490650 3.616459 ct +-36.472450 2.590378 -36.014492 1.828698 -35.116783 1.331419 ct +-34.219070 0.834141 -33.330460 0.849902 -32.450947 1.378704 ct +cp +st +gr +gs +np -10.068375 -0.049444 0 0 360 a fi +gr +gs +np -6.633695 5.234682 0 0 360 a fi +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -2.573743 20.087435 mt -19.938143 12.683045 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np 2.758769 20.087435 mt 20.263569 12.539552 lt st +gr +gs +0.000000 slw +0 slc +0 slj +0.000000 0.000000 0.000000 sclr +np +-4.973590 1.521519 mt -4.094078 2.050321 -3.663422 2.827762 -3.681622 3.853843 ct +-3.699821 4.879923 -4.157777 5.641603 -5.055490 6.138882 ct +-5.953202 6.636161 -6.841814 6.620399 -7.721326 6.091598 ct +-8.600838 5.562796 -9.031494 4.785354 -9.013294 3.759273 ct +-8.995094 2.733192 -8.537138 1.971513 -7.639426 1.474234 ct +-6.741714 0.976955 -5.853102 0.992717 -4.973590 1.521519 ct +cp +st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -22.487061 10.242557 mt -33.691406 6.326659 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -17.164839 10.088207 mt -6.207046 6.469114 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 -34.559189 2.452806] concat +<33> -0.140625 0.078125 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 -7.042770 2.634683] concat +<32> -0.171875 0.000000 3.514598 F1 fsd sms +gr +gs +0.000000 slw +0 slc +0 slj +0.000000 0.000000 0.000000 sclr +np +-39.923939 -5.181332 mt -46.307327 -5.196621 lt +-46.330128 -0.915765 lt +-39.946732 -0.900477 lt +-39.923939 -5.181332 lt +cp +st +gr +gs +0.000000 slw +0 slc +0 slj +0.000000 0.000000 0.000000 sclr +np +-23.667276 -5.142708 mt -29.935055 -5.157720 lt +-29.957441 -0.954395 lt +-23.689655 -0.939383 lt +-23.667276 -5.142708 lt +cp +st +gr +gs +0.000000 slw +0 slc +0 slj +0.000000 0.000000 0.000000 sclr +np +-10.162128 -4.987214 mt -15.964506 -5.001111 lt +-15.985232 -1.109894 lt +-10.182846 -1.095996 lt +-10.162128 -4.987214 lt +cp +st +gr +gs +0.000000 slw +0 slc +0 slj +0.000000 0.000000 0.000000 sclr +np +6.367862 -5.225865 mt -0.148809 -5.241473 lt +-0.172086 -0.871234 lt +6.344593 -0.855626 lt +6.367862 -5.225865 lt +cp +st +gr +gs +0.000000 slw +0 slc +0 slj +0.000000 0.000000 0.000000 sclr +np +16.236979 -0.014201 mt 9.930801 -0.029305 lt +9.908276 4.199772 lt +16.214462 4.214876 lt +16.236979 -0.014201 lt +cp +st +gr +gs +0.000000 slw +0 slc +0 slj +0.000000 0.000000 0.000000 sclr +np +30.183531 -0.057328 mt 23.748274 -0.072741 lt +23.725286 4.242900 lt +30.160553 4.258314 lt +30.183531 -0.057328 lt +cp +st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -36.487514 3.526047 mt -42.875984 -0.907493 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -31.158558 3.663718 mt -26.421215 -0.945925 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -9.009760 3.951705 mt -13.113919 -1.103017 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -3.681202 3.806533 mt 2.901950 -0.863872 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np 17.728758 10.074040 mt 12.781023 4.206653 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np 23.045580 10.086838 mt 26.805702 4.250278 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 13.358829 9.376315] concat +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 13.501940 8.519425] concat +gr +gs +0.000000 0.000000 0.000000 sclr +[0.708072 0.000000 0.000000 0.708072 13.267751 15.802456] concat +<31> -0.296875 0.078125 3.514598 F1 fsd sms +<30> 1.460429 0.078125 3.514598 F1 fsd sms +<30> 3.217734 0.078125 3.514598 F1 fsd sms +<30> 4.975039 0.078125 3.514598 F1 fsd sms +<30> 6.732343 0.078125 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[0.708072 0.000000 0.000000 0.708072 -30.380739 9.232978] concat +<30> -0.140625 0.078125 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[0.708072 0.000000 0.000000 0.708072 -10.912022 9.232979] concat +<31> -0.296875 0.078125 3.514598 F1 fsd sms +<30> 1.460429 0.078125 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[0.708072 0.000000 0.000000 0.708072 -44.075626 1.520980] concat +<30> -0.140625 0.078125 3.514598 F1 fsd sms +<30> 1.616679 0.078125 3.514598 F1 fsd sms +<31> 3.373984 0.078125 3.514598 F1 fsd sms +<31> 5.131289 0.078125 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[0.708072 0.000000 0.000000 0.708072 -28.327871 1.378164] concat +<31> -0.296875 0.078125 3.514598 F1 fsd sms +<30> 1.460429 0.078125 3.514598 F1 fsd sms +<31> 3.217734 0.078125 3.514598 F1 fsd sms +<30> 4.975039 0.078125 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[0.708072 0.000000 0.000000 0.708072 -14.974368 1.663794] concat +<30> -0.140625 0.078125 3.514598 F1 fsd sms +<30> 1.616679 0.078125 3.514598 F1 fsd sms +<31> 3.373984 0.078125 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[0.708072 0.000000 0.000000 0.708072 -0.464829 1.663794] concat +<31> -0.296875 0.078125 3.514598 F1 fsd sms +<30> 1.460429 0.078125 3.514598 F1 fsd sms +<31> 3.217734 0.078125 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[0.708072 0.000000 0.000000 0.708072 13.411276 6.805118] concat +<30> -0.140625 0.078125 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[0.708072 0.000000 0.000000 0.708072 26.110130 6.404341] concat +<31> -0.296875 0.000000 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 -44.697861 -4.379025] concat +<78> -0.109375 0.527184 3.514598 F2 fsd sms +<31> 1.899313 0.000000 2.460219 F3 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 -44.887436 -2.191694] concat +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 -27.992928 -4.379025] concat +<78> -0.109375 0.527184 3.514598 F2 fsd sms +<32> 1.899313 0.000000 2.460219 F3 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 -14.412974 -4.402461] concat +<78> -0.109375 0.574059 3.514598 F2 fsd sms +<33> 1.899313 0.046875 2.460219 F3 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 2.029149 -4.379024] concat +<78> -0.109375 0.527184 3.514598 F2 fsd sms +<34> 1.899313 0.000000 2.460219 F3 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 12.221286 0.596057] concat +<78> -0.109375 0.574059 3.514598 F2 fsd sms +<35> 1.899313 0.046875 2.460219 F3 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 25.515060 0.596062] concat +<78> -0.109375 0.574059 3.514598 F2 fsd sms +<36> 1.899313 0.046875 2.460219 F3 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 -87.695099 -0.026288] concat +<78> -0.109375 21.661648 3.514598 F2 fsd sms +<31> 1.899313 21.134462 2.460219 F3 fsd sms +<3d> 4.452261 21.661648 3.514598 F1 fsd sms +<30> 8.162099 21.661648 3.514598 F1 fsd sms +<30> 9.919403 21.661648 3.514598 F1 fsd sms +<30> 11.676708 21.661648 3.514598 F1 fsd sms +<30> 13.434011 21.661648 3.514598 F1 fsd sms +<31> 15.191317 21.661648 3.514598 F1 fsd sms +<31> 16.948620 21.661648 3.514598 F1 fsd sms +<63> 25.735132 21.661648 3.514598 F2 fsd sms +<31> 27.256094 21.134462 2.460219 F3 fsd sms +<3d> 29.809042 21.661648 3.514598 F1 fsd sms +<33> 33.518883 21.661648 3.514598 F1 fsd sms +<78> -0.109375 17.444130 3.514598 F2 fsd sms +<32> 1.899313 16.916946 2.460219 F3 fsd sms +<3d> 4.452261 17.444130 3.514598 F1 fsd sms +<30> 8.162099 17.444130 3.514598 F1 fsd sms +<30> 9.919403 17.444130 3.514598 F1 fsd sms +<31> 11.676708 17.444130 3.514598 F1 fsd sms +<30> 13.434011 17.444130 3.514598 F1 fsd sms +<31> 15.191317 17.444130 3.514598 F1 fsd sms +<30> 16.948620 17.444130 3.514598 F1 fsd sms +<63> 25.735132 17.444130 3.514598 F2 fsd sms +<32> 27.256094 16.916946 2.460219 F3 fsd sms +<3d> 29.809042 17.444130 3.514598 F1 fsd sms +<34> 33.518883 17.444130 3.514598 F1 fsd sms +<78> -0.109375 13.226612 3.514598 F2 fsd sms +<33> 1.899313 12.699428 2.460219 F3 fsd sms +<3d> 4.452261 13.226612 3.514598 F1 fsd sms +<30> 8.162099 13.226612 3.514598 F1 fsd sms +<31> 9.919403 13.226612 3.514598 F1 fsd sms +<30> 11.676708 13.226612 3.514598 F1 fsd sms +<30> 13.434011 13.226612 3.514598 F1 fsd sms +<30> 15.191317 13.226612 3.514598 F1 fsd sms +<31> 16.948620 13.226612 3.514598 F1 fsd sms +<63> 25.735132 13.226612 3.514598 F2 fsd sms +<33> 27.256094 12.699428 2.460219 F3 fsd sms +<3d> 29.809042 13.226612 3.514598 F1 fsd sms +<32> 33.518883 13.226612 3.514598 F1 fsd sms +<78> -0.109375 9.009094 3.514598 F2 fsd sms +<34> 1.899313 8.481911 2.460219 F3 fsd sms +<3d> 4.452261 9.009094 3.514598 F1 fsd sms +<30> 8.162099 9.009094 3.514598 F1 fsd sms +<31> 9.919403 9.009094 3.514598 F1 fsd sms +<30> 11.676708 9.009094 3.514598 F1 fsd sms +<31> 13.434011 9.009094 3.514598 F1 fsd sms +<30> 15.191317 9.009094 3.514598 F1 fsd sms +<31> 16.948620 9.009094 3.514598 F1 fsd sms +<63> 25.735132 9.009094 3.514598 F2 fsd sms +<34> 27.256094 8.481911 2.460219 F3 fsd sms +<3d> 29.809042 9.009094 3.514598 F1 fsd sms +<35> 33.518883 9.009094 3.514598 F1 fsd sms +<78> -0.109375 4.791576 3.514598 F2 fsd sms +<35> 1.899313 4.264393 2.460219 F3 fsd sms +<3d> 4.452261 4.791576 3.514598 F1 fsd sms +<31> 8.162099 4.791576 3.514598 F1 fsd sms +<30> 9.919403 4.791576 3.514598 F1 fsd sms +<30> 11.676708 4.791576 3.514598 F1 fsd sms +<30> 13.434011 4.791576 3.514598 F1 fsd sms +<30> 15.191317 4.791576 3.514598 F1 fsd sms +<30> 16.948620 4.791576 3.514598 F1 fsd sms +<63> 25.735132 4.791576 3.514598 F2 fsd sms +<35> 27.256094 4.264393 2.460219 F3 fsd sms +<3d> 29.809042 4.791576 3.514598 F1 fsd sms +<30> 33.518883 4.791576 3.514598 F1 fsd sms +<78> -0.109375 0.574059 3.514598 F2 fsd sms +<36> 1.899313 0.046875 2.460219 F3 fsd sms +<3d> 4.452261 0.574059 3.514598 F1 fsd sms +<31> 8.162099 0.574059 3.514598 F1 fsd sms +<30> 9.919403 0.574059 3.514598 F1 fsd sms +<30> 11.676708 0.574059 3.514598 F1 fsd sms +<30> 13.434011 0.574059 3.514598 F1 fsd sms +<30> 15.191317 0.574059 3.514598 F1 fsd sms +<31> 16.948620 0.574059 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -78.755089 -2.123083 mt -78.790428 -6.778875 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -78.755089 -2.123083 mt -80.027412 -3.824239 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -78.755089 -2.123083 mt -77.666359 -3.869009 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -69.639580 -2.134195 mt -69.674919 -6.789989 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -69.639580 -2.134195 mt -70.911903 -3.835351 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -69.639580 -2.134195 mt -68.550850 -3.880121 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 -79.035385 -9.478876] concat +<35> -0.187500 0.078125 3.514598 F1 fsd sms +<34> 1.569804 0.078125 3.514598 F1 fsd sms +<33> 3.327109 0.078125 3.514598 F1 fsd sms +<32> 5.084414 0.078125 3.514598 F1 fsd sms +<31> 6.841718 0.078125 3.514598 F1 fsd sms +<30> 8.599022 0.078125 3.514598 F1 fsd sms +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 -99.847923 -13.545489] concat +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -79.583458 26.178902 mt -79.583458 -1.714646 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -77.825142 26.156439 mt -77.825142 -1.737108 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -70.790810 26.100727 mt -70.790810 -1.792821 lt st +gr +gs +0.000000 0.000000 0.000000 sclr +0.000000 slw +0 slc +0 slj +np -69.032494 26.078264 mt -69.032494 -1.815282 lt st +gr +gs +np 32.858963 2.257412 0 0 360 a fi +gr +gs +0.000000 0.000000 0.000000 sclr +[1.000000 0.000000 0.000000 1.000000 -13.082013 7.682764] concat +<0f> -0.203125 -0.203125 3.514598 F4 fsd sms +gr +showpage + +%%Trailer +%%DocumentSuppliedResources: procset VrrEPSProcSet +%%+ font CMR10 CMMI10 CMR7 CMSY10 +end restore +%%EOF diff --git a/8-qheapuf/trie.vrr b/8-qheapuf/trie.vrr new file mode 100644 index 0000000..e03389f --- /dev/null +++ b/8-qheapuf/trie.vrr @@ -0,0 +1,125 @@ + + (document 0.6 ( (filename "/home/cs/school/semgraf/trie.vrr") (name "Untitled 1")) ( + (page ( (tex_footer "\\bye +") (tex_header "\\nopagenumbers\\vglue0pt +") (name "Page 1")) ( + (segment (coords -69.6395797729492 -2.13419485092163) (coords -69.674919128418 -6.78998899459839) ( (id 137262032) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (coords -78.7550888061523 -2.12308263778687) (coords -78.7904281616211 -6.77887487411499) ( (id 137141008) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (coords 30.1835308074951 -0.0573275834321976) (coords 23.7482738494873 -0.0727405324578285) ( (id 137141368) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (coords 16.2369785308838 -0.0142008448019624) (coords 9.93080139160156 -0.029304638504982) ( (id 137190760) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (coords 6.3678617477417 -5.22586536407471) (coords -0.148809269070625 -5.24147319793701) ( (id 137190160) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (coords -10.1621284484863 -4.98721361160278) (coords -15.964506149292 -5.00111055374146) ( (id 137142536) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (coords -23.6672763824463 -5.14270782470703) (coords -29.9350547790527 -5.15772008895874) ( (id 137190384) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (coords -39.9239387512207 -5.18133211135864) (coords -46.3073272705078 -5.19662094116211) ( (id 137190984) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (ellipse-by-center-point-rotation-eccentricity (coords -6.34745788574219 3.80655813217163) (coords -4.97359085083008 1.52151823043823) 0.0 0.0 ( (id 137209384) (conic (point-entire)) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (ellipse-by-center-point-rotation-eccentricity (coords -33.8248138427734 3.66374373435974) (coords -32.4509468078613 1.37870383262634) 0.0 0.0 ( (id 137143464) (conic (point-entire)) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (ellipse-by-center-point-rotation-eccentricity (coords 20.387659072876 9.87618637084961) (coords 21.7615261077881 7.59114742279053) 0.0 0.0 ( (id 137215608) (conic (point-entire)) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (ellipse-by-center-point-rotation-eccentricity (coords -19.8301944732666 10.0189762115479) (coords -18.4563274383545 7.73393630981445) 0.0 0.0 ( (id 137141632) (conic (point-entire)) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (ellipse-by-center-point-rotation-eccentricity (coords 0.0925129652023315 20.0874443054199) (coords 1.46638071537018 17.8024044036865) 0.0 0.0 ( (id 137211072) (conic (point-entire)) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (start 137262032) (coords -70.9119033813477 -3.83535146713257) ( (id 137143944) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (start 137141008) (coords -80.0274124145508 -3.8242392539978) ( (id 137191720) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (end 137141368) (coords 23.7252864837646 4.24289989471436) ( (id 137192200) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (end 137190760) (coords 9.90827560424805 4.19977235794067) ( (id 137188648) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (end 137190160) (coords -0.17208631336689 -0.871234357357025) ( (id 137189416) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (end 137142536) (coords -15.9852323532105 -1.10989367961884) ( (id 137189896) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (end 137190384) (coords -29.9574413299561 -0.954394519329071) ( (id 137211568) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (end 137190984) (coords -46.3301277160645 -0.915765464305878) ( (id 137191432) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (parametric-point 137209384 0.405458569526672 ( (id 137265192) (name "noname"))) + (parametric-point 137209384 0.655175507068634 ( (id 137265064) (name "noname"))) + (parametric-point 137209384 0.163842514157295 ( (id 137264936) (name "noname"))) + (parametric-point 137143464 0.405877113342285 ( (id 137264808) (name "noname"))) + (parametric-point 137143464 0.672067046165466 ( (id 137264680) (name "noname"))) + (parametric-point 137143464 0.16384245455265 ( (id 137264552) (name "noname"))) + (parametric-point 137215608 0.421253889799118 ( (id 137222184) (name "noname"))) + (parametric-point 137215608 0.65202271938324 ( (id 137210952) (name "noname"))) + (parametric-point 137215608 0.176431387662888 ( (id 137209904) (name "noname"))) + (parametric-point 137141632 0.420289427042007 ( (id 137140160) (name "noname"))) + (parametric-point 137141632 0.65048223733902 ( (id 137210648) (name "noname"))) + (parametric-point 137141632 0.16797699034214 ( (id 137183584) (name "noname"))) + (parametric-point 137211072 0.663844585418701 ( (id 137208592) (name "noname"))) + (parametric-point 137211072 0.163843438029289 ( (id 137138784) (name "noname"))) + (segment (end 137192200) (coords 30.1605529785156 4.25831365585327) ( (id 137215112) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (end 137188648) (coords 16.2144622802734 4.21487617492676) ( (id 137212328) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (end 137189416) (coords 6.3445930480957 -0.855626404285431) ( (id 137213096) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (end 137189896) (coords -10.1828460693359 -1.09599649906158) ( (id 137213864) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (end 137211568) (coords -23.6896553039551 -0.939382672309875) ( (id 137214632) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (end 137191432) (coords -39.9467315673828 -0.9004767537117) ( (id 137210320) (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (parametric-point 137215112 0.478677123785019 ( (id 137183272) (name "noname"))) + (parametric-point 137212328 0.455544263124466 ( (id 137183408) (name "noname"))) + (parametric-point 137213096 0.471718221902847 ( (id 137184176) (name "noname"))) + (parametric-point 137213864 0.494850397109985 ( (id 137138936) (name "noname"))) + (parametric-point 137214632 0.56419050693512 ( (id 137217024) (name "noname"))) + (parametric-point 137210320 0.541113555431366 ( (id 137209272) (name "noname"))) + (top-level-group ( (name "top-level-group")) ( + (point (coords 32.8589630126953 2.25741171836853) ( (invisible #f) (name "noname"))) + (segment (coords -69.0324935913086 26.0782642364502) (coords -69.0324935913086 -1.8152824640274) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (coords -70.7908096313477 26.1007270812988) (coords -70.7908096313477 -1.79282057285309) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (coords -77.8251419067383 26.1564388275146) (coords -77.8251419067383 -1.73710787296295) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (segment (coords -79.5834579467773 26.1789016723633) (coords -79.5834579467773 -1.71464598178864) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords -99.8479232788086 -13.5454893112183) "" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (group ( (name "noname")) ( + (tex-text (coords -73.9311904907227 -8.2445011138916) "543210" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (group ( (name "noname")) ( + (segment (start 137143944) (coords -68.5508499145508 -3.88012075424194) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) 137143944 137262032)) + (group ( (name "noname")) ( + (segment (start 137191720) (coords -77.6663589477539 -3.86900854110718) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) 137191720 137141008)))) + (tex-text (coords -70.1075286865234 11.9764108657837) "\\halign{\\indent$#$\\quad\\quad&$#$\\cr +x_1=000011 & c_1=3\\cr +x_2=001010 & c_2=4\\cr +x_3=010001 & c_3=2\\cr +x_4=010101 & c_4=5\\cr +x_5=100000 & c_5=0\\cr +x_6=100001 & \\cr +} +" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords 27.0975303649902 1.66434144973755) "$x_6$" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords 13.7881298065186 1.66433656215668) "$x_5$" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords 3.62724280357361 -3.3341817855835) "$x_4$" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords -12.8305053710938 -3.33418154716492) "$x_3$" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords -26.4260845184326 -3.33418273925781) "$x_2$" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords -44.8874359130859 -2.1916937828064) "" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords -43.1700782775879 -3.33418273925781) "$x_1$" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords 26.525016784668 7.23411321640015) "1" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 0.708072125911713 0.0 0.0 0.708072125911713)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords 13.931266784668 7.66254901885986) "0" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 0.708072125911713 0.0 0.0 0.708072125911713)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords 1.19435501098633 2.52122473716736) "101" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 0.708072125911713 0.0 0.0 0.708072125911713)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords -13.2598657608032 2.52122473716736) "001" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 0.708072125911713 0.0 0.0 0.708072125911713)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords -25.9967517852783 2.23559522628784) "1010" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 0.708072125911713 0.0 0.0 0.708072125911713)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords -41.7389755249023 2.37841057777405) "0011" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 0.708072125911713 0.0 0.0 0.708072125911713)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords -9.82520008087158 10.0904102325439) "10 +" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 0.708072125911713 0.0 0.0 0.708072125911713)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords -29.8607482910156 10.0904092788696) "0" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 0.708072125911713 0.0 0.0 0.708072125911713)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords 16.221019744873 16.6598873138428) "10000" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 0.708072125911713 0.0 0.0 0.708072125911713)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords 13.5019397735596 8.51942539215088) "" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords 13.3588285446167 9.37631511688232) "" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) 137183272 + (segment (center 137209904) (center 137183272) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) 137209904 137183408 + (segment (center 137210952) (center 137183408) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) 137210952 137184176 + (segment (center 137264936) (center 137184176) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) 137264936 137138936 + (segment (center 137265064) (center 137138936) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) 137265064 137217024 + (segment (center 137264552) (center 137217024) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) 137264552 137209272 + (segment (center 137264680) (center 137209272) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) 137264680 + (path ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname")) ( 137141368 137192200 137215112 + (segment (end 137215112) (coords 30.1835308074951 -0.0573275834321976) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))))) + (path ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname")) ( 137190760 137188648 137212328 + (segment (end 137212328) (coords 16.2369785308838 -0.0142008448019624) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))))) + (path ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname")) ( 137190160 137189416 137213096 + (segment (end 137213096) (coords 6.3678617477417 -5.22586536407471) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))))) + (path ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname")) ( 137142536 137189896 137213864 + (segment (end 137213864) (coords -10.1621284484863 -4.98721361160278) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))))) + (path ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname")) ( 137190384 137211568 137214632 + (segment (end 137214632) (coords -23.6672763824463 -5.14270782470703) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))))) + (path ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname")) ( 137190984 137191432 137210320 + (segment (end 137210320) (coords -39.9239387512207 -5.18133211135864) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))))) + (tex-text (center 137209384) "2" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (center 137143464) "3" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) 137265192 + (segment (center 137183584) (center 137265192) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) 137183584 137264808 + (segment (center 137210648) (center 137264808) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) 137210648 137209384 + (parametric-point 137143464 0.329653769731522 ( (name "noname"))) 137222184 + (segment (center 137138784) (center 137222184) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) 137138784 137140160 + (segment (center 137208592) (center 137140160) ( (stroke-cap (cap-style butt)) (stroke-join (join-style miter)) (stroke-width 0.0) (stroke-color (rgb 0 0 0)) (fill-color (rgba 0 0 0 0)) (invisible #f) (name "noname"))) 137208592 + (point (coords -6.63369464874268 5.23468208312988) ( (invisible #f) (name "noname"))) + (point (coords -10.0683746337891 -0.0494439601898193) ( (invisible #f) (name "noname"))) 137143464 + (tex-text (coords -5.20259666442871 6.23440980911255) "" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (coords -13.5296688079834 17.1597366333008) "0" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 0.708072125911713 0.0 0.0 0.708072125911713)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (center 137215608) "0" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) + (tex-text (center 137141632) "4" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 1.0 0.0 0.0 1.0)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))) 137215608 137141632 137211072 + (tex-text (coords 0.235624194145203 19.9446296691895) "5" ( (relative-position-x 0.5) (relative-position-y 0.5) (absolute-shift-x 0.0) (absolute-shift-y 0.0) (alignment-x (alignment-x ref-relative)) (alignment-y (alignment-y bbox-relative)) (transform (transform 0.993641078472137 0.0 0.0 0.993641078472137)) (fill-color (rgb 0 0 0)) (invisible #f) (name "noname"))))))))) \ No newline at end of file diff --git a/9-suffix/9-suffix.tex b/9-suffix/9-suffix.tex new file mode 100644 index 0000000..1d0d024 --- /dev/null +++ b/9-suffix/9-suffix.tex @@ -0,0 +1,229 @@ +\input ../sgr.tex + +\def\leaderfill{\leaders\hbox to .5em{\hss.\hss}\hfill} +\def\itemitemitem{\par\indent\indent \hangindent3\parindent \textindent} +\dimen0 = \hsize +\divide \dimen0 by 6 +\def\vs#1#2{#1~{\rm vs.}~#2} + +\prednaska{9}{Suffixové stromy} {Tomá¹ Mikula \& Jan Král} + +\s {Definícia:} +\+\indent&\hbox to \dimen0 {$\Sigma$\leaderfill}&koneèná abeceda (mno¾ina znakov)\cr +\+&$\Sigma^*$\leaderfill&mno¾ina v¹etkých slov nad $\Sigma$\cr +\+&$\epsilon$\leaderfill&prázdne slovo\cr +\+&$\alpha\beta$\leaderfill&zre»azenie slov $\alpha,\beta\in\Sigma^*$\cr +\+&$\alpha^n$\leaderfill&$n=0: \alpha^0=\epsilon$\cr +\+&&$n>0: \alpha^n=\alpha\alpha^{n-1}$\cr +\+&$\alpha^{\rm R}$\leaderfill&slovo $\alpha$ odzadu\cr +\settabs\+\indent&$\alpha$ je {\it (vlastným) podslovom} $\beta$ &\cr +\+&$\alpha$ je {\it (vlastným) prefixom} $\beta$ &$\equiv \exists\gamma(\not=\epsilon):\beta=\alpha\gamma$\cr +\+&$\alpha$ je {\it (vlastným) sufixom} $\beta$ &$\equiv \exists\gamma(\not=\epsilon):\beta=\gamma\alpha$\cr +\+&$\alpha$ je {\it (vlastným) podslovom} $\beta$ &$\equiv \alpha$ je prefixom nejakého sufixu $\beta$ (a $\alpha\not=\beta$)\cr + +\h{Trie} +\s{Definícia:} {\it Trie ($\Sigma$-strom)} pre $X\subset\Sigma^*, \vert X\vert<\infty$ je orientovaný graf $G(V,E)$:\par +$V = \lbrace\alpha\vert\alpha\hbox{ je prefixom nejakého }\beta\in X\rbrace$\par +$(\alpha,\beta)\in E \equiv \exists x\in\Sigma:\beta=\alpha x$\par + +\s{Pozorovanie:} Trie je strom s koreòom $\epsilon$. Listy sú slová z $X$, ktoré nie sú vlastným prefixom iných slov z $X$. + +\s{Definícia:} {\it Komprimovaná trie ($\Sigma^+$-strom)} vznikne z trie nahradením nevetviacich sa ciest hranami (oznaèenými zre»azením znakov príslu¹nej cesty). + +Vrcholom, ktoré padli za obe» kompresii budeme hovori» {\it skryté vrcholy}.\par +Mô¾e sa sta», ¾e nejakému slovu z $X$ odpovedá skrytý vrchol. Aby sme sa tomuto vyhli, pridáme na koniec ka¾dého slova ¹peciálny znak $\$\notin\Sigma$. Teraz platí\par +\s{Pozorovanie:} Listy (komprimovanej) trie sú práve slová z $X$. + +\tabskip=0pt plus 1fil +\halign to\hsize{ +\hfil#\hfil&\hfil#\hfil&\hfil#\hfil\cr +\epsfbox{trie.eps}&\epsfbox{trie-c.eps}&\epsfbox{trie-cd.eps}\cr +Trie pre $\{\hbox{AULA, AUTO, AUTOBUS, BUS}\}$ & \dots komprimovaná & \dots odolarovaná\cr +} +\smallskip + +\h{Sufixové stromy} +\s{Definícia:} {\it Sufixový strom} pre slovo $\sigma\in\Sigma^*$ je komprimovaná trie pre $X=\lbrace {\rm sufixy~}\sigma\rbrace$. + +\s{Pozorovanie:} Listy sú sufixy $\sigma$, ktoré nie sú prefixom iného sufixu. Po pridaní znaku \$ na koniec ka¾dého sufixu sú listy práve v¹etky sufixy. Vnútorné vrcholy sú {\it vetviace podslová} $\sigma$ (tj. $\alpha$ podslová $\sigma$, ktoré sú prefixom aspoò dvoch sufixov a $\alpha x$ je prefixom men¹ieho poètu sufixov pre ka¾dé $x\in\Sigma$). + +V listoch si budeme znaèi» index do $\sigma$, kde daný sufix zaèína. + +\figure{st-barbara.eps}{Sufixový strom pre slovo BARBARA}{0pt} + +\s{Lemma:} Sufixový strom pre slovo $\sigma$ då¾ky $n$ je reprezentovateµný v priestore $\O(n)$.\par +\s{Dôkaz:} Strom má $\O(n)$ listov a ka¾dý vnútorný vrchol má výstupný stupeò aspoò $2$ a teda v¹etkých vrcholov je $\O(n)$. Keï¾e sa jedná o strom, hrán je tie¾ len $\O(n)$. Nálepky na hranách budú reprezentované ako 2 indexy do $\sigma$ oznaèujúce zaèiatok a koniec nejakého úseku odpovedajúceho písmenkám na hrane.\qed + +\s{Veta:} Sufixový strom pre slovo då¾ky $n$ sa dá zostroji» v èase $\O(n)$.\par +\s{Dôkaz:} Budú uvedené 2 kon¹trukcie v lineárnom èase.\qed + +\s{Aplikácie} (alebo èo doká¾eme v èase $\O(n)$):\par +\item{1.} inverzné vyhµadávanie (tj. vyhµadávanie µubovoµného výrazu v predspracovanom texte (nie predspracovaného výrazu (napr. koneèný automat) v µubovoµnom texte)) +\itemitem{-}v¹etky výskyty; ak u¾ máme strom postavený, doká¾eme nájs» v¹etkých $k$ výskytov podslova då¾ky $m$ v èase $\O(m+k)$ (vo vnútorných vrcholoch si budeme naviac udr¾iava» pointre na lexikograficky najmen¹í a najväè¹í list podstromu a v listoch pointer na ïal¹í list v lex. poradí) +\itemitem{-}poèet výskytov (v ka¾dom vnútornom vrchole budeme ma» predpoèítaný poèet listov, ktoré sa pod ním nachádzajú) +\item{2.} najdlh¹ie opakujúce sa podslovo +\itemitem{$\cong$} najhlb¹ie vetvenie (písmenkovo najhlb¹í vnútorný vrchol) +\item{3.} histogram $k$-podslov (èetnos» slov då¾ky $k$) +\itemitem{-} odre¾eme strom v písmenkovej håbke $k$ a spoèítame odrezané vetvièky +\item{4.}najdlh¹í spoloèný podre»azec slov $\alpha$ a $\beta$ ($LCS(\alpha, \beta)$) +\itemitem{-}postavíme strom pre slovo $\alpha\$_1\beta\$_2$; najhlb¹í vrchol, pod ktorým je $\alpha$-ový i $\beta$-ový sufix ($\$_1$ i $\$_2$) odpovedá $LCS(\alpha,\beta)$ +\item{5.}najdlh¹ie palindromické podslovo ($\beta$ je palindromické $\equiv \beta = \beta^{\rm R}$) +\itemitem{-} Postavíme sufixový strom pre $\alpha\$_1\alpha^R\$_2$. Postupne prechádzame cez v¹etky potenciálne stredy palindromu (je ich $2n-1$) a poèítame: +\itemitemitem{$\bullet$}$LCP(\alpha[i:], \alpha^{\rm R}[n-(i+1):])$, keï uva¾ujeme ako stred palindromu $i$-té písmenko (èíslované od 0) (tj. palindrom nepárnej då¾ky) +\itemitemitem{$\bullet$}$LCP(\alpha[i+1:], \alpha^{\rm R}[n-(i+1)])$, keï uva¾ujeme stred palindromu medzi $i$-tým a $(i+1)$-vým písmenkom (tj. palindrom párnej då¾ky). +\itemitem{}$LCP(\alpha,\beta)$ je najdlh¹í spoloèný prefix $\alpha$ a $\beta$ a v strome je to najhlb¹í spoloèný predchodca ($LCA$) listov odpovedajúcich $\alpha$ a $\beta$. +\itemitem{}Pritom treba ¹ikovne liez» po strome, aby nájdenie ïal¹ej odpovedajúcej si dvojice listov bolo kon¹tantné. +\itemitem{}Na nájdenie $LCA$ pou¾ijeme nejakú ¹truktúru, ktorá to po lineárnom predvýpoète zvládne v kon¹tantnom èase. +\item{6.}Burrows-Wheeler transform (BWT) + +\h{Rekurzívna kon¹trukcia sufixového stromu v lineárnom èase} +\s{Definícia:} {\it Suffix Array} $A$ pre slovo $\sigma$ je permutácia na sufixoch slova $\sigma$, ktorá ich zotriedi lexikograficky:\hfil\break +$\sigma[A[i]:]<_{lex}\sigma[A[i+1]:]$, kde $\sigma[j:]$ znaèí podslovo $\sigma$ poènúc $j$-tým písmenkom a¾ do konca. + +\s{Definícia:} {\it LCP Array} $L$ pre slovo $\sigma$:\hfil\break +$L[i]=\vert LCP(\sigma[A[i]:], \sigma[A[i+1]:])\vert$, kde $LCP(\alpha, \beta)$ je najdlh¹í spoloèný prefix $\alpha$ a $\beta$. + +\s{Definícia:} {\it Kartézsky strom} pre postupnos» kµúèov $x_1\ldots x_n$ je strom, ktorý je haldou podµa hodnôt kµúèov a vyhµadávacím stromom podµa poradia kµúèov v postupnosti. Pritom vrcholy s rovnakou hodnotou, ktoré by spolu susedili, zlúèime do jedného. + +Niektoré vrcholy majú voµné miesta, kde by mohol by» pripojený podstrom. Týmto voµným miestam budeme hovori» {\it voµné sloty}. + +\tabskip=0pt plus 1fil +\halign to\hsize{ +\hfil#\hfil&\hfil#\hfil\cr +\epsfbox{ct-35120024224.eps}&\epsfbox{ct-35120024224-fs.eps}\cr +Kartézsky strom pre $(3,5,1,2,0,0,2,4,2,2,4)$ & \dots s vyznaèenými voµnými slotmi\cr +} +\smallskip + +\s{Lemma:} Kartézsky strom pre $x_1\ldots x_n$ sa dá postavi» v èase $\O(n)$.\qed +\s{Lemma:} Sufixový strom (ST) pre $\sigma$ a $(A,L)$ pre $\sigma$ sú lineárne izomorfné.\par +\s{Dôkaz:}\par +${\rm ST}\longrightarrow(A,L)$: +\itemitem{}Prechádzame strom zµava doprava (tj. lexikograficky). V¾dy, keï sme v liste, opí¹eme do $A[i]$ index do $\sigma$, ktorý sme v liste na¹li; $i$ inicializujeme na $-1$ a pri ka¾dej náv¹teve listu zväè¹ujeme o $1$ (e¹te pred zápisom do $A[i]$). +\itemitem{}Medzi náv¹tevou 2 susedných listov v¾dy najskôr stúpame a potom sa znova ponoríme. Najvy¹¹í vrchol, po ktorý sme vystúpili medzi náv¹tevou listov $\alpha$ a $\beta$, odpovedá $LCP(\alpha,\beta)$, jeho håbka odpovedá $\vert LCP(\alpha, \beta)\vert$. Do $L[i]$ teda zapí¹eme håbku tohto najhlb¹ieho spoloèného predka, ktorú si poèítame v rekurzii. + +$(A,L)\longrightarrow{\rm ST}$: +\itemitem{}Staviame kartézsky strom pre $L$ a do voµných slotov privesujeme listy. Tento strom má tvar sufixového stromu pre $\sigma$. Indexy v listoch urèujeme podµa $A$. Nálepky na hranách urèujeme podµa indexov v listoch podstromu a (písmenkovej) håbky vrcholov (ktorú pre vnútorné vrcholy máme v $L$ a pre listy vypoèítame ako $\vert\sigma\vert - A[i]$).\qed + +\medskip +Ná¹ algoritmus bude kon¹truova» $(A,L)$, ktoré u¾ teraz vieme v lineárnom èase previes» na sufixový strom. + +\algo +\:(Z abecedy vyhodíme nepou¾ité znaky.) +\itemitem{}Pou¾ité znaky zotriedime priehradkovým triedením v èase $\O(n)$ a premenujeme na $1,\ldots,n'$, $n'\le n$. + +\:Definujeme slová $\sigma_0$, $\sigma_1$, $\sigma_2$ nasledujúcim spôsobom: +%\settabs\+\itemitemitem{}&$\sigma_2[i] := (\sigma[3i+2],$ &$\sigma[3i+3],$ &$\sigma[3i+4])$\cr +$$\eqalign{ +\sigma_0[i] &:= (\sigma[3i],\sigma[3i+1],\sigma[3i+2])\cr +\sigma_1[i] &:= (\sigma[3i+1],\sigma[3i+2],\sigma[3i+3])\cr +\sigma_2[i] &:= (\sigma[3i+2],\sigma[3i+3],\sigma[3i+4])\cr +}$$ +\itemitem{}$\sigma_0$, $\sigma_1$, $\sigma_2$ sú slová då¾ky $\approx{n\over3}$ nad abecedou $[n']^3$. (Opä» ale z nej pou¾ijeme najviac $n$ znakov.) + +\:Zavoláme sa rekurzívne na $\sigma_0\sigma_1$, získame $(A_{01},L_{01})$. Z $A_{01}$ doká¾eme jedným priechodom vyrobi» $A_0$, $A_1$, $A_{01}^{-1}$. ($A_{01}^{-1}$ je inverzná permutácia k $A_{01}$) + +\:Dopoèítame $A_2$.\par +\itemitem{}Vyu¾ijeme, ¾e $\sigma_2[i:]\approx\sigma[3i+2:]=\sigma[3i+2]\sigma[3i+3:]\approx\sigma[3i+2]\sigma_0[i+1:]$. +\itemitem{}Pre slová $\sigma_2[i:]\approx\sigma[3i+2]\sigma_0[i+1:]$ máme usporiadanie podµa druhej èasti (tj. podµa $\sigma_0[i+1:]$) v $A_0$. V tomto poradí ich nahád¾eme do priehradok podµa prvého znaku prvého znaku (tj. podµa $\sigma[3i+2]$) a vysypeme do $A_2$. + +\:$A_0,A_1,A_2\buildrel merge\over\longrightarrow A$ +\itemitem{}Nech $a$, $b$, $c$, sú aktuálne pozície v $A_0$, $A_1$, $A_2$ (v tomto poradí) pri zlievaní. Nech $i=A_0[a]$, $j=A_1[b]$, $k=A_2[c]$. Potrebujeme porovna» slová $\sigma_0[i:]$, $\sigma_1[j:]$, $\sigma_2[k:]$ v kon¹tantnom èase. +$$\eqalign{ +\sigma_0[i:] < \sigma_1[j:] &\equiv A_{01}^{-1}[i] < A_{01}^{-1}[\vert\sigma_0\vert+j]\cr +\sigma_0[i:] < \sigma_2[k:] &\equiv \sigma[3i]\,\sigma_1[i:] < \sigma[3k+2]\,\sigma_0[k+1:]\cr +&\Leftrightarrow (\sigma[3i] < \sigma[3k+2]) \vee (\sigma[3i] = \sigma[3k+2] \wedge \sigma_1[i:] < \sigma_0[k+1:])\cr +\sigma_1[j:]<\sigma_2[k:] &\equiv \sigma[3j+1]\,\sigma[3j+2]\,\sigma_0[j+1:] < \sigma[3k+2]\,\sigma[3k+3]\,\sigma_1[k+1:] +}$$ + +\:Dopoèítame $L$. +\itemitem{} Pripomeòme definíciu $L[i]=\vert LCP(\sigma[A[i]:], \sigma[A[i+1]:])\vert$. +\itemitem{} Nech +\tabskip=3\parindent +\halign{\hfil#\tabskip=0pt&#\hfil&#\hfil\cr +$\sigma[A[i]:]$ &$\approx \sigma_0[j:]$,\quad&tj. $A[i]=3j$ pre nejaké $j$,\cr +$\sigma[A[i+1]:]$ &$\approx \sigma_0[k:]$,&tj. $A[i+1]=3k$ pre nejaké $k$.\cr +} +\itemitem{} Oznaème tento prípad $\vs{\sigma_0}{\sigma_0}$. Potom $L[i]=L_{01}[A_{01}^{-1}[A[i] \div 3]]$. +\itemitem{} Prípad $\vs{\sigma_0}{\sigma_1}$ vyrie¹ime rovnako. +\itemitem{} Prípady $\vs{\sigma_1}{\sigma_0}$ a $\vs{\sigma_1}{\sigma_1}$: $L[i]=L_{01}[A_{01}^{-1}[A[i] \div 3 + \vert\sigma_0\vert]]$ +\+\cleartabs\itemitem{} &$\vs{\sigma_2}{\sigma_2}$: &a$)$ lí¹ia sa prvým znakom $\Rightarrow L[i]=0$\cr +\+&&b$)$ $L[i]=1+(\vs{\sigma_0}{\sigma_0})$\cr +\+&$\vs{\sigma_2}{\sigma_0}$: &a$)$ lí¹ia sa prvým znakom $\Rightarrow L[i]=0$\cr +\+&&b$)$ $L[i]=1+(\vs{\sigma_0}{\sigma_1})$\cr +\+&$\vs{\sigma_2}{\sigma_1}$: &a$)$ lí¹ia sa prvým znakom $\Rightarrow L[i]=0$\cr +\+&&b$)$ lí¹ia sa druhým znakom $\Rightarrow L[i]=1$\cr +\+&&c$)$ $L[i]=2+(\vs{\sigma_1}{\sigma_0})$\cr + +\endalgo + +\s{Odhad èasovej zlo¾itosti}\par +$T(n) = T({2\over3}n) + \O(n) = \O(n)$ + +\h{Ukkonenova inkrementální konstrukce} + +Pomocí Ukkonnenovy konstrukce doká¾eme sestrojit suffixový strom v lineárním èase. Algoritmus je navíc inkrementální, v ka¾dém kroku tak ze stávajícího suffixového stromu ($ST$ pro $\sigma$) vyrobí strom odpovídající roz¹íøenému slovu ($\sigma a$). Vychází pøitom ze stromu pro prázdné slovo (prázdný strom), který postupnì roz¹iøuje. + +Roz¹íøení suffixového stromu doká¾e algoritmus provést v amortizovanì konstantním èase. + +\s{Pozorování:}Následující pozorování platí pro roz¹iøování suffixového stromu pro $\sigma$ na suffixový strom pro $\sigma a$: +\numlist\ndotted +\:Pokud bylo slovo vìtvící v $\sigma$, pak bude stale vìtvící +\:Pokud byl uzel nevnoøený, bude stále nevnoøený +\:listy zùstávají jako listy (musím na hranu, ktera do nìj vede pøipsat $a$) -- øe¹íme otevøenými hranami (ne nálepka odsud sem, ale odsud dokonce) - slo¾itost - $O(0)$ +\:vnitøní vrcholy $\to$ vnitøní vrcholy +\:Mohou vznikat nové vrcholy (listy i vnitøní), slovo nevìtvící se tak mù¾e stát vìtvícím +\endlist + +\s{Definice:Aktivni suffix ($\alpha(\sigma)$)} nazýváme nejdel¹í vnoøený suffix $\sigma$ + +\s{Lemma:} Pro ka¾dé $\sigma$, $a$ platí: $\alpha(\sigma a)$ je suffixem $\alpha(\sigma)a$ + +\s{Dùkaz:} $\alpha(\sigma a)$, $\alpha(\sigma)a$ jsou suffixy $\sigma a$, z toho plyne, ¾e staèí porovnat délky abychom lemma ovìøili. +Platí: $ \vert\alpha(\sigma a)\vert \le \vert\alpha(\sigma)a\vert$ (pøidáním písmene nemù¾u prodlou¾it prefix o více ne¾ jeden znak). + +\s{Definice:Zralé suffixy} jsou ty prefixy $\alpha$, pro ktere platí: +$\forall \sigma, a,\beta: \beta a$ suffix $\sigma a$ je {\it zralý} právì kdy¾ $ \vert\alpha(\sigma)a\vert \ge \vert\beta a\vert > \vert\alpha(\sigma a)\vert$ + +Update je $O(1)$ amortizovanì na $1$ roz¹íøení $\sigma$ + +$\alpha(\sigma)$ reprezentuji jako kanonický (neexistuje jiný referenèní pár s krat¹ím $\alpha$) referenèní pár $(v, \alpha)$ kde $v$ je vrchol $ST$ a $\alpha$ ke cesta kudy dál. + +\s{Definice: $back[v]$} je nejdel¹í vlastní suffix $v$, ke kterému existuje vrchol. + +\algo +\:Vstup: $\sigma, a, (v, \alpha)$ + +// 1. Zalo¾ení listù/Podrozdìlení hran +\:if $\alpha = \epsilon$: +\::if $\exists (v, a* )$ +\:::konec +\::else: +\:::zalo¾ím list +\:else if $\alpha \ne \epsilon$: +\::if $\exists (v, \alpha a*)$: +\:::konec +\::else: +\:::podrozdìlím hranu na které le¾í $\alpha$ // za $\alpha$ vlo¾ím odboèku na $a$, kam dám list a pokraèuju + +// 2. Pøechod na dal¹í vrchol +\:zkrátim $\alpha$ zleva o znak +\:if $v = \epsilon$: +\::pøejdu do $( \epsilon, \alpha bez 1. znaku)$ +\:else: +\::pøejdu do $( back[v], \alpha )$ + +// 3. +\:kanonikalizuji // "jdu z $v$ pøes alpha do co nejdal" +\endalgo + + +\s{Èasová slo¾itost:} +\numlist\ndotted +\:Zalo¾ení listu/Podrozdìlení hrany -- $O(1)$ +\:Pøechod na dal¹í vrchol -- $O(1)$ za pøedpokladu existence $back(v)$ +\:Kanonikalizace -- amortizovanì za $O(1)$ +\:Update $back[v]$ -- jen pro vnitøní vrcholy, které vznikly v 1. podrozdìlením hrany. Ta hrana vede do vrcholu, který nav¹tíví pøí¹tí update v kroku 2. a buï tam ten vrchol je, nebo ho v tom kroku zakláda, tedy -- $O(1)$. +\endlist + +\bye diff --git a/9-suffix/CT-35120024224-FS.eps b/9-suffix/CT-35120024224-FS.eps new file mode 100644 index 0000000..deea204 --- /dev/null +++ b/9-suffix/CT-35120024224-FS.eps @@ -0,0 +1,593 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner +%%Title: CT-35120024224-FS.eps +%%CreationDate: Fri Jun 9 19:35:34 2006 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%Pages: 1 +%%BoundingBox: 14 14 242 176 +%%EndComments +%%BeginProlog +% Use own dictionary to avoid conflicts +10 dict begin +%%EndProlog +%%Page: 1 1 +% Translate for offset +14.173228346456687 14.173228346456687 translate +% Translate to begin of first scanline +0 160.99888306913181 translate +226.99842519685041 -160.99888306913181 scale +% Image geometry +227 161 8 +% Transformation matrix +[ 227 0 0 161 0 0 ] +% Strings to hold RGB-samples per scanline +/rstr 227 string def +/gstr 227 string def +/bstr 227 string def +{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} +{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} +{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} +true 3 +%%BeginData: 21536 ASCII Bytes +colorimage +JcD>AJ,~> +JcD>AJ,~> +JcD>AJ,~> +JcD>AJ,~> +JcD>AJ,~> +JcD>AJ,~> +U&WdGVZ2/~> +U&WdGVZ2/~> +U&WdGVZ2/~> +U&WdGVZ2/~> +U&WdGVZ2/~> +U&WdGVZ2/~> +U&WdGVZ2/~> +U&WdGVZ2/~> +U&WdGVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lo`#-=<>YlU<6Xt6rW&hqJ,~> +U&Y)lo`#-=<>YlU<6Xt6rW&hqJ,~> +U&Y)lo`#-=<>YlU<6Xt6rW&hqJ,~> +U&Y)lp&>&g"8i-""K1nlrW&hqJ,~> +U&Y)lp&>&g"8i-""K1nlrW&hqJ,~> +U&Y)lp&>&g"8i-""K1nlrW&hqJ,~> +U&Y)lpAYKV#ll!dpr= +U&Y)lpAYKV#ll!dpr= +U&Y)lpAYKV#ll!dpr= +U&Y)lpAY5;!!&Yjrr\bk!-e,9rW&hqJ,~> +U&Y)lpAY5;!!&Yjrr\bk!-e,9rW&hqJ,~> +U&Y)lpAY5;!!&Yjrr\bk!-e,9rW&hqJ,~> +U&Y)lpAY4L!!(jSrr_!U!&O +U&Y)lpAY4L!!(jSrr_!U!&O +U&Y)lpAY4L!!(jSrr_!U!&O +U&Y)lpAY4)!!)cmrr_oo!"\c&rW&hqJ,~> +U&Y)lpAY4)!!)cmrr_oo!"\c&rW&hqJ,~> +U&Y)lpAY4)!!)cmrr_oo!"\c&rW&hqJ,~> +U&Y)lpAY3s!!*#trr`3"!!DoorW&hqJ,~> +U&Y)lpAY3s!!*#trr`3"!!DoorW&hqJ,~> +U&Y)lpAY3s!!*#trr`3"!!DoorW&hqJ,~> +U&Y)lpAY4)!!)`lrr_oo!"\c&rW&hqJ,~> +U&Y)lpAY4)!!)`lrr_oo!"\c&rW&hqJ,~> +U&Y)lpAY4)!!)`lrr_oo!"\c&rW&hqJ,~> +U&Y)lpAY4L!!(gRrr^sT!&O +U&Y)lpAY4L!!(gRrr^sT!&O +U&Y)lpAY4L!!(gRrr^sT!&O +U&Y)lpAY5:!!&Yjrr\_j!-\&8rW&hqJ,~> +U&Y)lpAY5:!!&Yjrr\_j!-\&8rW&hqJ,~> +U&Y)lpAY5:!!&Yjrr\_j!-\&8rW&hqJ,~> +U&Y)lpAYKT#QPmdq8O?R$/bFUrW&hqJ,~> +U&Y)lpAYKT#QPmdq8O?R$/bFUrW&hqJ,~> +U&Y)lpAYKT#QPmdq8O?R$/bFUrW&hqJ,~> +U&Y)lp&>&d"8i-""/PShrW&hqJ,~> +U&Y)lp&>&d"8i-""/PShrW&hqJ,~> +U&Y)lp&>&d"8i-""/PShrW&hqJ,~> +U&Y)lo`#-;;\oTQ;p+_3rW&hqJ,~> +U&Y)lo`#-;;\oTQ;p+_3rW&hqJ,~> +U&Y)lo`#-;;\oTQ;p+_3rW&hqJ,~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&Y)lhuEZUVZ2/~> +U&WaFVuM8~> +U&WaFVuM8~> +U&WaFVuM8~> +UAr^CWrIS~> +UAr^CWrIS~> +UAr^CWrIS~> +VZ4m@XoEn~> +VZ4m@XoEn~> +VZ4m@XoEn~> +WW2YlnGiIfnc/7^Z2]=~> +WW2YlnGiIfnc/7^Z2]=~> +WW2YlnGiIfnc/7^Z2]=~> +XT.qnmf37dmf2q[[/YX~> +XT.qnmf37dmf2q[[/YX~> +XT.qnmf37dmf2q[[/YX~> +YlF@rlMph`li6VX\,Us~> +YlF@rlMph`li6VX\,Us~> +YlF@rlMph`li6VX\,Us~> +ZiB[ukPtM]kPt5U])R9~> +ZiB[ukPtM]kPt5U])R9~> +ZiB[ukPtM]kPt5U])R9~> +\,Z(#jT#2ZjT"oR^&NT~> +\,Z(#jT#2ZjT"oR^&NT~> +\,Z(#jT#2ZjT"oR^&NT~> +])VF'i;`cViW&TO_#Jo~> +])VF'i;`cViW&TO_#Jo~> +])VF'i;`cViW&TO_#Jo~> +^&Ra*h>dHShZ*6K`;b>~> +^&Ra*h>dHShZ*6K`;b>~> +^&Ra*h>dHShZ*6K`;b>~> +_>j0.g&M$Og]-pHa8^Y~> +_>j0.g&M$Og]-pHa8^Y~> +_>j0.g&M$Og]-pHa8^Y~> +_uKE1f`(up?iC$*b1Zgf!6Y=l~> +_uKE1f`(up?iC$*b1Zgf!6Y=l~> +_uKE1f`(up?iC$*b1Zgf!6Y=l~> +ci[NQ@J^$*@Je[VpAiG;J,~> +ci[NQ@J^$*@Je[VpAiG;J,~> +ci[NQ@J^$*@Je[VpAiG;J,~> +ci[di!!%,`b&dU`@H.=?!8mg,~> +ci[di!!%,`b&dU`@H.=?!8mg,~> +ci[di!!%,`b&dU`@H.=?!8mg,~> +cirr^@C!6X@%f`9q0J,~> +cirr^@C!6X@%f`9q0J,~> +cirr^@C!6X@%f`9q0J,~> +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci^EohZ!]#!!(.>rr^@C!6X@%rW(jUrW(jUJ,~> +ci^EohZ!]#!!(.>rr^@C!6X@%rW(jUrW(jUJ,~> +ci^EohZ!]#!!(.>rr^@C!6X@%rW(jUrW(jUJ,~> +ci^Eoh>[di!!%,`b&dU`@H.=d!;-9sdt'e#":Hi,m.LDX!8mg,~> +ci^Eoh>[di!!%,`b&dU`@H.=d!;-9sdt'e#":Hi,m.LDX!8mg,~> +ci^Eoh>[di!!%,`b&dU`@H.=d!;-9sdt'e#":Hi,m.LDX!8mg,~> +ci^Eoh>[NQ@J^$*@Jf'arW)Tjq#CF6h"LdI!8mg,~> +ci^Eoh>[NQ@J^$*@Jf'arW)Tjq#CF6h"LdI!8mg,~> +ci^Eoh>[NQ@J^$*@Jf'arW)Tjq#CF6h"LdI!8mg,~> +ci^Eog]%H"?PF2]b2E=!!;-9t!#^gVqT:Jl!)N=grW(jUJ,~> +ci^Eog]%H"?PF2]b2E=!!;-9t!#^gVqT:Jl!)N=grW(jUJ,~> +ci^Eog]%H"?PF2]b2E=!!;-9t!#^gVqT:Jl!)N=grW(jUJ,~> +ci^Eo[/^+*o`"r"o)8RjeGoRZpAb*lhuA3~> +ci^Eo[/^+*o`"r"o)8RjeGoRZpAb*lhuA3~> +ci^Eo[/^+*o`"r"o)8RjeGoRZpAb*lhuA3~> +ci^Eo[/^+*mf*C_!!!?!s8E#Us*t~> +ci^Eo[/^+*mf*C_!!!?!s8E#Us*t~> +ci^Eo[/^+*mf*C_!!!?!s8E#Us*t~> +ci^Eo[/^+*mf*Bh!!"PCs8E#Us*t~> +ci^Eo[/^+*mf*Bh!!"PCs8E#Us*t~> +ci^Eo[/^+*mf*Bh!!"PCs8E#Us*t~> +ci^Eo[/^+*n,EOA('">QpAb*lhuA3~> +ci^Eo[/^+*n,EOA('">QpAb*lhuA3~> +ci^Eo[/^+*n,EOA('">QpAb*lhuA3~> +ci^Eo[/^+*nG`Zl%fcSCk4\iS!8mg,~> +ci^Eo[/^+*nG`Zl%fcSCk4\iS!8mg,~> +ci^Eo[/^+*nG`Zl%fcSCk4\iS!8mg,~> +ci^Eo[/^+*o)AabBDql3$,Q<7rW(jUJ,~> +ci^Eo[/^+*o)AabBDql3$,Q<7rW(jUJ,~> +ci^Eo[/^+*o)AabBDql3$,Q<7rW(jUJ,~> +ci^Eo[/^+*oD\jC0)bhO,L#f[rW(jUJ,~> +ci^Eo[/^+*oD\jC0)bhO,L#f[rW(jUJ,~> +ci^Eo[/^+*oD\jC0)bhO,L#f[rW(jUJ,~> +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci +d/W5.[/^+*huEZUhuA3~> +d/W5.[/^+*huEZUhuA3~> +d/W5.[/^+*huEZUhuA3~> +df8;,[f>"\huA3~> +df8;,[f>"\huA3~> +df8;,[f>"\huA3~> +eGnA*])U=]i;\<~> +eGnA*])U=]i;\<~> +eGnA*])U=]i;\<~> +f)POGlMpY[^Al[_i;\<~> +f)POGlMpY[^Al[_i;\<~> +f)POGlMpY[^Al[_i;\<~> +f`1aIk5Y8X_>jB4p](0lpAb*lp](0liW"E~> +f`1aIk5Y8X_>jB4p](0lpAb*lp](0liW"E~> +f`1aIk5Y8X_>jB4p](0lpAb*lp](0liW"E~> +gAgsKirAiT`rGl8p&FsjpAb*lp](-kir=N~> +gAgsKirAiT`rGl8p&FsjpAb*lp](-kir=N~> +gAgsKirAiT`rGl8p&FsjpAb*lp](-kir=N~> +h#I0MhZ*EPb5_; +h#I0MhZ*EPb5_; +h#I0MhZ*EPb5_; +huEHOg].'LcN!_@oDe^gp&G!kp&Fsjj8XW~> +huEHOg].'LcN!_@oDe^gp&G!kp&Fsjj8XW~> +huEHOg].'LcN!_@oDe^gp&G!kp&Fsjj8XW~> +iW&ZQfDk[If`)/u?PF2]b5_>=nGiFeo`+mjp&FpijSs`~> +iW&ZQfDk[If`)/u?PF2]b5_>=nGiFeo`+mjp&FpijSs`~> +iW&ZQfDk[If`)/u?PF2]b5_>=nGiFeo`+mjp&FpijSs`~> +j8\lSe,T7Eh#@EP@J0]is8;rhs8E#js8;rYs*t~> +j8\lSe,T7Eh#@EP@J0]is8;rhs8E#js8;rYs*t~> +j8\lSe,T7Eh#@EP@J0]is8;rhs8E#js8;rYs*t~> +jo>,VcN!_@hZ!dg!!%,`b&mR^mf31boDedioDeahjo9i~> +jo>,VcN!_@hZ!dg!!%,`b&mR^mf31boDedioDeahjo9i~> +jo>,VcN!_@hZ!dg!!%,`b&mR^mf31boDedioDeahjo9i~> +kPt>XbQ%Arr^@C!6Xa0r;cEgrW)Qir;bsZJ,~> +kPt>XbQ%Arr^@C!6Xa0r;cEgrW)Qir;bsZJ,~> +kPt>XbQ%Arr^@C!6Xa0r;cEgrW)Qir;bsZJ,~> +l2UPZci +l2UPZci +l2UPZci +p]'CVe,SS2mJd5%!6Y3=!m1KWn,N=dnc/Rgo)JUfkPp&~> +p]'CVe,SS2mJd5%!6Y3=!m1KWn,N=dnc/Rgo)JUfkPp&~> +p]'CVe,SS2mJd5%!6Y3=!m1KWn,N=dnc/Rgo)JUfkPp&~> +p]'CVe,SS2mJd5%!6Y3=!m1KWnGiFenGiIfnc/OfkPp&~> +p]'CVe,SS2mJd5%!6Y3=!m1KWnGiFenGiIfnc/OfkPp&~> +p]'CVe,SS2mJd5%!6Y3=!m1KWnGiFenGiIfnc/OfkPp&~> +p]'CVe,TCImJm.cmJd5p!-J, +p]'CVe,TCImJm.cmJd5p!-J, +p]'CVe,TCImJm.cmJd5p!-J, +p](3mmJm.ce,TCImJm.cmJd:2!!(.>rr^@C!6Xj3r;cHh!W-=&!!-O*oDe^gl2Q8~> +p](3mmJm.ce,TCImJm.cmJd:2!!(.>rr^@C!6Xj3r;cHh!W-=&!!-O*oDe^gl2Q8~> +p](3mmJm.ce,TCImJm.cmJd:2!!(.>rr^@C!6Xj3r;cHh!W-=&!!-O*oDe^gl2Q8~> +p](3mmJm.ce,TCImJm.cm/IB#!!%,`b&dU`@IaBr!:p-r@/p:Lb0"f+!+GHur;c*^J,~> +p](3mmJm.ce,TCImJm.cm/IB#!!%,`b&dU`@IaBr!:p-r@/p:Lb0"f+!+GHur;c*^J,~> +p](3mmJm.ce,TCImJm.cm/IB#!!%,`b&dU`@IaBr!:p-r@/p:Lb0"f+!+GHur;c*^J,~> +p](3mmJm.ce,TCImJm.cm/I+`@J^$*@Jg$'k5bJ\"3LTDao25AaT)=`o)JXglMlA~> +p](3mmJm.ce,TCImJm.cm/I+`@J^$*@Jg$'k5bJ\"3LTDao25AaT)=`o)JXglMlA~> +p](3mmJm.ce,TCImJm.cm/I+`@J^$*@Jg$'k5bJ\"3LTDao25AaT)=`o)JXglMlA~> +p](3mmJm.ce,TCIr;R&OJO(%S$SH\jqu?WqlMh%1?PF2]b5;5%!<)p!?N>3FrrR9B?iC#f!;6AB~> +p](3mmJm.ce,TCIr;R&OJO(%S$SH\jqu?WqlMh%1?PF2]b5;5%!<)p!?N>3FrrR9B?iC#f!;6AB~> +p](3mmJm.ce,TCIr;R&OJO(%S$SH\jqu?WqlMh%1?PF2]b5;5%!<)p!?N>3FrrR9B?iC#f!;6AB~> +p](3mr;R&IF#+:.$n#;pqu?Wqe,TCIr;ZQm!?0bks8E#Ts5sC\rrNl7b5;2?aoE.Ss5sCTs*t~> +p](3mr;R&IF#+:.$n#;pqu?Wqe,TCIr;ZQm!?0bks8E#Ts5sC\rrNl7b5;2?aoE.Ss5sCTs*t~> +p](3mr;R&IF#+:.$n#;pqu?Wqe,TCIr;ZQm!?0bks8E#Ts5sC\rrNl7b5;2?aoE.Ss5sCTs*t~> +p](3mr;ZNl!07!WrW(FIrW)lr#lkj'iqgeO!!#gms8E#Ts8E#cs8E#srrNl7b5;2?aoE.Ss5sCT +s*t~> +p](3mr;ZNl!07!WrW(FIrW)lr#lkj'iqgeO!!#gms8E#Ts8E#cs8E#srrNl7b5;2?aoE.Ss5sCT +s*t~> +p](3mr;ZNl!07!WrW(FIrW)lr#lkj'iqgeO!!#gms8E#Ts8E#cs8E#srrNl7b5;2?aoE.Ss5sCT +s*t~> +p](3mr;R'[OO3FrrR9B +?iC$(!:Bgc!;6AB~> +p](3mr;R'[OO3FrrR9B +?iC$(!:Bgc!;6AB~> +p](3mr;R'[OO3FrrR9B +?iC$(!:Bgc!;6AB~> +p](3mpAY6e!!!K+s8E#Is8E#lrr_rp!"&T'rW(gTrW)?crW)os"3LTDao25AaT)=`rVuismJm.c +p&BO~> +p](3mpAY6e!!!K+s8E#Is8E#lrr_rp!"&T'rW(gTrW)?crW)os"3LTDao25AaT)=`rVuismJm.c +p&BO~> +p](3mpAY6e!!!K+s8E#Is8E#lrr_rp!"&T'rW(gTrW)?crW)os"3LTDao25AaT)=`rVuismJm.c +p&BO~> +p](3mq#:Nmeme[[DZ'P6!7UuI!;?EpWW3#Lr;Z`rhZ*QTmJm.cr;R(3!!%,`b&dU`@Jp0)!:Bgc +!;6AB~> +p](3mq#:Nmeme[[DZ'P6!7UuI!;?EpWW3#Lr;Z`rhZ*QTmJm.cr;R(3!!%,`b&dU`@Jp0)!:Bgc +!;6AB~> +p](3mq#:Nmeme[[DZ'P6!7UuI!;?EpWW3#Lr;Z`rhZ*QTmJm.cr;R(3!!%,`b&dU`@Jp0)!:Bgc +!;6AB~> +p](3mqZ$Hn!XXqdr;Z`re,TCIp\tBI('">Qr;Z`rhZ*QTq>UKH$2sr$s8E#rrrN"*qZ$Y*qu$Kn +!:Bgc!;6AB~> +p](3mqZ$Hn!XXqdr;Z`re,TCIp\tBI('">Qr;Z`rhZ*QTq>UKH$2sr$s8E#rrrN"*qZ$Y*qu$Kn +!:Bgc!;6AB~> +p](3mqZ$Hn!XXqdr;Z`re,TCIp\tBI('">Qr;Z`rhZ*QTq>UKH$2sr$s8E#rrrN"*qZ$Y*qu$Kn +!:Bgc!;6AB~> +p](3mqZ$Em!?g.ps8E#Is8E#nrroD5!!!\pr;Z`rhZ*QTqYpTk0DtnIs8E#prrpPP'GOosqZ$Np +q>UKH$2sr$s8E#ks*t~> +p](3mqZ$Em!?g.ps8E#Is8E#nrroD5!!!\pr;Z`rhZ*QTqYpTk0DtnIs8E#prrpPP'GOosqZ$Np +q>UKH$2sr$s8E#ks*t~> +p](3mqZ$Em!?g.ps8E#Is8E#nrroD5!!!\pr;Z`rhZ*QTqYpTk0DtnIs8E#prrpPP'GOosqZ$Np +q>UKH$2sr$s8E#ks*t~> +p](3mq#:Ng^c;Ap9)S_g!7UuI!;c]rpLjI*!=?U>s8E#Ts8E#prrR->-2mo@s8E#cs8E#prrMmJ +r;c]orW)WkJ,~> +p](3mq#:Ng^c;Ap9)S_g!7UuI!;c]rpLjI*!=?U>s8E#Ts8E#prrR->-2mo@s8E#cs8E#prrMmJ +r;c]orW)WkJ,~> +p](3mq#:Ng^c;Ap9)S_g!7UuI!;c]rpLjI*!=?U>s8E#Ts8E#prrR->-2mo@s8E#cs8E#prrMmJ +r;c]orW)WkJ,~> +p](3mpAY6V!!!E)s8E#Is8E#qrrL_(rVusDbkhA=!8dbT!;lcu\,ccWrW)fprW)?crW)fp!cS,c +rW)fprW)WkJ,~> +p](3mpAY6V!!!E)s8E#Is8E#qrrL_(rVusDbkhA=!8dbT!;lcu\,ccWrW)fprW)?crW)fp!cS,c +rW)fprW)WkJ,~> +p](3mpAY6V!!!E)s8E#Is8E#qrrL_(rVusDbkhA=!8dbT!;lcu\,ccWrW)fprW)?crW)fp!cS,c +rW)fprW)WkJ,~> +p](3mpAY6Y!!!H*s8E#Is8E#rrrJf$rVut"nbN4a!8dbT!;uj"kna>Vs8E#ps8E#cs8E#qrr]b3 +"jHrGqZ$Npp&BO~> +p](3mpAY6Y!!!H*s8E#Is8E#rrrJf$rVut"nbN4a!8dbT!;uj"kna>Vs8E#ps8E#cs8E#qrr]b3 +"jHrGqZ$Npp&BO~> +p](3mpAY6Y!!!H*s8E#Is8E#rrrJf$rVut"nbN4a!8dbT!;uj"kna>Vs8E#ps8E#cs8E#qrr]b3 +"jHrGqZ$Npp&BO~> +p](3mr;R'\Q.G^*bWu4/:&P%j!7UuI!;ulk!;ulr!8dbT!;uj"8cV3Vs8E#ps8E#cs8E#rrrhR& +!/^aT!;c`p!;6AB~> +p](3mr;R'\Q.G^*bWu4/:&P%j!7UuI!;ulk!;ulr!8dbT!;uj"8cV3Vs8E#ps8E#cs8E#rrrhR& +!/^aT!;c`p!;6AB~> +p](3mr;R'\Q.G^*bWu4/:&P%j!7UuI!;ulk!;ulr!8dbT!;uj"8cV3Vs8E#ps8E#cs8E#rrrhR& +!/^aT!;c`p!;6AB~> +p](3mr;ZQm!?Ktns8E#Is8E#rs7ZNks8E#Ts8E#srrnMb'BT8orW)fprW)?crW)lr"A/Y\rVuis +qZ$Npp&BO~> +p](3mr;ZQm!?Ktns8E#Is8E#rs7ZNks8E#Ts8E#srrnMb'BT8orW)fprW)?crW)lr"A/Y\rVuis +qZ$Npp&BO~> +p](3mr;ZQm!?Ktns8E#Is8E#rs7ZNks8E#Ts8E#srrnMb'BT8orW)fprW)?crW)lr"A/Y\rVuis +qZ$Npp&BO~> +p](3mr;R&EC+0Dk'Kq6@qu?Wqe,TCImJm.chZ*QTrVlp)!3cD%rW)fprW)?crW)os"d&cujo>A[ +!;c`p!;6AB~> +p](3mr;R&EC+0Dk'Kq6@qu?Wqe,TCImJm.chZ*QTrVlp)!3cD%rW)fprW)?crW)os"d&cujo>A[ +!;c`p!;6AB~> +p](3mr;R&EC+0Dk'Kq6@qu?Wqe,TCImJm.chZ*QTrVlp)!3cD%rW)fprW)?crW)os"d&cujo>A[ +!;c`p!;6AB~> +p](3mmJm.ce,TCImJm.chZ*QTrVuQkr;Z`rmJm.crVlp)!3cD%rW)fprW)WkJ,~> +p](3mmJm.ce,TCImJm.chZ*QTrVuQkr;Z`rmJm.crVlp)!3cD%rW)fprW)WkJ,~> +p](3mmJm.ce,TCImJm.chZ*QTrVuQkr;Z`rmJm.crVlp)!3cD%rW)fprW)WkJ,~> +p](3mmJm.ce,TCImJm.chZ*QTrVuQkr;Z`rmJm.crVuQkr;Z`rp&BO~> +p](3mmJm.ce,TCImJm.chZ*QTrVuQkr;Z`rmJm.crVuQkr;Z`rp&BO~> +p](3mmJm.ce,TCImJm.chZ*QTrVuQkr;Z`rmJm.crVuQkr;Z`rp&BO~> +p](3mmJm.ce,SS2hZ*QTp](3mqZ$NpmJm.crVuQkr;Z`rp&BO~> +p](3mmJm.ce,SS2hZ*QTp](3mqZ$NpmJm.crVuQkr;Z`rp&BO~> +p](3mmJm.ce,SS2hZ*QTp](3mqZ$NpmJm.crVuQkr;Z`rp&BO~> +p]'CVe,SS2hZ*QTp](3mqZ$NpmJm.cp](3mqZ$Npp&BO~> +p]'CVe,SS2hZ*QTp](3mqZ$NpmJm.cp](3mqZ$Npp&BO~> +p]'CVe,SS2hZ*QTp](3mqZ$NpmJm.cp](3mqZ$Npp&BO~> +p]'@UeGnY2huEZUp](3mqZ$NpmJm.cp](3mqZ$Npp&BO~> +p]'@UeGnY2huEZUp](3mqZ$NpmJm.cp](3mqZ$Npp&BO~> +p]'@UeGnY2huEZUp](3mqZ$NpmJm.cp](3mqZ$Npp&BO~> +p]'=Tf)P^Lli6qahuEZUmJm.cmJm.cp](3mqZ$Npp&BO~> +p]'=Tf)P^Lli6qahuEZUmJm.cmJm.cp](3mqZ$Npp&BO~> +p]'=Tf)P^Lli6qahuEZUmJm.cmJm.cp](3mqZ$Npp&BO~> +q#C +q#C +q#C +q#C +q#C +q#C +q#C +q#C +q#C +q>^EokPtG[h#I?RkPtM]iW&'@mJl>Lp&BO~> +q>^EokPtG[h#I?RkPtM]iW&'@mJl>Lp&BO~> +q>^EokPtG[h#I?RkPtM]iW&'@mJl>Lp&BO~> +q>^Eok5Y>Zh>dHSk5YD\j8\6AmJl>Lp&BO~> +q>^Eok5Y>Zh>dHSk5YD\j8\6AmJl>Lp&BO~> +q>^Eok5Y>Zh>dHSk5YD\j8\6AmJl>Lp&BO~> +qZ$NpjT#,XhuEZUjo>;[j8])Ym/R%bmJl;KpA]X~> +qZ$NpjT#,XhuEZUjo>;[j8])Ym/R%bmJl;KpA]X~> +qZ$NpjT#,XhuEZUjo>;[j8])Ym/R%bmJl;KpA]X~> +qZ$Npj8\uViW&lWjT#2Zjo>;[lMph`mf37dm/R%bpA]X~> +qZ$Npj8\uViW&lWjT#2Zjo>;[lMph`mf37dm/R%bpA]X~> +qZ$Npj8\uViW&lWjT#2Zjo>;[lMph`mf37dm/R%bpA]X~> +qZ$NpirAlUj8])Yj8])Yjo>;[lMph`n,N@elMph`p]#a~> +qZ$NpirAlUj8])Yj8])Yjo>;[lMph`n,N@elMph`p]#a~> +qZ$NpirAlUj8])Yj8])Yjo>;[lMph`n,N@elMph`p]#a~> +qu?Wqi;`ZSjo5>'rVut+b3&^-b$P,_?cqU4rW)3_rW)EerW)6`rW)]mJ,~> +qu?Wqi;`ZSjo5>'rVut+b3&^-b$P,_?cqU4rW)3_rW)EerW)6`rW)]mJ,~> +qu?Wqi;`ZSjo5>'rVut+b3&^-b$P,_?cqU4rW)3_rW)EerW)6`rW)]mJ,~> +qu?WqhZ*KRkl1\\@J^$*@Jf?i!W-=&!!-O*li6qakl:V^n,N@el2U__q#>j~> +qu?WqhZ*KRkl1\\@J^$*@Jf?i!W-=&!!-O*li6qakl:V^n,N@el2U__q#>j~> +qu?WqhZ*KRkl1\\@J^$*@Jf?i!W-=&!!-O*li6qakl:V^n,N@el2U__q#>j~> +r;QrC?N:dIb2<6s!9sLi@/p:Lb0"f+!+G0m$"3f6FNVaJ!!$Hns8E#]s8E#fs8E#_s8E#ns*t~> +r;QrC?N:dIb2<6s!9sLi@/p:Lb0"f+!+G0m$"3f6FNVaJ!!$Hns8E#]s8E#fs8E#_s8E#ns*t~> +r;QrC?N:dIb2<6s!9sLi@/p:Lb0"f+!+G0m$"3f6FNVaJ!!$Hns8E#]s8E#fs8E#_s8E#ns*t~> +rr3#r@J^$*@Jf!_quH'_"3LTDao25AaT)=`m/I11!!(.>rr^@C!6X^/rW)*\rW)KgrW)-]rW)co +J,~> +rr3#r@J^$*@Jf!_quH'_"3LTDao25AaT)=`m/I11!!(.>rr^@C!6X^/rW)*\rW)KgrW)-]rW)co +J,~> +rr3#r@J^$*@Jf!_quH'_"3LTDao25AaT)=`m/I11!!(.>rr^@C!6X^/rW)*\rW)KgrW)-]rW)co +J,~> +rr3:5!!%,`b&dU`@Gh+_!:9^e?N>3FrrR9B?gRdo?N>3FrrR9B?gn!ub$Ph_?cqR3rW)KgrW)-] +rW)coJ,~> +rr3:5!!%,`b&dU`@Gh+_!:9^e?N>3FrrR9B?gRdo?N>3FrrR9B?gn!ub$Ph_?cqR3rW)KgrW)-] +rW)coJ,~> +rr3:5!!%,`b&dU`@Gh+_!:9^e?N>3FrrR9B?gRdo?N>3FrrR9B?gn!ub$Ph_?cqR3rW)KgrW)-] +rW)coJ,~> +s8N2D!!(.>rr^@C!6X4!quH-a!YbXWqu6`?!#4f"!YbXWqu6`?!#4u'!W-=&!!-O*li..2?PEKI +b4P];b$Ph_?cqR3rW)fpJ,~> +s8N2D!!(.>rr^@C!6X4!quH-a!YbXWqu6`?!#4f"!YbXWqu6`?!#4u'!W-=&!!-O*li..2?PEKI +b4P];b$Ph_?cqR3rW)fpJ,~> +s8N2D!!(.>rr^@C!6X4!quH-a!YbXWqu6`?!#4f"!YbXWqu6`?!#4u'!W-=&!!-O*li..2?PEKI +b4P];b$Ph_?cqR3rW)fpJ,~> +s8N.-!-J,&!6Y3=!m1KWm/I,$!6Y3=!m1KWnc&o(!!%,`b&dU`@I='qqdK@% +!Fbm#rrN"*qZ$Y*qs47cb$Ph_?cr9GJ,~> +s8N.-!-J,&!6Y3=!m1KWm/I,$!6Y3=!m1KWnc&o(!!%,`b&dU`@I='qqdK@% +!Fbm#rrN"*qZ$Y*qs47cb$Ph_?cr9GJ,~> +s8N.-!-J,&!6Y3=!m1KWm/I,$!6Y3=!m1KWnc&o(!!%,`b&dU`@I='qqdK@% +!Fbm#rrN"*qZ$Y*qs47cb$Ph_?cr9GJ,~> +s8N-7!6Y3=!m1KWkl9fGq>UM'!-J,rr^@C!6Xa0$"3f6 +FNVaJ!!$I&rs<*6!-HB+F8u;LmJd4a@J^$*@Jg$'J,~> +s8N-7!6Y3=!m1KWkl9fGq>UM'!-J,rr^@C!6Xa0$"3f6 +FNVaJ!!$I&rs<*6!-HB+F8u;LmJd4a@J^$*@Jg$'J,~> +s8N-7!6Y3=!m1KWkl9fGq>UM'!-J,rr^@C!6Xa0$"3f6 +FNVaJ!!$I&rs<*6!-HB+F8u;LmJd4a@J^$*@Jg$'J,~> +s8N-7!6Y3=!m1KWkl9fGq>UQ>!!(.>rr^@C!6X[."3LTDao25AaT)=`o)Abu!-J,rr^@C!6Y0<"3LTDao25AaT)=`mf*T%!!%,`b&dU`@K$4V~> +s8N-7!6Y3=!m1KWkl9fGq>UQ>!!(.>rr^@C!6X[."3LTDao25AaT)=`o)Abu!-J,rr^@C!6Y0<"3LTDao25AaT)=`mf*T%!!%,`b&dU`@K$4V~> +s8N-7!6Y3=!m1KWkl9fGq>UQ>!!(.>rr^@C!6X[."3LTDao25AaT)=`o)Abu!-J,rr^@C!6Y0<"3LTDao25AaT)=`mf*T%!!%,`b&dU`@K$4V~> +s8N.-!-J,!+5U&!abqLqu6_>!+53p"3LTDao25AaT)=`rr7K~> +s8N.-!-J,!+5U&!abqLqu6_>!+53p"3LTDao25AaT)=`rr7K~> +s8N.-!-J,!+5U&!abqLqu6_>!+53p"3LTDao25AaT)=`rr7K~> +s8N2D!!(.>rr^@C!6XO*rW)?crW)`n!W-=&!!-O*lMgn^@J^$*@JfTp!YbXWqu6`?!#4o%!YbXW +qu6`?!#5;0!YbXWqu6`?!#4o%!abqLqu6_>!+5a*J,~> +s8N2D!!(.>rr^@C!6XO*rW)?crW)`n!W-=&!!-O*lMgn^@J^$*@JfTp!YbXWqu6`?!#4o%!YbXW +qu6`?!#5;0!YbXWqu6`?!#4o%!abqLqu6_>!+5a*J,~> +s8N2D!!(.>rr^@C!6XO*rW)?crW)`n!W-=&!!-O*lMgn^@J^$*@JfTp!YbXWqu6`?!#4o%!YbXW +qu6`?!#5;0!YbXWqu6`?!#4o%!abqLqu6_>!+5a*J,~> +rr3:5!!%,`b&dU`@H[[i!:Bgc!;?Erb$Phs?cqO2"j10d'OT#OrrQO-FSl(>F9#\:rrNl7b5;2? +aoE.PrrNl7b5;2?aoE.ErrNl7b5;2?aoE.Ts*t~> +rr3:5!!%,`b&dU`@H[[i!:Bgc!;?Erb$Phs?cqO2"j10d'OT#OrrQO-FSl(>F9#\:rrNl7b5;2? +aoE.PrrNl7b5;2?aoE.ErrNl7b5;2?aoE.Ts*t~> +rr3:5!!%,`b&dU`@H[[i!:Bgc!;?Erb$Phs?cqO2"j10d'OT#OrrQO-FSl(>F9#\:rrNl7b5;2? +aoE.PrrNl7b5;2?aoE.ErrNl7b5;2?aoE.Ts*t~> +rr3#r@J^$*@Jf6frW)?crW'Y3"3LTDao25AaT)=`n,EGr!-J, +rr3#r@J^$*@Jf6frW)?crW'Y3"3LTDao25AaT)=`n,EGr!-J, +rr3#r@J^$*@Jf6frW)?crW'Y3"3LTDao25AaT)=`n,EGr!-J, +r;QrC?PF2]b2r[&!:Bgc!5/=<@/p:Lb0"f+!+Grr^@C!6Xd1 +!abqLqu6_>!+5a*J,~> +r;QrC?PF2]b2r[&!:Bgc!5/=<@/p:Lb0"f+!+Grr^@C!6Xd1 +!abqLqu6_>!+5a*J,~> +r;QrC?PF2]b2r[&!:Bgc!5/=<@/p:Lb0"f+!+Grr^@C!6Xd1 +!abqLqu6_>!+5a*J,~> +gAh-Pqu?Hlqu?Wq]`/$0@J^$*@JfHl$"3f6FNVaJ!!$I&rs<*6!-HB+F8u;Lmf*C3!!(.>rr^@C +!6Y<@J,~> +gAh-Pqu?Hlqu?Wq]`/$0@J^$*@JfHl$"3f6FNVaJ!!$I&rs<*6!-HB+F8u;Lmf*C3!!(.>rr^@C +!6Y<@J,~> +gAh-Pqu?Hlqu?Wq]`/$0@J^$*@JfHl$"3f6FNVaJ!!$I&rs<*6!-HB+F8u;Lmf*C3!!(.>rr^@C +!6Y<@J,~> +gAh-Pqu?Hlqu?Wq])MrV?PF2]b3T'.qdK@%!Fbm#rrN"*qZ$Y*qsFCi@/p:Lb0"f+!+Gj+J,~> +gAh-Pqu?Hlqu?Wq])MrV?PF2]b3T'.qdK@%!Fbm#rrN"*qZ$Y*qsFCi@/p:Lb0"f+!+Gj+J,~> +gAh-Pqu?Hlqu?Wq])MrV?PF2]b3T'.qdK@%!Fbm#rrN"*qZ$Y*qsFCi@/p:Lb0"f+!+Gj+J,~> +gAh-Pqu?WqpAb*lSGrc8?PF2]b4P];b$Phs?cq^7!W-=&!!-O*rVqB~> +gAh-Pqu?WqpAb*lSGrc8?PF2]b4P];b$Phs?cq^7!W-=&!!-O*rVqB~> +gAh-Pqu?WqpAb*lSGrc8?PF2]b4P];b$Phs?cq^7!W-=&!!-O*rVqB~> +gAh-Pqu?WqpAb*lJcG'9"j10d'OT#[s*t~> +gAh-Pqu?WqpAb*lJcG'9"j10d'OT#[s*t~> +gAh-Pqu?WqpAb*lJcG'9"j10d'OT#[s*t~> +gAh-Pqu?Wq";q=]A)mIdrW%NLhuA3~> +gAh-Pqu?Wq";q=]A)mIdrW%NLhuA3~> +gAh-Pqu?Wq";q=]A)mIdrW%NLhuA3~> +gAh-Pqu?Km!>jbns8E"Ls53j,~> +gAh-Pqu?Km!>jbns8E"Ls53j,~> +gAh-Pqu?Km!>jbns8E"Ls53j,~> +gAh-Pqu6pbV<@]r.KBHVr;Z`rJcFX-J,~> +gAh-Pqu6pbV<@]r.KBHVr;Z`rJcFX-J,~> +gAh-Pqu6pbV<@]r.KBHVr;Z`rJcFX-J,~> +gAh-PpAY6>!!!r8s8E"Ls53j,~> +gAh-PpAY6>!!!r8s8E"Ls53j,~> +gAh-PpAY6>!!!r8s8E"Ls53j,~> +gAh-PpAY6k!!!3#s8E"Ls53j,~> +gAh-PpAY6k!!!3#s8E"Ls53j,~> +gAh-PpAY6k!!!3#s8E"Ls53j,~> +gAh-PpAY6:!!") +gAh-PpAY6:!!") +gAh-PpAY6:!!") +gAh-Pr;R'XN6_(j^*NaZFo;:=!.k1-s*t~> +gAh-Pr;R'XN6_(j^*NaZFo;:=!.k1-s*t~> +gAh-Pr;R'XN6_(j^*NaZFo;:=!.k1-s*t~> +gAh-Pr;ZQm!BTiMs8E"Ls53j,~> +gAh-Pr;ZQm!BTiMs8E"Ls53j,~> +gAh-Pr;ZQm!BTiMs8E"Ls53j,~> +gAh-Pr;R&GD_MV&&O)NXqu?WqJcFX-J,~> +gAh-Pr;R&GD_MV&&O)NXqu?WqJcFX-J,~> +gAh-Pr;R&GD_MV&&O)NXqu?WqJcFX-J,~> +gAh-PmJm.cJcFX-J,~> +gAh-PmJm.cJcFX-J,~> +gAh-PmJm.cJcFX-J,~> +gAh-PmJm.cJcFX-J,~> +gAh-PmJm.cJcFX-J,~> +gAh-PmJm.cJcFX-J,~> +gAh-PmJm.cJcFX-J,~> +gAh-PmJm.cJcFX-J,~> +gAh-PmJm.cJcFX-J,~> +gAg=9JcFX-J,~> +gAg=9JcFX-J,~> +gAg=9JcFX-J,~> +gAg=9JcFX-J,~> +gAg=9JcFX-J,~> +gAg=9JcFX-J,~> +g]-@8JcF[.J,~> +g]-@8JcF[.J,~> +g]-@8JcF[.J,~> +g].6Qli6qaJcF[.J,~> +g].6Qli6qaJcF[.J,~> +g].6Qli6qaJcF[.J,~> +h#I?Rl2U__JcF^/J,~> +h#I?Rl2U__JcF^/J,~> +h#I?Rl2U__JcF^/J,~> +h#I?Rl2U__JcF^/J,~> +h#I?Rl2U__JcF^/J,~> +h#I?Rl2U__JcF^/J,~> +h>dHSkPtM]JcFa0J,~> +h>dHSkPtM]JcFa0J,~> +h>dHSkPtM]JcFa0J,~> +h>dHSk5YD\JcFd1J,~> +h>dHSk5YD\JcFd1J,~> +h>dHSk5YD\JcFd1J,~> +hZ*QTjo>;[JcFd1J,~> +hZ*QTjo>;[JcFd1J,~> +hZ*QTjo>;[JcFd1J,~> +hZ*QTjT#2ZJcFg2J,~> +hZ*QTjT#2ZJcFg2J,~> +hZ*QTjT#2ZJcFg2J,~> +huEZUj8])YJcFg2J,~> +huEZUj8])YJcFg2J,~> +huEZUj8])YJcFg2J,~> +iVs)(?PEKIb2iR&b5MAA?cms"kPp&~> +iVs)(?PEKIb2iR&b5MAA?cms"kPp&~> +iVs)(?PEKIb2iR&b5MAA?cms"kPp&~> +j8T/W@J^$*@Jf9g!W-=&!!-O*JcG!7J,~> +j8T/W@J^$*@Jf9g!W-=&!!-O*JcG!7J,~> +j8T/W@J^$*@Jf9g!W-=&!!-O*JcG!7J,~> +j8TEo!!%,`b&dU`@Hd^t@/p:Lb0"f+!+CHYl2Q8~> +j8TEo!!%,`b&dU`@Hd^t@/p:Lb0"f+!+CHYl2Q8~> +j8TEo!!%,`b&dU`@Hd^t@/p:Lb0"f+!+CHYl2Q8~> +jSo>)!!(.>rr^@C!6XU,"3LTDao25AaT)=`JcG$8J,~> +jSo>)!!(.>rr^@C!6XU,"3LTDao25AaT)=`JcG$8J,~> +jSo>)!!(.>rr^@C!6XU,"3LTDao25AaT)=`JcG$8J,~> +jSo9g!-J, +jSo9g!-J, +jSo9g!-J, +jSo8q!6Y3=!m1KWlMgo"!6Y3=!m1KWJcG$8J,~> +jSo8q!6Y3=!m1KWlMgo"!6Y3=!m1KWJcG$8J,~> +jSo8q!6Y3=!m1KWlMgo"!6Y3=!m1KWJcG$8J,~> +jSo8q!6Y3=!m1KWlMgo"!6Y3=!m1KWJcG$8J,~> +jSo8q!6Y3=!m1KWlMgo"!6Y3=!m1KWJcG$8J,~> +jSo8q!6Y3=!m1KWlMgo"!6Y3=!m1KWJcG$8J,~> +jSo9g!-J, +jSo9g!-J, +jSo9g!-J, +jSo>)!!(.>rr^@C!6XU,"3LTDao25AaT)=`JcG$8J,~> +jSo>)!!(.>rr^@C!6XU,"3LTDao25AaT)=`JcG$8J,~> +jSo>)!!(.>rr^@C!6XU,"3LTDao25AaT)=`JcG$8J,~> +j8TEo!!%,`b&dU`@Hd^t@/p:Lb0"f+!+CHYl2Q8~> +j8TEo!!%,`b&dU`@Hd^t@/p:Lb0"f+!+CHYl2Q8~> +j8TEo!!%,`b&dU`@Hd^t@/p:Lb0"f+!+CHYl2Q8~> +j8T/W@J^$*@Jf9g!W-=&!!-O*JcG!7J,~> +j8T/W@J^$*@Jf9g!W-=&!!-O*JcG!7J,~> +j8T/W@J^$*@Jf9g!W-=&!!-O*JcG!7J,~> +iVs)(?PF2]b2iR+b$Phs?cms"kPp&~> +iVs)(?PF2]b2iR+b$Phs?cms"kPp&~> +iVs)(?PF2]b2iR+b$Phs?cms"kPp&~> +JcD>AJ,~> +JcD>AJ,~> +JcD>AJ,~> +%%EndData +showpage +%%Trailer +end +%%EOF diff --git a/9-suffix/Makefile b/9-suffix/Makefile new file mode 100644 index 0000000..73d0a9b --- /dev/null +++ b/9-suffix/Makefile @@ -0,0 +1,3 @@ +P=9-suffix + +include ../Makerules diff --git a/9-suffix/ST-BARBARA.eps b/9-suffix/ST-BARBARA.eps new file mode 100644 index 0000000..fb200d5 --- /dev/null +++ b/9-suffix/ST-BARBARA.eps @@ -0,0 +1,404 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner +%%Title: ST.eps +%%CreationDate: Fri Jun 9 21:22:13 2006 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%Pages: 1 +%%BoundingBox: 14 14 200 137 +%%EndComments +%%BeginProlog +% Use own dictionary to avoid conflicts +10 dict begin +%%EndProlog +%%Page: 1 1 +% Translate for offset +14.173228346456687 14.173228346456687 translate +% Translate to begin of first scanline +0 121.99273036816345 translate +184.98897637795278 -121.99273036816345 scale +% Image geometry +185 122 8 +% Transformation matrix +[ 185 0 0 122 0 0 ] +% Strings to hold RGB-samples per scanline +/rstr 185 string def +/gstr 185 string def +/bstr 185 string def +{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} +{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} +{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} +true 3 +%%BeginData: 15749 ASCII Bytes +colorimage +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +WW*5$[T!eL<4;_'s*t~> +WW*5$[T!eL<4;_'s*t~> +WW*5$[T!eL<4;_'s*t~> +WrE+P')MY0'%j2`J,~> +WrE+P')MY0'%j2`J,~> +WrE+P')MY0'%j2`J,~> +X8`1PpAb3Gp&G!k!X:Et]`3K~> +X8`1PpAb3Gp&G!k!X:Et]`3K~> +X8`1PpAb3Gp&G!k!X:Et]`3K~> +XT&>!'))A,')_J'rr<0$\H!kes*t~> +XT&>!'))A,')_J'rr<0$\H!kes*t~> +XT&>!'))A,')_J'rr<0$\H!kes*t~> +_uBh2!!&\[rrBM#!!'J$s8N'$s7lX#]`3K~> +_uBh2!!&\[rrBM#!!'J$s8N'$s7lX#]`3K~> +_uBh2!!&\[rrBM#!!'J$s8N'$s7lX#]`3K~> +_uBfu!!#%Irr?$k!!$!ls8N'$s0r&(]`3K~> +_uBfu!!#%Irr?$k!!$!ls8N'$s0r&(]`3K~> +_uBfu!!#%Irr?$k!!$!ls8N'$s0r&(]`3K~> +`;^"g!&6#)dI7)8&G6#'&GH/&!!*nj]`3K~> +`;^"g!&6#)dI7)8&G6#'&GH/&!!*nj]`3K~> +`;^"g!&6#)dI7)8&G6#'&GH/&!!*nj]`3K~> +`;^!T(?*gOC@D0&&G6#'&GH/(!!N>R&1@(_s*t~> +`;^!T(?*gOC@D0&&G6#'&GH/(!!N>R&1@(_s*t~> +`;^!T(?*gOC@D0&&G6#'&GH/(!!N>R&1@(_s*t~> +`W#u1%fHA.%eT8j!*&RjpAb-ms8N/#!+!; +`W#u1%fHA.%eT8j!*&RjpAb-ms8N/#!+!; +`W#u1%fHA.%eT8j!*&RjpAb-ms8N/#!+!; +`W$13!'^G_4oh)Ds6K`hs*t~> +`W$13!'^G_4oh)Ds6K`hs*t~> +`W$13!'^G_4oh)Ds6K`hs*t~> +`W$0!!2TYpU]<4Fs5O+Krrq%r(`7>HbQ!(~> +`W$0!!2TYpU]<4Fs5O+Krrq%r(`7>HbQ!(~> +`W$0!!2TYpU]<4Fs5O+Krrq%r(`7>HbQ!(~> +\,Z+$!8.#G!SIGE!;?Enn/D0(!?1IPs*t~> +\,Z+$!8.#G!SIGE!;?Enn/D0(!?1IPs*t~> +\,Z+$!8.#G!SIGE!;?Enn/D0(!?1IPs*t~> +]DqO(r;QfM')MY0'%m*]o)S^g!:]^_!:\;6J,~> +]DqO(r;QfM')MY0'%m*]o)S^g!:]^_!:\;6J,~> +]DqO(r;QfM')MY0'%m*]o)S^g!:]^_!:\;6J,~> +^]3s,p\t9l[f-7.<4;_ts7?9lru1V3!#j/_J,~> +^]3s,p\t9l[f-7.<4;_ts7?9lru1V3!#j/_J,~> +^]3s,p\t9l[f-7.<4;_ts7?9lru1V3!#j/_J,~> +f)Gp+Eu5a8f_#4:!:g*g!:KmQ!!([Ms8E!""tQn1s*t~> +f)Gp+Eu5a8f_#4:!:g*g!:KmQ!!([Ms8E!""tQn1s*t~> +f)Gp+Eu5a8f_#4:!:g*g!:KmQ!!([Ms8E!""tQn1s*t~> +f`)!A)Z'L8)Y!V'o`4CZrW)3_n,NH0rVult"96aK'&!;8~> +f`)!A)Z'L8)Y!V'o`4CZrW)3_n,NH0rVult"96aK'&!;8~> +f`)!A)Z'L8)Y!V'o`4CZrW)3_n,NH0rVult"96aK'&!;8~> +l2L_`o)A^ZpAb9as8V`ll2U__jo=rQ!#Y\7rr<0$df:`Js*t~> +l2L_`o)A^ZpAb9as8V`ll2U__jo=rQ!#Y\7rr<0$df:`Js*t~> +l2L_`o)A^ZpAb9as8V`ll2U__jo=rQ!#Y\7rr<0$df:`Js*t~> +li.!Z)?'X.rr +li.!Z)?'X.rr +li.!Z)?'X.rr +li."rblIA8!8-`?iW&lWrr;uu"96aK'(5c"F7fM5F8c.=!!E8P!$g1sJ,~> +li."rblIA8!8-`?iW&lWrr;uu"96aK'(5c"F7fM5F8c.=!!E8P!$g1sJ,~> +li."rblIA8!8-`?iW&lWrr;uu"96aK'(5c"F7fM5F8c.=!!E8P!$g1sJ,~> +li.),!WYs6p&>#5o)RVHrW)rtrr<0$df:`_rrC^D!<)rt!!E8P!"di`J,~> +li.),!WYs6p&>#5o)RVHrW)rtrr<0$df:`_rrC^D!<)rt!!E8P!"di`J,~> +li.),!WYs6p&>#5o)RVHrW)rtrr<0$df:`_rrC^D!<)rt!!E8P!"di`J,~> +li.+%4TGI'p&>"/o`+t/h#I?Rrr;os!=$.&rr +li.+%4TGI'p&>"/o`+t/h#I?Rrr;os!=$.&rr +li.+%4TGI'p&>"/o`+t/h#I?Rrr;os!=$.&rr +l2Leb_[Q5 +l2Leb_[Q5 +l2Leb_[Q5 +li.(j$31d,pAa^a!-?rqrW)rtrr<0$ec69JrrMU-qZ$^:nGiOf!;QQr2uiq=huA3~> +li.(j$31d,pAa^a!-?rqrW)rtrr<0$ec69JrrMU-qZ$^:nGiOf!;QQr2uiq=huA3~> +li.(j$31d,pAa^a!-?rqrW)rtrr<0$ec69JrrMU-qZ$^:nGiOf!;QQr2uiq=huA3~> +l2L_`pAaX_!8-*,rW)rtrW!!$,cL#.!8.8N!HZoks8E#prrpdM0e<=Pi;\<~> +l2L_`pAaX_!8-*,rW)rtrW!!$,cL#.!8.8N!HZoks8E#prrpdM0e<=Pi;\<~> +l2L_`pAaX_!8-*,rW)rtrW!!$,cL#.!8.8N!HZoks8E#prrpdM0e<=Pi;\<~> +i;`WR!#kS3!#jVlrW(mVrW)corW)iq"_eb2ed?0Ms*t~> +i;`WR!#kS3!#jVlrW(mVrW)corW)iq"_eb2ed?0Ms*t~> +i;`WR!#kS3!#jVlrW(mVrW)corW)iq"_eb2ed?0Ms*t~> +j8\oTs8N)gpAb3_g].6Qi;`cVq#C +j8\oTs8N)gpAb3_g].6Qi;`cVq#C +j8\oTs8N)gpAb3_g].6Qi;`cVq#C +jo>,Vr;Qfe)Z'L8)XuJ\rW)lr".oPnT]uLU!;HNm!<3!'RK,POs#pFPiW"E~> +jo>,Vr;Qfe)Z'L8)XuJ\rW)lr".oPnT]uLU!;HNm!<3!'RK,POs#pFPiW"E~> +jo>,Vr;Qfe)Z'L8)XuJ\rW)lr".oPnT]uLU!;HNm!<3!'RK,POs#pFPiW"E~> +kl:GYp\t9HF8c.>f\$6'!;uj!2uiq=l2U__pAb*ls8N<[!2TYpU]<40s*t~> +kl:GYp\t9HF8c.>f\$6'!;uj!2uiq=l2U__pAb*ls8N<[!2TYpU]<40s*t~> +kl:GYp\t9HF8c.>f\$6'!;uj!2uiq=l2U__pAb*ls8N<[!2TYpU]<40s*t~> +lMp\\o)J[hfDkgMrVm&K!&6#)dH^c2!;uj!T)\karr;rtp](3m!X:Etkl6/~> +lMp\\o)J[hfDkgMrVm&K!&6#)dH^c2!;uj!T)\karr;rtp](3m!X:Etkl6/~> +lMp\\o)J[hfDkgMrVm&K!&6#)dH^c2!;uj!T)\karr;rtp](3m!X:Etkl6/~> +mJlt^nGiIffDkgMrVm%8(?*gOC?kiu!;uj!2uiq=rVuisq#C?o"95n3,O#/X~> +mJlt^nGiIffDkgMrVm%8(?*gOC?kiu!;uj!2uiq=rVuisq#C?o"95n3,O#/X~> +mJlt^nGiIffDkgMrVm%8(?*gOC?kiu!;uj!2uiq=rVuisq#C?o"95n3,O#/X~> +nGi:amJm.cfDkgMrr3#j%fHA.%eT)erW)os"jm<)/-+)rs8E#os8N'$s7lX#kl6/~> +nGi:amJm.cfDkgMrr3#j%fHA.%eT)erW)os"jm<)/-+)rs8E#os8N'$s7lX#kl6/~> +nGi:amJm.cfDkgMrr3#j%fHA.%eT)erW)os"jm<)/-+)rs8E#os8N'$s7lX#kl6/~> +o)JLcli6qarr;rt!X:Eti;`cVrr34l!'^G_4oh) +o)JLcli6qarr;rt!X:Eti;`cVrr34l!'^G_4oh) +o)JLcli6qarr;rt!X:Eti;`cVrr34l!'^G_4oh) +rr;Hfkl:V^rr;uu"95n3,N/V$!<3!'1B=6Ns.fWNli6qarr3#j%fHA.%eT]!rW)iqr;Zj7gZ\Zf~> +rr;Hfkl:V^rr;uu"95n3,N/V$!<3!'1B=6Ns.fWNli6qarr3#j%fHA.%eT]!rW)iqr;Zj7gZ\Zf~> +rr;Hfkl:V^rr;uu"95n3,N/V$!<3!'1B=6Ns.fWNli6qarr3#j%fHA.%eT]!rW)iqr;Zj7gZ\Zf~> +rr;Qijo>;[rr;uu"98/s#iPa^!9!nV!<3!'RK,POs#pFPqu?Wqr;Zcs"TR'b-hHU&J,~> +rr;Qijo>;[rr;uu"98/s#iPa^!9!nV!<3!'RK,POs#pFPqu?Wqr;Zcs"TR'b-hHU&J,~> +rr;Qijo>;[rr;uu"98/s#iPa^!9!nV!<3!'RK,POs#pFPqu?Wqr;Zcs"TR'b-hHU&J,~> +rr;Wkj8])Yrr;uu"95k2:>l0O!9!nV!<3!'1B=6Ns.fWNqZ$NprVults8N/#!+"jhJ,~> +rr;Wkj8])Yrr;uu"95k2:>l0O!9!nV!<3!'1B=6Ns.fWNqZ$NprVults8N/#!+"jhJ,~> +rr;Wkj8])Yrr;uu"95k2:>l0O!9!nV!<3!'1B=6Ns.fWNqZ$NprVults8N/#!+"jhJ,~> +rr;Wkj8])Yrr;os!>jMKs8E#ts8E!""u=*\s8E#ds8E#lrr\kn!2/c[J,~> +rr;Wkj8])Yrr;os!>jMKs8E#ts8E!""u=*\s8E#ds8E#lrr\kn!2/c[J,~> +rr;Wkj8])Yrr;os!>jMKs8E#ts8E!""u=*\s8E#ds8E#lrr\kn!2/c[J,~> +rr;Wkj8])Yrr;uu"TR'b-hH +rr;Wkj8])Yrr;uu"TR'b-hH +rr;Wkj8])Yrr;uu"TR'b-hH +rr;Wkj8])Yrr;uus8N/#!+"R`rW)rtrr<0$q#C]bs8E#rrr<&is8E#orrpdM0e<=Pn,In~> +rr;Wkj8])Yrr;uus8N/#!+"R`rW)rtrr<0$q#C]bs8E#rrr<&is8E#orrpdM0e<=Pn,In~> +rr;Wkj8])Yrr;uus8N/#!+"R`rW)rtrr<0$q#C]bs8E#rrr<&is8E#orrpdM0e<=Pn,In~> +rr;Wkj8])YfDkgMrr;uu"95k2:?hfX!<3!!Tc*h0oDediqYp_5(?*gOC@D1Q~> +rr;Wkj8])YfDkgMrr;uu"95k2:?hfX!<3!!Tc*h0oDediqYp_5(?*gOC@D1Q~> +rr;Wkj8])YfDkgMrr;uu"95k2:?hfX!<3!!Tc*h0oDediqYp_5(?*gOC@D1Q~> +rr;Wkj8])YfDkgMrr;os!>jMTs8E#trrN\T!:^$f!;uito+(^!!=nbks*t~> +rr;Wkj8])YfDkgMrr;os!>jMTs8E#trrN\T!:^$f!;uito+(^!!=nbks*t~> +rr;Wkj8])YfDkgMrr;os!>jMTs8E#trrN\T!:^$f!;uito+(^!!=nbks*t~> +rr;Wkj8])YfDkgMrr;uu"TR'b-hHX'rW)rt"<.CB9uZZ&rW)os#FYWVs8P7_S+-H.~> +rr;Wkj8])YfDkgMrr;uu"TR'b-hHX'rW)rt"<.CB9uZZ&rW)os#FYWVs8P7_S+-H.~> +rr;Wkj8])YfDkgMrr;uu"TR'b-hHX'rW)rt"<.CB9uZZ&rW)os#FYWVs8P7_S+-H.~> +rr;Wkj8])YfDkgMrr;uus8N/#!+"mirW)rt"MR#!!$:Y0rW)rt#;Z@Us8Skp1[tEp~> +rr;Wkj8])YfDkgMrr;uus8N/#!+"mirW)rt"MR#!!$:Y0rW)rt#;Z@Us8Skp1[tEp~> +rr;Wkj8])YfDkgMrr;uus8N/#!+"mirW)rt"MR#!!$:Y0rW)rt#;Z@Us8Skp1[tEp~> +rr;Wkjo5M:Eu4muf\$6'!9!nV!;uiu!5f66s8E#jrr<&ks*t~> +rr;Wkjo5M:Eu4muf\$6'!9!nV!;uiu!5f66s8E#jrr<&ks*t~> +rr;Wkjo5M:Eu4muf\$6'!9!nV!;uiu!5f66s8E#jrr<&ks*t~> +rr;WkkPkSP)Z'L8)XuJ\rW(mVrW)rt"9]&3'US7frW)]m!MLD1!;?GC~> +rr;WkkPkSP)Z'L8)XuJ\rW(mVrW)rt"9]&3'US7frW)]m!MLD1!;?GC~> +rr;WkkPkSP)Z'L8)XuJ\rW(mVrW)rt"9]&3'US7frW)]m!MLD1!;?GC~> +g&D'ApAb3_h#@B,rVut?f])r1!;uis!:0[a!;QQq%a>"Gs*t~> +g&D'ApAb3_h#@B,rVut?f])r1!;uis!:0[a!;QQq%a>"Gs*t~> +g&D'ApAb3_h#@B,rVut?f])r1!;uis!:0[a!;QQq%a>"Gs*t~> +kPkXV!!&\drr +kPkXV!!&\drr +kPkXV!!&\drr +kPkWD!!#%SrrC^E!!([0rrDQ_!!)NMs8E#Ys8E#prrg&!!!")6s*t~> +kPkWD!!#%SrrC^E!!([0rrDQ_!!)NMs8E#Ys8E#prrg&!!!")6s*t~> +kPkWD!!#%SrrC^E!!([0rrDQ_!!)NMs8E#Ys8E#prrg&!!!")6s*t~> +kl1h6!&6#)dJ +kl1h6!&6#)dJ +kl1h6!&6#)dJ +kl1g#(?*gOCAIl0)"dk/(ubJpf_#4Ef]rM0!9X=\!;uj"":>,CQhLH0~> +kl1g#(?*gOCAIl0)"dk/(ubJpf_#4Ef]rM0!9X=\!;uj"":>,CQhLH0~> +kl1g#(?*gOCAIl0)"dk/(ubJpf_#4Ef]rM0!9X=\!;uj"":>,CQhLH0~> +l2LeU%fHA.%eTVt!#YA/!#X\p!-@f5!-@H*o`4+RrW)iq!!)ZkJ,~> +l2LeU%fHA.%eTVt!#YA/!#X\p!-@f5!-@H*o`4+RrW)iq!!)ZkJ,~> +l2LeU%fHA.%eTVt!#YA/!#X\p!-@f5!-@H*o`4+RrW)iq!!)ZkJ,~> +l2M!W!'^G_4oh)Krr@-5!!%*!rr +l2M!W!'^G_4oh)Krr@-5!!%*!rr +l2M!W!'^G_4oh)Krr@-5!!%*!rr +nG`Igqu6mW!2TYpU]<4Is7?9kf\ui1)"dk/)!_.o!9=+Y!:Tr<~> +nG`Igqu6mW!2TYpU]<4Is7?9kf\ui1)"dk/)!_.o!9=+Y!:Tr<~> +nG`Igqu6mW!2TYpU]<4Is7?9kf\ui1)"dk/)!_.o!9=+Y!:Tr<~> +o)A`a)?'X*s763j)W:VqF7fM5F6`eu!94%X!:^#=~> +o)A`a)?'X*s763j)W:VqF7fM5F6`eu!94%X!:^#=~> +o)A`a)?'X*s763j)W:VqF7fM5F6`eu!94%X!:^#=~> +o)Ab$blI85nGiRYi;Wf0o`,!Er;Z`r!X:0Yp&F[biW&lWnc++~> +o)Ab$blI85nGiRYi;Wf0o`,!Er;Z`r!X:0Yp&F[biW&lWnc++~> +o)Ab$blI85nGiRYi;Wf0o`,!Er;Z`r!X:0Yp&F[biW&lWnc++~> +o)Ah3!WYs6o`+dgs8N,h)Z'L8)XuV`!#kS3!#kb7rr<0$d/XgPs7HBMs8E#hs*t~> +o)Ah3!WYs6o`+dgs8N,h)Z'L8)XuV`!#kS3!#kb7rr<0$d/XgPs7HBMs8E#hs*t~> +o)Ah3!WYs6o`+dgs8N,h)Z'L8)XuV`!#kS3!#kb7rr<0$d/XgPs7HBMs8E#hs*t~> +o)Aj,4TGI'pAb!iqu6]LF8c.>f\HK,nFln_nGE7c!!E8M!%.C=o`4%Po`4deJ,~> +o)Aj,4TGI'pAb!iqu6]LF8c.>f\HK,nFln_nGE7c!!E8M!%.C=o`4%Po`4deJ,~> +o)Aj,4TGI'pAb!iqu6]LF8c.>f\HK,nFln_nGE7c!!E8M!%.C=o`4%Po`4deJ,~> +nG`Oi_[Q>?qZ-BjrW)$Z".oPnT_n`hnFlq[s8;ou#.jL-o`4%Po`4deJ,~> +nG`Oi_[Q>?qZ-BjrW)$Z".oPnT_n`hnFlq[s8;ou#.jL-o`4%Po`4deJ,~> +nG`Oi_[Q>?qZ-BjrW)$Z".oPnT_n`hnFlq[s8;ou#.jL-o`4%Po`4deJ,~> +o)Agq$31d,qZ$Emp&G!kjSoj~> +o)Agq$31d,qZ$Emp&G!kjSoj~> +o)Agq$31d,qZ$Emp&G!kjSoj~> +nG`IgqZ$EmoDedijo5M3!&6#)dJX%D!;lfq!;uls!!E8P!"ei'o`4%Po`4deJ,~> +nG`IgqZ$EmoDedijo5M3!&6#)dJX%D!;lfq!;uls!!E8P!"ei'o`4%Po`4deJ,~> +nG`IgqZ$EmoDedijo5M3!&6#)dJX%D!;lfq!;uls!!E8P!"ei'o`4%Po`4deJ,~> +lMp_]nc/Rgs8W&u!X:0YmJd?((?*gOCAn23!;c`p!;ulr!!33IW6>56!;QSE~> +lMp_]nc/Rgs8W&u!X:0YmJd?((?*gOCAn23!;c`p!;ulr!!33IW6>56!;QSE~> +lMp_]nc/Rgs8W&u!X:0YmJd?((?*gOCAn23!;c`p!;ulr!!33IW6>56!;QSE~> +m/Qq_n,N@es8W*!"96aK'(5c#o+(^!!=nc$s8E#os8E#7s7HBes*t~> +m/Qq_n,N@es8W*!"96aK'(5c#o+(^!!=nc$s8E#os8E#7s7HBes*t~> +m/Qq_n,N@es8W*!"96aK'(5c#o+(^!!=nc$s8E#os8E#7s7HBes*t~> +mf3.amJm.cs8W*!"96gM-LUm?RK,POs#pFPs8W&up](3mq>UPh!!&\;s7HBes*t~> +mf3.amJm.cs8W*!"96gM-LUm?RK,POs#pFPs8W&up](3mq>UPh!!&\;s7HBes*t~> +mf3.amJm.cs8W*!"96gM-LUm?RK,POs#pFPs8W&up](3mq>UPh!!&\;s7HBes*t~> +nGi@cli6qas8W#t!=$.'rs:I]V#UIj!&OZTrW)]mrW)co"#p8\3R7Zt!;QSE~> +nGi@cli6qas8W#t!=$.'rs:I]V#UIj!&OZTrW)]mrW)co"#p8\3R7Zt!;QSE~> +nGi@cli6qas8W#t!=$.'rs:I]V#UIj!&OZTrW)]mrW)co"#p8\3R7Zt!;QSE~> +o)JRel2U__s8W*!"96pP,N\t)!;6Bk!;ld"d/YmP!7B-mo`4deJ,~> +o)JRel2U__s8W*!"96pP,N\t)!;6Bk!;ld"d/YmP!7B-mo`4deJ,~> +o)JRel2U__s8W*!"96pP,N\t)!;6Bk!;ld"d/YmP!7B-mo`4deJ,~> +rr;KgkPtM]s8W*!"96pP&F]W!!;QTn!;6Bk!;ld"Bbo[Y$>Roeo`4deJ,~> +rr;KgkPtM]s8W*!"96pP&F]W!!;QTn!;6Bk!;ld"Bbo[Y$>Roeo`4deJ,~> +rr;KgkPtM]s8W*!"96pP&F]W!!;QTn!;6Bk!;ld"Bbo[Y$>Roeo`4deJ,~> +rr;Qijo>;[s8W&u!WjXGnc&W`)?'X5s8E#is8E#srrM^$r;Zj.o[*X2!;QSE~> +rr;Qijo>;[s8W&u!WjXGnc&W`)?'X5s8E#is8E#srrM^$r;Zj.o[*X2!;QSE~> +rr;Qijo>;[s8W&u!WjXGnc&W`)?'X5s8E#is8E#srrM^$r;Zj.o[*X2!;QSE~> +rr;Wkj8])Yl2LepblIS>rW)NhrW)rt#FYWVs8P7_S'_3.!;QSE~> +rr;Wkj8])Yl2LepblIS>rW)NhrW)rt#FYWVs8P7_S'_3.!;QSE~> +rr;Wkj8])Yl2LepblIS>rW)NhrW)rt#FYWVs8P7_S'_3.!;QSE~> +rr;Wkj8])YrVltl!!&\^rra8B!):H1s8E#gs8E#trs(=[V#UIj!&M7eJ,~> +rr;Wkj8])YrVltl!!&\^rra8B!):H1s8E#gs8E#trs(=[V#UIj!&M7eJ,~> +rr;Wkj8])YrVltl!!&\^rra8B!):H1s8E#gs8E#trs(=[V#UIj!&M7eJ,~> +rr;Wkj8])YrVlsZ!!#%Lrrg&!!!") +rr;Wkj8])YrVlsZ!!#%Lrrg&!!!") +rr;Wkj8])YrVlsZ!!#%Lrrg&!!!") +rr;Wkj8])Yrr3/L!&6#)dI@/;!5f6Ds8E#ds8E#ps8E!""u=*2s*t~> +rr;Wkj8])Yrr3/L!&6#)dI@/;!5f6Ds8E#ds8E#ps8E!""u=*2s*t~> +rr;Wkj8])Yrr3/L!&6#)dI@/;!5f6Ds8E#ds8E#ps8E!""u=*2s*t~> +rr;Wkj8])Yrr3.9(?*gOC@_B-":>,CQi6s`!:Kmd!;c`q!!E83!$f8YJ,~> +rr;Wkj8])Yrr3.9(?*gOC@_B-":>,CQi6s`!:Kmd!;c`q!!E83!$f8YJ,~> +rr;Wkj8])Yrr3.9(?*gOC@_B-":>,CQi6s`!:Kmd!;c`q!!E83!$f8YJ,~> +rr;Wkj8])Ys8N,k%fHA.%eT;k!!)rsrW) +rr;Wkj8])Ys8N,k%fHA.%eT;k!!)rsrW) +rr;Wkj8])Ys8N,k%fHA.%eT;k!!)rsrW) +rr;Wkj8])Ys8N=m!'^G_4oh) +rr;Wkj8])Ys8N=m!'^G_4oh) +rr;Wkj8])Ys8N=m!'^G_4oh) +rr;Wkj8])Ys8N<[!2TYpU]<4;s8E#`s8E#rs8;ou(Yc_)J,~> +rr;Wkj8])Ys8N<[!2TYpU]<4;s8E#`s8E#rs8;ou(Yc_)J,~> +rr;Wkj8])Ys8N<[!2TYpU]<4;s8E#`s8E#rs8;ou(Yc_)J,~> +rr;Wkj8])YirAuXl2U__rVult"TR'b-hG.RJ,~> +rr;Wkj8])YirAuXl2U__rVult"TR'b-hG.RJ,~> +rr;Wkj8])YirAuXl2U__rVult"TR'b-hG.RJ,~> +rr;Wkj8])Ys8W&u!X:EtnGi.]m/R%brVults8N/#!+!D?J,~> +rr;Wkj8])Ys8W&u!X:EtnGi.]m/R%brVults8N/#!+!D?J,~> +rr;Wkj8])Ys8W&u!X:EtnGi.]m/R%brVults8N/#!+!D?J,~> +eGoLJs8W*!"95n3,Oka+!:0[a!4MoX~> +eGoLJs8W*!"95n3,Oka+!:0[a!4MoX~> +eGoLJs8W*!"95n3,Oka+!:0[a!4MoX~> +eGoLJs8W*!"98/s#k7le!:0[a!;ZWsT)\ka_Z,,~> +eGoLJs8W*!"98/s#k7le!:0[a!;ZWsT)\ka_Z,,~> +eGoLJs8W*!"98/s#k7le!:0[a!;ZWsT)\ka_Z,,~> +eGoLJs8W*!"95k2:@S;V!:'U`!;c]t2uiq=_Z,,~> +eGoLJs8W*!"95k2:@S;V!:'U`!;c]t2uiq=_Z,,~> +eGoLJs8W*!"95k2:@S;V!:'U`!;c]t2uiq=_Z,,~> +eGoLJs8W#t!>jM[s7HBVs8E#rrrpdM0e<=P_uG5~> +eGoLJs8W#t!>jM[s7HBVs8E#rrrpdM0e<=P_uG5~> +eGoLJs8W#t!>jM[s7HBVs8E#rrrpdM0e<=P_uG5~> +eGoLJs8W*!"TR'b-hHm.o`47VrW)lr"_eb2ed?00s*t~> +eGoLJs8W*!"TR'b-hHm.o`47VrW)lr"_eb2ed?00s*t~> +eGoLJs8W*!"TR'b-hHm.o`47VrW)lr"_eb2ed?00s*t~> +eGoLJs8W*!s8N/#!+#-po`44UrW)rt!V6g"!!*T%`;b>~> +eGoLJs8W*!s8N/#!+#-po`44UrW)rt!V6g"!!*T%`;b>~> +eGoLJs8W*!s8N/#!+#-po`44UrW)rt!V6g"!!*T%`;b>~> +eGoLJkl:;Ukl:V^rr34l!'^G_4oh(js*t~> +eGoLJkl:;Ukl:V^rr34l!'^G_4oh(js*t~> +eGoLJkl:;Ukl:V^rr34l!'^G_4oh(js*t~> +eGoLJrVltl!!&\]s7HBTs8E#urs(=[V#UIj!&MRnJ,~> +eGoLJrVltl!!&\]s7HBTs8E#urs(=[V#UIj!&MRnJ,~> +eGoLJrVltl!!&\]s7HBTs8E#urs(=[V#UIj!&MRnJ,~> +eGoLJrVlsZ!!#%Ks7HBSs8E#1s*t~> +eGoLJrVlsZ!!#%Ks7HBSs8E#1s*t~> +eGoLJrVlsZ!!#%Ks7HBSs8E#1s*t~> +eGoLJrr3/L!&6#)dII80!9X=\!;QQo!6+tg~> +eGoLJrr3/L!&6#)dII80!9X=\!;QQo!6+tg~> +eGoLJrr3/L!&6#)dII80!9X=\!;QQo!6+tg~> +eGoLJrr3.9(?*gOC@V>s!9O7[!;lcsTc*h0a8^Y~> +eGoLJrr3.9(?*gOC@V>s!9O7[!;lcsTc*h0a8^Y~> +eGoLJrr3.9(?*gOC@V>s!9O7[!;lcsTc*h0a8^Y~> +eGoLJs8N,k%fHA.%eRmCrW)lr!Y3HT`W(G~> +eGoLJs8N,k%fHA.%eRmCrW)lr!Y3HT`W(G~> +eGoLJs8N,k%fHA.%eRmCrW)lr!Y3HT`W(G~> +eGoLJs8N=m!'^G_4oh(os8E#rrra8B!):GQs*t~> +eGoLJs8N=m!'^G_4oh(os8E#rrra8B!):GQs*t~> +eGoLJs8N=m!'^G_4oh(os8E#rrra8B!):GQs*t~> +eGoLJs8N<[!2TYpU]<3ls8E#srrg&!!!"(\s*t~> +eGoLJs8N<[!2TYpU]<3ls8E#srrg&!!!"(\s*t~> +eGoLJs8N<[!2TYpU]<3ls8E#srrg&!!!"(\s*t~> +eGoLJ^An04qu6]t_[OTcJ,~> +eGoLJ^An04qu6]t_[OTcJ,~> +eGoLJ^An04qu6]t_[OTcJ,~> +eGoLJrVlit_Z0T8rr3*($31d,a8^Y~> +eGoLJrVlit_Z0T8rr3*($31d,a8^Y~> +eGoLJrVlit_Z0T8rr3*($31d,a8^Y~> +eGoLJs8N+n)?'WRs8E#srr<& +eGoLJs8N+n)?'WRs8E#srr<& +eGoLJs8N+n)?'WRs8E#srr<& +eGoLJs8N-1blGT[rW'b6J,~> +eGoLJs8N-1blGT[rW'b6J,~> +eGoLJs8N-1blGT[rW'b6J,~> +eGoLJs8N3@!WYs6_Z0T8_>f#~> +eGoLJs8N3@!WYs6_Z0T8_>f#~> +eGoLJs8N3@!WYs6_Z0T8_>f#~> +eGoLJs8N594TGI'_Z0T8_>f#~> +eGoLJs8N594TGI'_Z0T8_>f#~> +eGoLJs8N594TGI'_Z0T8_>f#~> +eGoLJrVlp!_[OQbo`3#3J,~> +eGoLJrVlp!_[OQbo`3#3J,~> +eGoLJrVlp!_[OQbo`3#3J,~> +eGoLJs8N3)$31d,`rG]3`rCP~> +eGoLJs8N3)$31d,`rG]3`rCP~> +eGoLJs8N3)$31d,`rG]3`rCP~> +eGoLJrVlit`;fK1`rCP~> +eGoLJrVlit`;fK1`rCP~> +eGoLJrVlit`;fK1`rCP~> +eGoLJ^]3s,`rCP~> +eGoLJ^]3s,`rCP~> +eGoLJ^]3s,`rCP~> +eGoLJ^]3s,`rCP~> +eGoLJ^]3s,`rCP~> +eGoLJ^]3s,`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^F_uKB0`rCP~> +g&L^FJcGZJJ,~> +g&L^FJcGZJJ,~> +g&L^FJcGZJJ,~> +g&L^FJcGZJJ,~> +g&L^FJcGZJJ,~> +g&L^FJcGZJJ,~> +g&L^FJcGZJJ,~> +g&L^FJcGZJJ,~> +g&L^FJcGZJJ,~> +g&L^FJcGZJJ,~> +g&L^FJcGZJJ,~> +g&L^FJcGZJJ,~> +g&L^FJcGZJJ,~> +g&L^FJcGZJJ,~> +g&L^FJcGZJJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +JcEgkJ,~> +%%EndData +showpage +%%Trailer +end +%%EOF diff --git a/9-suffix/ct-35120024224-fs.eps b/9-suffix/ct-35120024224-fs.eps new file mode 100644 index 0000000..9b49ee0 --- /dev/null +++ b/9-suffix/ct-35120024224-fs.eps @@ -0,0 +1,775 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: inkscape 0.43 +%%Pages: 1 +%%Orientation: Portrait +%%BoundingBox: 3 2 168 119 +%%HiResBoundingBox: 3.2 2.3181145 167.52 118.31812 +%%EndComments +%%Page: 1 1 +0 122 translate +0.8 -0.8 scale +gsave [1 0 0 1 0 0] concat +gsave +1 1 1 setrgbcolor +newpath +84.478137 5.4645691 moveto +114.52186 5.4645691 lineto +118.11075 5.4645691 121 8.3538186 121 11.942707 curveto +121 20.986431 lineto +121 24.57532 118.11075 27.464569 114.52186 27.464569 curveto +84.478137 27.464569 lineto +80.889249 27.464569 78 24.57532 78 20.986431 curveto +78 11.942707 lineto +78 8.3538186 80.889249 5.4645691 84.478137 5.4645691 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.9999996 setlinewidth +1 setlinejoin +0 setlinecap +newpath +84.478137 5.4645691 moveto +114.52186 5.4645691 lineto +118.11075 5.4645691 121 8.3538186 121 11.942707 curveto +121 20.986431 lineto +121 24.57532 118.11075 27.464569 114.52186 27.464569 curveto +84.478137 27.464569 lineto +80.889249 27.464569 78 24.57532 78 20.986431 curveto +78 11.942707 lineto +78 8.3538186 80.889249 5.4645691 84.478137 5.4645691 curveto +closepath +stroke +gsave [1 0 0 1 60 35] concat +gsave +1 1 1 setrgbcolor +newpath +84.478137 5.4645691 moveto +114.52186 5.4645691 lineto +118.11075 5.4645691 121 8.3538186 121 11.942707 curveto +121 20.986431 lineto +121 24.57532 118.11075 27.464569 114.52186 27.464569 curveto +84.478137 27.464569 lineto +80.889249 27.464569 78 24.57532 78 20.986431 curveto +78 11.942707 lineto +78 8.3538186 80.889249 5.4645691 84.478137 5.4645691 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.9999996 setlinewidth +1 setlinejoin +0 setlinecap +newpath +84.478137 5.4645691 moveto +114.52186 5.4645691 lineto +118.11075 5.4645691 121 8.3538186 121 11.942707 curveto +121 20.986431 lineto +121 24.57532 118.11075 27.464569 114.52186 27.464569 curveto +84.478137 27.464569 lineto +80.889249 27.464569 78 24.57532 78 20.986431 curveto +78 11.942707 lineto +78 8.3538186 80.889249 5.4645691 84.478137 5.4645691 curveto +closepath +stroke +grestore +gsave [1 0 0 1 135 39] concat +gsave +1 1 1 setrgbcolor +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +2 setlinewidth +1 setlinejoin +0 setlinecap +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +stroke +grestore +gsave [1 0 0 1 88 40] concat +gsave +1 1 1 setrgbcolor +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +2 setlinewidth +1 setlinejoin +0 setlinecap +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +stroke +grestore +gsave [1 0 0 1 28 32] concat +gsave +1 1 1 setrgbcolor +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +2 setlinewidth +1 setlinejoin +0 setlinecap +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +stroke +grestore +gsave +1 1 1 setrgbcolor +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +2 setlinewidth +1 setlinejoin +0 setlinecap +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +stroke +gsave +1 1 1 setrgbcolor +newpath +84.478137 5.4645691 moveto +114.52186 5.4645691 lineto +118.11075 5.4645691 121 8.3538186 121 11.942707 curveto +121 20.986431 lineto +121 24.57532 118.11075 27.464569 114.52186 27.464569 curveto +84.478137 27.464569 lineto +80.889249 27.464569 78 24.57532 78 20.986431 curveto +78 11.942707 lineto +78 8.3538186 80.889249 5.4645691 84.478137 5.4645691 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.9999996 setlinewidth +1 setlinejoin +0 setlinecap +newpath +84.478137 5.4645691 moveto +114.52186 5.4645691 lineto +118.11075 5.4645691 121 8.3538186 121 11.942707 curveto +121 20.986431 lineto +121 24.57532 118.11075 27.464569 114.52186 27.464569 curveto +84.478137 27.464569 lineto +80.889249 27.464569 78 24.57532 78 20.986431 curveto +78 11.942707 lineto +78 8.3538186 80.889249 5.4645691 84.478137 5.4645691 curveto +closepath +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +84.04545 28.464569 moveto +72 37.81751 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +36 70.464569 moveto +45 61.464569 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +67.5 61.464569 moveto +74.5 69.464569 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +30.769231 94.464569 moveto +39.230769 109.46457 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +144.10526 77.464569 moveto +152.39474 63.464569 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +170.04054 63.464569 moveto +181.45946 76.464569 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +138.92857 39.464569 moveto +120.07143 28.464569 lineto +stroke +gsave [1 0 0 -1 95.208977 21.764647] concat +gsave +/newlatin1font {findfont dup length dict copy dup /Encoding ISOLatin1Encoding put definefont} def +/BitstreamVeraSans-Roman-ISOLatin1 /BitstreamVeraSans-Roman newlatin1font +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(0) show +grestore +grestore +gsave [1 0 0 -1 52.681641 54.464569] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(1) show +grestore +grestore +gsave [1 0 0 1 -33 33] concat +gsave +1 1 1 setrgbcolor +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +2 setlinewidth +1 setlinejoin +0 setlinecap +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +stroke +grestore +gsave [1 0 0 -1 20.085938 87.464569] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(3) show +grestore +grestore +gsave [1 0 0 1 -11 72] concat +gsave +1 1 1 setrgbcolor +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +2 setlinewidth +1 setlinejoin +0 setlinecap +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +stroke +grestore +gsave [1 0 0 -1 42.074219 125.66463] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(5) show +grestore +grestore +gsave [1 0 0 -1 81.121094 86.664597] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(2) show +grestore +grestore +gsave [1 0 0 -1 155.12109 55.664558] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(2) show +grestore +grestore +gsave [1 0 0 -1 141.41406 93.464569] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(4) show +grestore +grestore +gsave [1 0 0 -1 188.41406 93.464592] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(4) show +grestore +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +38.033613 133.46457 moveto +32.988235 141.06457 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +92.15966 93.464569 moveto +96.69412 101.06457 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +77.033613 93.464569 moveto +71.988235 101.06457 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +53.159664 133.46457 moveto +57.694118 141.06457 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +16.033613 94.464569 moveto +10.988235 102.06457 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +138.32258 101.46457 moveto +133.5371 110.06457 lineto +stroke +gsave [1 0 0 1 2.7 -88.7] concat +0 0 0 setrgbcolor +[] 0 setdash +1.4 setlinewidth +1 setlinejoin +0 setlinecap +newpath +100 128.96457 moveto +100 130.89757 98.432997 132.46457 96.5 132.46457 curveto +94.567003 132.46457 93 130.89757 93 128.96457 curveto +93 127.03157 94.567003 125.46457 96.5 125.46457 curveto +98.432997 125.46457 100 127.03157 100 128.96457 curveto +closepath +stroke +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +99.34874 28.464569 moveto +99.25294 36.064569 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +161.77419 63.464569 moveto +163.40403 72.064569 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +140.69328 63.464569 moveto +126.4 72.584676 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +198.13953 100.46457 moveto +203.05116 110.06457 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +185.32258 100.46457 moveto +180.5371 109.06457 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +151.3871 101.46457 moveto +155.96452 110.06457 lineto +stroke +gsave [1 0 0 1 -91 66] concat +gsave [1 0 0 1 2.7 -88.7] concat +0 0 0 setrgbcolor +[] 0 setdash +1.4 setlinewidth +1 setlinejoin +0 setlinecap +newpath +100 128.96457 moveto +100 130.89757 98.432997 132.46457 96.5 132.46457 curveto +94.567003 132.46457 93 130.89757 93 128.96457 curveto +93 127.03157 94.567003 125.46457 96.5 125.46457 curveto +98.432997 125.46457 100 127.03157 100 128.96457 curveto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 -69 105] concat +gsave [1 0 0 1 2.7 -88.7] concat +0 0 0 setrgbcolor +[] 0 setdash +1.4 setlinewidth +1 setlinejoin +0 setlinecap +newpath +100 128.96457 moveto +100 130.89757 98.432997 132.46457 96.5 132.46457 curveto +94.567003 132.46457 93 130.89757 93 128.96457 curveto +93 127.03157 94.567003 125.46457 96.5 125.46457 curveto +98.432997 125.46457 100 127.03157 100 128.96457 curveto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 -39 105] concat +gsave [1 0 0 1 2.7 -88.7] concat +0 0 0 setrgbcolor +[] 0 setdash +1.4 setlinewidth +1 setlinejoin +0 setlinecap +newpath +100 128.96457 moveto +100 130.89757 98.432997 132.46457 96.5 132.46457 curveto +94.567003 132.46457 93 130.89757 93 128.96457 curveto +93 127.03157 94.567003 125.46457 96.5 125.46457 curveto +98.432997 125.46457 100 127.03157 100 128.96457 curveto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 -30 65] concat +gsave [1 0 0 1 2.7 -88.7] concat +0 0 0 setrgbcolor +[] 0 setdash +1.4 setlinewidth +1 setlinejoin +0 setlinecap +newpath +100 128.96457 moveto +100 130.89757 98.432997 132.46457 96.5 132.46457 curveto +94.567003 132.46457 93 130.89757 93 128.96457 curveto +93 127.03157 94.567003 125.46457 96.5 125.46457 curveto +98.432997 125.46457 100 127.03157 100 128.96457 curveto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 0 65] concat +gsave [1 0 0 1 2.7 -88.7] concat +0 0 0 setrgbcolor +[] 0 setdash +1.4 setlinewidth +1 setlinejoin +0 setlinecap +newpath +100 128.96457 moveto +100 130.89757 98.432997 132.46457 96.5 132.46457 curveto +94.567003 132.46457 93 130.89757 93 128.96457 curveto +93 127.03157 94.567003 125.46457 96.5 125.46457 curveto +98.432997 125.46457 100 127.03157 100 128.96457 curveto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 23 35] concat +gsave [1 0 0 1 2.7 -88.7] concat +0 0 0 setrgbcolor +[] 0 setdash +1.4 setlinewidth +1 setlinejoin +0 setlinecap +newpath +100 128.96457 moveto +100 130.89757 98.432997 132.46457 96.5 132.46457 curveto +94.567003 132.46457 93 130.89757 93 128.96457 curveto +93 127.03157 94.567003 125.46457 96.5 125.46457 curveto +98.432997 125.46457 100 127.03157 100 128.96457 curveto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 32 74] concat +gsave [1 0 0 1 2.7 -88.7] concat +0 0 0 setrgbcolor +[] 0 setdash +1.4 setlinewidth +1 setlinejoin +0 setlinecap +newpath +100 128.96457 moveto +100 130.89757 98.432997 132.46457 96.5 132.46457 curveto +94.567003 132.46457 93 130.89757 93 128.96457 curveto +93 127.03157 94.567003 125.46457 96.5 125.46457 curveto +98.432997 125.46457 100 127.03157 100 128.96457 curveto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 59 74] concat +gsave [1 0 0 1 2.7 -88.7] concat +0 0 0 setrgbcolor +[] 0 setdash +1.4 setlinewidth +1 setlinejoin +0 setlinecap +newpath +100 128.96457 moveto +100 130.89757 98.432997 132.46457 96.5 132.46457 curveto +94.567003 132.46457 93 130.89757 93 128.96457 curveto +93 127.03157 94.567003 125.46457 96.5 125.46457 curveto +98.432997 125.46457 100 127.03157 100 128.96457 curveto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 65 36] concat +gsave [1 0 0 1 2.7 -88.7] concat +0 0 0 setrgbcolor +[] 0 setdash +1.4 setlinewidth +1 setlinejoin +0 setlinecap +newpath +100 128.96457 moveto +100 130.89757 98.432997 132.46457 96.5 132.46457 curveto +94.567003 132.46457 93 130.89757 93 128.96457 curveto +93 127.03157 94.567003 125.46457 96.5 125.46457 curveto +98.432997 125.46457 100 127.03157 100 128.96457 curveto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 79 73] concat +gsave [1 0 0 1 2.7 -88.7] concat +0 0 0 setrgbcolor +[] 0 setdash +1.4 setlinewidth +1 setlinejoin +0 setlinecap +newpath +100 128.96457 moveto +100 130.89757 98.432997 132.46457 96.5 132.46457 curveto +94.567003 132.46457 93 130.89757 93 128.96457 curveto +93 127.03157 94.567003 125.46457 96.5 125.46457 curveto +98.432997 125.46457 100 127.03157 100 128.96457 curveto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 106 74] concat +gsave [1 0 0 1 2.7 -88.7] concat +0 0 0 setrgbcolor +[] 0 setdash +1.4 setlinewidth +1 setlinejoin +0 setlinecap +newpath +100 128.96457 moveto +100 130.89757 98.432997 132.46457 96.5 132.46457 curveto +94.567003 132.46457 93 130.89757 93 128.96457 curveto +93 127.03157 94.567003 125.46457 96.5 125.46457 curveto +98.432997 125.46457 100 127.03157 100 128.96457 curveto +closepath +stroke +grestore +grestore +grestore +showpage diff --git a/9-suffix/ct-35120024224.eps b/9-suffix/ct-35120024224.eps new file mode 100644 index 0000000..9948b7c --- /dev/null +++ b/9-suffix/ct-35120024224.eps @@ -0,0 +1,465 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: inkscape 0.43 +%%Pages: 1 +%%Orientation: Portrait +%%BoundingBox: 3 2 168 119 +%%HiResBoundingBox: 3.2 2.3181145 167.52 118.31812 +%%EndComments +%%Page: 1 1 +0 122 translate +0.8 -0.8 scale +gsave [1 0 0 1 0 0] concat +gsave +1 1 1 setrgbcolor +newpath +84.478137 5.4645691 moveto +114.52186 5.4645691 lineto +118.11075 5.4645691 121 8.3538186 121 11.942707 curveto +121 20.986431 lineto +121 24.57532 118.11075 27.464569 114.52186 27.464569 curveto +84.478137 27.464569 lineto +80.889249 27.464569 78 24.57532 78 20.986431 curveto +78 11.942707 lineto +78 8.3538186 80.889249 5.4645691 84.478137 5.4645691 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.9999996 setlinewidth +1 setlinejoin +0 setlinecap +newpath +84.478137 5.4645691 moveto +114.52186 5.4645691 lineto +118.11075 5.4645691 121 8.3538186 121 11.942707 curveto +121 20.986431 lineto +121 24.57532 118.11075 27.464569 114.52186 27.464569 curveto +84.478137 27.464569 lineto +80.889249 27.464569 78 24.57532 78 20.986431 curveto +78 11.942707 lineto +78 8.3538186 80.889249 5.4645691 84.478137 5.4645691 curveto +closepath +stroke +gsave [1 0 0 1 60 35] concat +gsave +1 1 1 setrgbcolor +newpath +84.478137 5.4645691 moveto +114.52186 5.4645691 lineto +118.11075 5.4645691 121 8.3538186 121 11.942707 curveto +121 20.986431 lineto +121 24.57532 118.11075 27.464569 114.52186 27.464569 curveto +84.478137 27.464569 lineto +80.889249 27.464569 78 24.57532 78 20.986431 curveto +78 11.942707 lineto +78 8.3538186 80.889249 5.4645691 84.478137 5.4645691 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.9999996 setlinewidth +1 setlinejoin +0 setlinecap +newpath +84.478137 5.4645691 moveto +114.52186 5.4645691 lineto +118.11075 5.4645691 121 8.3538186 121 11.942707 curveto +121 20.986431 lineto +121 24.57532 118.11075 27.464569 114.52186 27.464569 curveto +84.478137 27.464569 lineto +80.889249 27.464569 78 24.57532 78 20.986431 curveto +78 11.942707 lineto +78 8.3538186 80.889249 5.4645691 84.478137 5.4645691 curveto +closepath +stroke +grestore +gsave [1 0 0 1 135 39] concat +gsave +1 1 1 setrgbcolor +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +2 setlinewidth +1 setlinejoin +0 setlinecap +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +stroke +grestore +gsave [1 0 0 1 88 40] concat +gsave +1 1 1 setrgbcolor +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +2 setlinewidth +1 setlinejoin +0 setlinecap +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +stroke +grestore +gsave [1 0 0 1 28 32] concat +gsave +1 1 1 setrgbcolor +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +2 setlinewidth +1 setlinejoin +0 setlinecap +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +stroke +grestore +gsave +1 1 1 setrgbcolor +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +2 setlinewidth +1 setlinejoin +0 setlinecap +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +stroke +gsave +1 1 1 setrgbcolor +newpath +84.478137 5.4645691 moveto +114.52186 5.4645691 lineto +118.11075 5.4645691 121 8.3538186 121 11.942707 curveto +121 20.986431 lineto +121 24.57532 118.11075 27.464569 114.52186 27.464569 curveto +84.478137 27.464569 lineto +80.889249 27.464569 78 24.57532 78 20.986431 curveto +78 11.942707 lineto +78 8.3538186 80.889249 5.4645691 84.478137 5.4645691 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.9999996 setlinewidth +1 setlinejoin +0 setlinecap +newpath +84.478137 5.4645691 moveto +114.52186 5.4645691 lineto +118.11075 5.4645691 121 8.3538186 121 11.942707 curveto +121 20.986431 lineto +121 24.57532 118.11075 27.464569 114.52186 27.464569 curveto +84.478137 27.464569 lineto +80.889249 27.464569 78 24.57532 78 20.986431 curveto +78 11.942707 lineto +78 8.3538186 80.889249 5.4645691 84.478137 5.4645691 curveto +closepath +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +84.04545 28.464569 moveto +72 37.81751 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +36 70.464569 moveto +45 61.464569 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +67.5 61.464569 moveto +74.5 69.464569 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +30.769231 94.464569 moveto +39.230769 109.46457 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +144.10526 77.464569 moveto +152.39474 63.464569 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +170.04054 63.464569 moveto +181.45946 76.464569 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +138.92857 39.464569 moveto +120.07143 28.464569 lineto +stroke +gsave [1 0 0 -1 95.208977 21.764647] concat +gsave +/newlatin1font {findfont dup length dict copy dup /Encoding ISOLatin1Encoding put definefont} def +/BitstreamVeraSans-Roman-ISOLatin1 /BitstreamVeraSans-Roman newlatin1font +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(0) show +grestore +grestore +gsave [1 0 0 -1 52.681641 54.464569] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(1) show +grestore +grestore +gsave [1 0 0 1 -33 33] concat +gsave +1 1 1 setrgbcolor +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +2 setlinewidth +1 setlinejoin +0 setlinecap +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +stroke +grestore +gsave [1 0 0 -1 20.085938 87.464569] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(3) show +grestore +grestore +gsave [1 0 0 1 -11 72] concat +gsave +1 1 1 setrgbcolor +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +2 setlinewidth +1 setlinejoin +0 setlinecap +newpath +49.478138 38.464569 moveto +64.521862 38.464569 lineto +68.11075 38.464569 71 41.353819 71 44.942707 curveto +71 53.986431 lineto +71 57.57532 68.11075 60.464569 64.521862 60.464569 curveto +49.478138 60.464569 lineto +45.88925 60.464569 43 57.57532 43 53.986431 curveto +43 44.942707 lineto +43 41.353819 45.88925 38.464569 49.478138 38.464569 curveto +closepath +stroke +grestore +gsave [1 0 0 -1 42.074219 125.66463] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(5) show +grestore +grestore +gsave [1 0 0 -1 81.121094 86.664597] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(2) show +grestore +grestore +gsave [1 0 0 -1 155.12109 55.664558] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(2) show +grestore +grestore +gsave [1 0 0 -1 141.41406 93.464569] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(4) show +grestore +grestore +gsave [1 0 0 -1 188.41406 93.464592] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(4) show +grestore +grestore +grestore +showpage diff --git a/9-suffix/st-barbara.eps b/9-suffix/st-barbara.eps new file mode 100644 index 0000000..ffd7f61 --- /dev/null +++ b/9-suffix/st-barbara.eps @@ -0,0 +1,771 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: inkscape 0.43 +%%Pages: 1 +%%Orientation: Portrait +%%BoundingBox: 3 4 126 109 +%%HiResBoundingBox: 3.0666686 4.586402 125.31147 108.53179 +%%EndComments +%%Page: 1 1 +0 114 translate +0.8 -0.8 scale +gsave [1 0 0 1 0 0] concat +gsave [1 0 0 1 -53.602 25.98132] concat +gsave [1.451273 0 0 1.451273 -23.10934 -3.890785] concat +gsave +0 0 0 setrgbcolor +newpath +70.79388 9.0777454 moveto +70.79388 10.300952 69.801133 11.293699 68.577927 11.293699 curveto +67.35472 11.293699 66.361973 10.300952 66.361973 9.0777454 curveto +66.361973 7.8545392 67.35472 6.8617921 68.577927 6.8617921 curveto +69.801133 6.8617921 70.79388 7.8545392 70.79388 9.0777454 curveto +closepath +fill +grestore +grestore +grestore +gsave [-1 0 0 1 0 0] concat +gsave +1 1 1 setrgbcolor +newpath +-15.166672 47.533226 moveto +-4.3333359 47.533226 lineto +-4.3333359 58.366562 lineto +-15.166672 58.366562 lineto +-15.166672 47.533226 lineto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.0000002 setlinewidth +1 setlinejoin +0 setlinecap +newpath +-15.166672 47.533226 moveto +-4.3333359 47.533226 lineto +-4.3333359 58.366562 lineto +-15.166672 58.366562 lineto +-15.166672 47.533226 lineto +closepath +stroke +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +74.429003 9.9121137 moveto +25.258916 34.171521 lineto +stroke +gsave [1.451273 0 0 1.451273 -23.10934 -3.890785] concat +gsave +0 0 0 setrgbcolor +newpath +70.79388 9.0777454 moveto +70.79388 10.300952 69.801133 11.293699 68.577927 11.293699 curveto +67.35472 11.293699 66.361973 10.300952 66.361973 9.0777454 curveto +66.361973 7.8545392 67.35472 6.8617921 68.577927 6.8617921 curveto +69.801133 6.8617921 70.79388 7.8545392 70.79388 9.0777454 curveto +closepath +fill +grestore +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +76.415517 12.499456 moveto +76.409055 59.414949 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +127.07932 35.948308 moveto +78.960914 9.8623096 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +21.023085 37.480779 moveto +14.061762 47.033226 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +28.851043 58.414949 moveto +24.251102 37.480779 lineto +stroke +gsave [1 0 0 -1 39.038086 21.072239] concat +gsave +/newlatin1font {findfont dup length dict copy dup /Encoding ISOLatin1Encoding put definefont} def +/BitstreamVeraSans-Roman-ISOLatin1 /BitstreamVeraSans-Roman newlatin1font +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(A) show +grestore +grestore +gsave [1 0 0 -1 77.955757 29.641281] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(B) show +grestore +grestore +gsave [1 0 0 -1 77.955757 41.641281] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(A) show +grestore +grestore +gsave [1 0 0 -1 77.955757 53.641281] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(R) show +grestore +grestore +gsave [1 0 0 -1 105.3923 23.214533] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(R) show +grestore +grestore +gsave [1 0 0 -1 9.6766567 42.852325] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +($) show +grestore +grestore +gsave [1 0 0 1 -76.92313 25.52281] concat +gsave [1 0 0 -1 105.3923 23.214533] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(R) show +grestore +grestore +grestore +gsave [1 0 0 1 -47.307 51.3474] concat +gsave [1.451273 0 0 1.451273 -23.10934 -3.890785] concat +gsave +0 0 0 setrgbcolor +newpath +70.79388 9.0777454 moveto +70.79388 10.300952 69.801133 11.293699 68.577927 11.293699 curveto +67.35472 11.293699 66.361973 10.300952 66.361973 9.0777454 curveto +66.361973 7.8545392 67.35472 6.8617921 68.577927 6.8617921 curveto +69.801133 6.8617921 70.79388 7.8545392 70.79388 9.0777454 curveto +closepath +fill +grestore +grestore +grestore +gsave [1 0 0 1 8.23799 37.26238] concat +gsave [-1 0 0 1 0 0] concat +gsave +1 1 1 setrgbcolor +newpath +-15.166672 47.533226 moveto +-4.3333359 47.533226 lineto +-4.3333359 58.366562 lineto +-15.166672 58.366562 lineto +-15.166672 47.533226 lineto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.0000002 setlinewidth +1 setlinejoin +0 setlinecap +newpath +-15.166672 47.533226 moveto +-4.3333359 47.533226 lineto +-4.3333359 58.366562 lineto +-15.166672 58.366562 lineto +-15.166672 47.533226 lineto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 41.47266 76.63272] concat +gsave [-1 0 0 1 0 0] concat +gsave +1 1 1 setrgbcolor +newpath +-15.166672 47.533226 moveto +-4.3333359 47.533226 lineto +-4.3333359 58.366562 lineto +-15.166672 58.366562 lineto +-15.166672 47.533226 lineto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.0000002 setlinewidth +1 setlinejoin +0 setlinecap +newpath +-15.166672 47.533226 moveto +-4.3333359 47.533226 lineto +-4.3333359 58.366562 lineto +-15.166672 58.366562 lineto +-15.166672 47.533226 lineto +closepath +stroke +grestore +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +20.212334 84.295606 moveto +27.899933 63.846855 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +49.325112 123.66595 moveto +30.140351 63.846855 lineto +stroke +gsave [1 0 0 -1 12.774208 71.317413] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( A) show +grestore +grestore +gsave [1 0 0 -1 12.774208 80.117413] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +($) show +grestore +grestore +gsave [1 0 0 -1 35.200005 75.494278] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(B) show +grestore +grestore +gsave [1 0 0 -1 35.200005 86.494278] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( A) show +grestore +grestore +gsave [1 0 0 -1 35.200005 97.494278] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( R) show +grestore +grestore +gsave [1 0 0 -1 35.200005 108.49428] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( A) show +grestore +grestore +gsave [1 0 0 -1 35.200005 119.49428] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( $) show +grestore +grestore +gsave [1 0 0 -1 7.1004062 55.732277] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +8 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(6) show +grestore +grestore +gsave [1 0 0 1 47.09967 0.5] concat +gsave [1 0 0 1 -47.307 51.3474] concat +gsave [1.451273 0 0 1.451273 -23.10934 -3.890785] concat +gsave +0 0 0 setrgbcolor +newpath +70.79388 9.0777454 moveto +70.79388 10.300952 69.801133 11.293699 68.577927 11.293699 curveto +67.35472 11.293699 66.361973 10.300952 66.361973 9.0777454 curveto +66.361973 7.8545392 67.35472 6.8617921 68.577927 6.8617921 curveto +69.801133 6.8617921 70.79388 7.8545392 70.79388 9.0777454 curveto +closepath +fill +grestore +grestore +grestore +gsave [1 0 0 1 8.23799 37.26238] concat +gsave [-1 0 0 1 0 0] concat +gsave +1 1 1 setrgbcolor +newpath +-15.166672 47.533226 moveto +-4.3333359 47.533226 lineto +-4.3333359 58.366562 lineto +-15.166672 58.366562 lineto +-15.166672 47.533226 lineto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.0000002 setlinewidth +1 setlinejoin +0 setlinecap +newpath +-15.166672 47.533226 moveto +-4.3333359 47.533226 lineto +-4.3333359 58.366562 lineto +-15.166672 58.366562 lineto +-15.166672 47.533226 lineto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 41.47266 76.63272] concat +gsave [-1 0 0 1 0 0] concat +gsave +1 1 1 setrgbcolor +newpath +-15.166672 47.533226 moveto +-4.3333359 47.533226 lineto +-4.3333359 58.366562 lineto +-15.166672 58.366562 lineto +-15.166672 47.533226 lineto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.0000002 setlinewidth +1 setlinejoin +0 setlinecap +newpath +-15.166672 47.533226 moveto +-4.3333359 47.533226 lineto +-4.3333359 58.366562 lineto +-15.166672 58.366562 lineto +-15.166672 47.533226 lineto +closepath +stroke +grestore +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +20.212334 84.295606 moveto +27.899933 63.846855 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +49.325112 123.66595 moveto +30.140351 63.846855 lineto +stroke +gsave [1 0 0 -1 12.774208 71.317413] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( A) show +grestore +grestore +gsave [1 0 0 -1 12.774208 80.117413] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +($) show +grestore +grestore +gsave [1 0 0 -1 35.200005 75.494278] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(B) show +grestore +grestore +gsave [1 0 0 -1 35.200005 86.494278] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( A) show +grestore +grestore +gsave [1 0 0 -1 35.200005 97.494278] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( R) show +grestore +grestore +gsave [1 0 0 -1 35.200005 108.49428] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( A) show +grestore +grestore +gsave [1 0 0 -1 35.200005 119.49428] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( $) show +grestore +grestore +grestore +gsave [1 0 0 1 99.5 -23] concat +gsave [1 0 0 1 -47.307 51.3474] concat +gsave [1.451273 0 0 1.451273 -23.10934 -3.890785] concat +gsave +0 0 0 setrgbcolor +newpath +70.79388 9.0777454 moveto +70.79388 10.300952 69.801133 11.293699 68.577927 11.293699 curveto +67.35472 11.293699 66.361973 10.300952 66.361973 9.0777454 curveto +66.361973 7.8545392 67.35472 6.8617921 68.577927 6.8617921 curveto +69.801133 6.8617921 70.79388 7.8545392 70.79388 9.0777454 curveto +closepath +fill +grestore +grestore +grestore +gsave [1 0 0 1 8.23799 37.26238] concat +gsave [-1 0 0 1 0 0] concat +gsave +1 1 1 setrgbcolor +newpath +-15.166672 47.533226 moveto +-4.3333359 47.533226 lineto +-4.3333359 58.366562 lineto +-15.166672 58.366562 lineto +-15.166672 47.533226 lineto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.0000002 setlinewidth +1 setlinejoin +0 setlinecap +newpath +-15.166672 47.533226 moveto +-4.3333359 47.533226 lineto +-4.3333359 58.366562 lineto +-15.166672 58.366562 lineto +-15.166672 47.533226 lineto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 41.47266 76.63272] concat +gsave [-1 0 0 1 0 0] concat +gsave +1 1 1 setrgbcolor +newpath +-15.166672 47.533226 moveto +-4.3333359 47.533226 lineto +-4.3333359 58.366562 lineto +-15.166672 58.366562 lineto +-15.166672 47.533226 lineto +closepath +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.0000002 setlinewidth +1 setlinejoin +0 setlinecap +newpath +-15.166672 47.533226 moveto +-4.3333359 47.533226 lineto +-4.3333359 58.366562 lineto +-15.166672 58.366562 lineto +-15.166672 47.533226 lineto +closepath +stroke +grestore +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +20.212334 84.295606 moveto +27.899933 63.846855 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +49.325112 123.66595 moveto +30.140351 63.846855 lineto +stroke +gsave [1 0 0 -1 12.774208 71.317413] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( A) show +grestore +grestore +gsave [1 0 0 -1 12.774208 80.117413] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +($) show +grestore +grestore +gsave [1 0 0 -1 35.200005 75.494278] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(B) show +grestore +grestore +gsave [1 0 0 -1 35.200005 86.494278] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( A) show +grestore +grestore +gsave [1 0 0 -1 35.200005 97.494278] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( R) show +grestore +grestore +gsave [1 0 0 -1 35.200005 108.49428] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( A) show +grestore +grestore +gsave [1 0 0 -1 35.200005 119.49428] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +11 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( $) show +grestore +grestore +grestore +gsave [1 0 0 -1 15.400375 92.732277] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +8 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(4) show +grestore +grestore +gsave [1 0 0 -1 48.400375 132.23228] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +8 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(1) show +grestore +grestore +gsave [1 0 0 -1 62.500626 93.732277] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +8 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(3) show +grestore +grestore +gsave [1 0 0 -1 95.800659 132.832] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +8 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(0) show +grestore +grestore +gsave [1 0 0 -1 115.1004 70.232277] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +8 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(5) show +grestore +grestore +gsave [1 0 0 -1 148.20006 109.23228] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +8 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(2) show +grestore +grestore +grestore +showpage diff --git a/9-suffix/trie-c.eps b/9-suffix/trie-c.eps new file mode 100644 index 0000000..66de36b --- /dev/null +++ b/9-suffix/trie-c.eps @@ -0,0 +1,266 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: inkscape 0.43 +%%Pages: 1 +%%Orientation: Portrait +%%BoundingBox: 13 14 66 103 +%%HiResBoundingBox: 13.735313 14.324902 65.569958 102.30457 +%%EndComments +%%Page: 1 1 +0 114 translate +0.8 -0.8 scale +gsave [1 0 0 1 0 0] concat +gsave [1 0 0 -1 59.355213 23.722954] concat +gsave +/newlatin1font {findfont dup length dict copy dup /Encoding ISOLatin1Encoding put definefont} def +/BitstreamVeraSans-Roman-ISOLatin1 /BitstreamVeraSans-Roman newlatin1font +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(B) show +grestore +grestore +gsave [1 0 0 -1 59.355213 38.722954] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( U) show +grestore +grestore +gsave [1 0 0 -1 59.355213 53.72295] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( S) show +grestore +grestore +gsave [1 0 0 1 -14.42006 6.989778] concat +gsave +0 0 0 setrgbcolor +newpath +70.79388 9.0777454 moveto +70.79388 10.300952 69.801133 11.293699 68.577927 11.293699 curveto +67.35472 11.293699 66.361973 10.300952 66.361973 9.0777454 curveto +66.361973 7.8545392 67.35472 6.8617921 68.577927 6.8617921 curveto +69.801133 6.8617921 70.79388 7.8545392 70.79388 9.0777454 curveto +closepath +fill +grestore +grestore +gsave [-1 0 0 1 0 0] concat +gsave +0 0 0 setrgbcolor +newpath +-80.529716 117.32616 moveto +-74.029716 117.32616 lineto +-74.029716 123.82616 lineto +-80.529716 123.82616 lineto +-80.529716 117.32616 lineto +closepath +fill +grestore +grestore +gsave [-1 0 0 1 0 0] concat +gsave +0.76862746 0.76862746 0.76862746 setrgbcolor +newpath +-58.130096 72.57988 moveto +-51.630096 72.57988 lineto +-51.630096 79.07988 lineto +-58.130096 79.07988 lineto +-58.130096 72.57988 lineto +closepath +fill +grestore +grestore +gsave [1 0 0 1 -52.55295 -44.74628] concat +gsave [-1 0 0 1 0 0] concat +gsave +0 0 0 setrgbcolor +newpath +-80.529716 117.32616 moveto +-74.029716 117.32616 lineto +-74.029716 123.82616 lineto +-80.529716 123.82616 lineto +-80.529716 117.32616 lineto +closepath +fill +grestore +grestore +grestore +gsave [1 0 0 1 -1.43587 -61.16818] concat +gsave [-1 0 0 1 0 0] concat +gsave +0 0 0 setrgbcolor +newpath +-80.529716 117.32616 moveto +-74.029716 117.32616 lineto +-74.029716 123.82616 lineto +-80.529716 123.82616 lineto +-80.529716 117.32616 lineto +closepath +fill +grestore +grestore +grestore +0 0 0 setrgbcolor +[] 0 setdash +0.99999911 setlinewidth +0 setlinejoin +0 setlinecap +newpath +54.575111 15.488046 moveto +40.069806 44.578793 lineto +stroke +gsave [-1 0 0 1 93.86568 29.3914] concat +gsave [1 0 0 1 -14.42006 6.989778] concat +gsave +0 0 0 setrgbcolor +newpath +70.79388 9.0777454 moveto +70.79388 10.300952 69.801133 11.293699 68.577927 11.293699 curveto +67.35472 11.293699 66.361973 10.300952 66.361973 9.0777454 curveto +66.361973 7.8545392 67.35472 6.8617921 68.577927 6.8617921 curveto +69.801133 6.8617921 70.79388 7.8545392 70.79388 9.0777454 curveto +closepath +fill +grestore +grestore +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.0000011 setlinewidth +0 setlinejoin +0 setlinecap +newpath +54.414939 16.533136 moveto +75.926943 59.675996 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1.0000015 setlinewidth +0 setlinejoin +0 setlinecap +newpath +39.513359 45.675325 moveto +24.438951 75.907425 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +39.897162 45.947163 moveto +77.224554 120.80818 lineto +stroke +gsave [1 0 0 -1 17.169142 23.889404] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( A) show +grestore +grestore +gsave [1 0 0 -1 17.169142 38.889404] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( U) show +grestore +grestore +gsave [1 0 0 -1 17.169142 53.889404] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( L) show +grestore +grestore +gsave [1 0 0 -1 17.169142 68.889404] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(A) show +grestore +grestore +gsave [1 0 0 -1 44.450729 54.32991] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(T) show +grestore +grestore +gsave [1 0 0 -1 44.450729 69.32991] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( O) show +grestore +grestore +gsave [1 0 0 -1 44.450729 84.32991] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( B) show +grestore +grestore +gsave [1 0 0 -1 44.450729 99.32991] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( U) show +grestore +grestore +gsave [1 0 0 -1 44.450729 114.32991] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( S) show +grestore +grestore +grestore +showpage diff --git a/9-suffix/trie-cd.eps b/9-suffix/trie-cd.eps new file mode 100644 index 0000000..3ea7d1a --- /dev/null +++ b/9-suffix/trie-cd.eps @@ -0,0 +1,336 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: inkscape 0.43 +%%Pages: 1 +%%Orientation: Portrait +%%BoundingBox: 7 6 72 108 +%%HiResBoundingBox: 7.1353134 6.9249023 71.434021 107.90457 +%%EndComments +%%Page: 1 1 +0 114 translate +0.8 -0.8 scale +gsave [1 0 0 1 0 0] concat +gsave [1 0 0 1 -14.42006 -0.010222] concat +gsave +0 0 0 setrgbcolor +newpath +70.79388 9.0777454 moveto +70.79388 10.300952 69.801133 11.293699 68.577927 11.293699 curveto +67.35472 11.293699 66.361973 10.300952 66.361973 9.0777454 curveto +66.361973 7.8545392 67.35472 6.8617921 68.577927 6.8617921 curveto +69.801133 6.8617921 70.79388 7.8545392 70.79388 9.0777454 curveto +closepath +fill +grestore +grestore +gsave [-1 0 0 1 0 0] concat +gsave +0 0 0 setrgbcolor +newpath +-88.529716 126.57616 moveto +-82.029716 126.57616 lineto +-82.029716 133.07616 lineto +-88.529716 133.07616 lineto +-88.529716 126.57616 lineto +closepath +fill +grestore +grestore +gsave [1 0 0 1 -38.64972 -44.49387] concat +gsave [-1 0 0 1 0 0] concat +gsave +0 0 0 setrgbcolor +newpath +-88.529716 126.57616 moveto +-82.029716 126.57616 lineto +-82.029716 133.07616 lineto +-88.529716 133.07616 lineto +-88.529716 126.57616 lineto +closepath +fill +grestore +grestore +grestore +gsave [1 0 0 1 -69.55295 -44.49628] concat +gsave [-1 0 0 1 0 0] concat +gsave +0 0 0 setrgbcolor +newpath +-88.529716 126.57616 moveto +-82.029716 126.57616 lineto +-82.029716 133.07616 lineto +-88.529716 133.07616 lineto +-88.529716 126.57616 lineto +closepath +fill +grestore +grestore +grestore +gsave [1 0 0 1 -0.43587 -59.16818] concat +gsave [-1 0 0 1 0 0] concat +gsave +0 0 0 setrgbcolor +newpath +-88.529716 126.57616 moveto +-82.029716 126.57616 lineto +-82.029716 133.07616 lineto +-88.529716 133.07616 lineto +-88.529716 126.57616 lineto +closepath +fill +grestore +grestore +grestore +0 0 0 setrgbcolor +[] 0 setdash +0.99999911 setlinewidth +0 setlinejoin +0 setlinecap +newpath +54.575111 8.488046 moveto +40.069806 37.578793 lineto +stroke +gsave [-1 0 0 1 93.86568 29.3914] concat +gsave [1 0 0 1 -14.42006 -0.010222] concat +gsave +0 0 0 setrgbcolor +newpath +70.79388 9.0777454 moveto +70.79388 10.300952 69.801133 11.293699 68.577927 11.293699 curveto +67.35472 11.293699 66.361973 10.300952 66.361973 9.0777454 curveto +66.361973 7.8545392 67.35472 6.8617921 68.577927 6.8617921 curveto +69.801133 6.8617921 70.79388 7.8545392 70.79388 9.0777454 curveto +closepath +fill +grestore +grestore +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.000001 setlinewidth +0 setlinejoin +0 setlinecap +newpath +54.613157 9.731354 moveto +84.65338 69.97777 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1.0000019 setlinewidth +0 setlinejoin +0 setlinecap +newpath +39.230219 38.958502 moveto +16.542592 84.459102 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1.0000004 setlinewidth +0 setlinejoin +0 setlinecap +newpath +39.994399 39.044403 moveto +84.579542 128.46102 lineto +stroke +gsave [1 0 0 -1 8.9191418 16.889404] concat +gsave +/newlatin1font {findfont dup length dict copy dup /Encoding ISOLatin1Encoding put definefont} def +/BitstreamVeraSans-Roman-ISOLatin1 /BitstreamVeraSans-Roman newlatin1font +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( A) show +grestore +grestore +gsave [1 0 0 -1 8.9191418 31.889404] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( U) show +grestore +grestore +gsave [1 0 0 -1 8.9191418 46.889404] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( L) show +grestore +grestore +gsave [1 0 0 -1 8.9191418 61.889404] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( A) show +grestore +grestore +gsave [1 0 0 -1 8.9191418 76.889404] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +($) show +grestore +grestore +gsave [1 0 0 -1 44.450729 47.32991] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(T) show +grestore +grestore +gsave [1 0 0 -1 44.450729 62.32991] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( O) show +grestore +grestore +gsave [1 0 0 -1 44.450729 77.32991] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( B) show +grestore +grestore +gsave [1 0 0 -1 44.450729 92.32991] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( U) show +grestore +grestore +gsave [1 0 0 -1 44.450729 107.32991] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( S) show +grestore +grestore +gsave [1 0 0 -1 44.450729 122.32991] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( $) show +grestore +grestore +gsave [1 0 0 -1 59.25 16.732285] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(B) show +grestore +grestore +gsave [1 0 0 -1 59.25 31.732285] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( U) show +grestore +grestore +gsave [1 0 0 -1 59.25 46.732285] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( S) show +grestore +grestore +gsave [1 0 0 -1 59.25 61.732285] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( $) show +grestore +grestore +gsave [1 0 0 1 0.700087 59.69981] concat +gsave [1 0 0 1 -14.42006 -0.010222] concat +gsave +0 0 0 setrgbcolor +newpath +70.79388 9.0777454 moveto +70.79388 10.300952 69.801133 11.293699 68.577927 11.293699 curveto +67.35472 11.293699 66.361973 10.300952 66.361973 9.0777454 curveto +66.361973 7.8545392 67.35472 6.8617921 68.577927 6.8617921 curveto +69.801133 6.8617921 70.79388 7.8545392 70.79388 9.0777454 curveto +closepath +fill +grestore +grestore +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.0000023 setlinewidth +0 setlinejoin +0 setlinecap +newpath +54.363165 69.442732 moveto +47.363162 84.227805 lineto +stroke +gsave [1 0 0 -1 41.25 77.232285] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +($) show +grestore +grestore +grestore +showpage diff --git a/9-suffix/trie.eps b/9-suffix/trie.eps new file mode 100644 index 0000000..d4b9125 --- /dev/null +++ b/9-suffix/trie.eps @@ -0,0 +1,681 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: inkscape 0.43 +%%Pages: 1 +%%Orientation: Portrait +%%BoundingBox: 10 13 64 101 +%%HiResBoundingBox: 10.913587 13.024534 63.386462 100.77446 +%%EndComments +%%Page: 1 1 +0 114 translate +0.8 -0.8 scale +gsave [1 0 0 1 0 0] concat +gsave [1 0 0 -1 56.257626 25.635588] concat +gsave +/newlatin1font {findfont dup length dict copy dup /Encoding ISOLatin1Encoding put definefont} def +/BitstreamVeraSans-Roman-ISOLatin1 /BitstreamVeraSans-Roman newlatin1font +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(B) show +grestore +grestore +gsave [1 0 0 -1 56.257626 40.63559] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( U) show +grestore +grestore +gsave [1 0 0 -1 56.257626 55.635586] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( S) show +grestore +grestore +gsave [1 0 0 1 -10.01765 -6.097589] concat +gsave [1 0 0 1 7.5 -15] concat +gsave [1 0 0 1 7.5 -15] concat +gsave [1 0 0 1 7.5 -15] concat +gsave [1 0 0 1 7.5 -15] concat +0 0 0 setrgbcolor +[] 0 setdash +0.99999976 setlinewidth +0 setlinejoin +0 setlinecap +newpath +23.499999 99.09842 moveto +16.5 113.09842 lineto +stroke +gsave [-0.17888538 0.3577708 -0.3577708 -0.17888538 14.867583 115.46883] concat +gsave +0 0 0 setrgbcolor +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +stroke +grestore +grestore +grestore +grestore +grestore +grestore +gsave [1 0 0 1 7.41789 -15.01879] concat +gsave [1 0 0 1 -10.01765 -6.097589] concat +gsave [1 0 0 1 7.5 -15] concat +gsave [1 0 0 1 7.5 -15] concat +gsave [1 0 0 1 7.5 -15] concat +gsave [1 0 0 1 7.5 -15] concat +0 0 0 setrgbcolor +[] 0 setdash +0.99999976 setlinewidth +0 setlinejoin +0 setlinecap +newpath +23.499999 99.09842 moveto +16.5 113.09842 lineto +stroke +gsave [-0.17888538 0.3577708 -0.3577708 -0.17888538 14.867583 115.46883] concat +gsave +0 0 0 setrgbcolor +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +stroke +grestore +grestore +grestore +grestore +grestore +grestore +grestore +0 0 0 setrgbcolor +[] 0 setdash +0.99999976 setlinewidth +0 setlinejoin +0 setlinecap +newpath +66.182951 47.982522 moveto +73.18295 61.982522 lineto +stroke +gsave [0.17888538 0.3577708 -0.3577708 0.17888538 74.099826 64.710701] concat +gsave +0 0 0 setrgbcolor +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +stroke +grestore +gsave [-1 0 0 1 82.18295 -66.1159] concat +0 0 0 setrgbcolor +[] 0 setdash +0.99999976 setlinewidth +0 setlinejoin +0 setlinecap +newpath +23.499999 99.09842 moveto +16.5 113.09842 lineto +stroke +gsave [-0.17888538 0.3577708 -0.3577708 -0.17888538 14.867583 115.46883] concat +gsave +0 0 0 setrgbcolor +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +stroke +grestore +grestore +gsave [-1 0 0 1 82.18295 -66.1159] concat +gsave [1 0 0 1 7.5 -15] concat +0 0 0 setrgbcolor +[] 0 setdash +0.99999976 setlinewidth +0 setlinejoin +0 setlinecap +newpath +23.499999 99.09842 moveto +16.5 113.09842 lineto +stroke +gsave [-0.17888538 0.3577708 -0.3577708 -0.17888538 14.867583 115.46883] concat +gsave +0 0 0 setrgbcolor +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +stroke +grestore +grestore +grestore +gsave [1 0 0 1 -17.51765 8.902412] concat +gsave +0 0 0 setrgbcolor +newpath +70.79388 9.0777454 moveto +70.79388 10.300952 69.801133 11.293699 68.577927 11.293699 curveto +67.35472 11.293699 66.361973 10.300952 66.361973 9.0777454 curveto +66.361973 7.8545392 67.35472 6.8617921 68.577927 6.8617921 curveto +69.801133 6.8617921 70.79388 7.8545392 70.79388 9.0777454 curveto +closepath +fill +grestore +grestore +gsave [-1 0 0 1 90.55535 9.189586] concat +0 0 0 setrgbcolor +[] 0 setdash +0.99999976 setlinewidth +0 setlinejoin +0 setlinecap +newpath +23.499999 99.09842 moveto +16.5 113.09842 lineto +stroke +gsave [-0.17888538 0.3577708 -0.3577708 -0.17888538 14.867583 115.46883] concat +gsave +0 0 0 setrgbcolor +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +stroke +grestore +gsave [1 0 0 1 7.5 -15] concat +0 0 0 setrgbcolor +[] 0 setdash +0.99999976 setlinewidth +0 setlinejoin +0 setlinecap +newpath +23.499999 99.09842 moveto +16.5 113.09842 lineto +stroke +gsave [-0.17888538 0.3577708 -0.3577708 -0.17888538 14.867583 115.46883] concat +gsave +0 0 0 setrgbcolor +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 7.5 -15] concat +gsave [1 0 0 1 7.5 -15] concat +0 0 0 setrgbcolor +[] 0 setdash +0.99999976 setlinewidth +0 setlinejoin +0 setlinecap +newpath +23.499999 99.09842 moveto +16.5 113.09842 lineto +stroke +gsave [-0.17888538 0.3577708 -0.3577708 -0.17888538 14.867583 115.46883] concat +gsave +0 0 0 setrgbcolor +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +stroke +grestore +grestore +grestore +gsave [1 0 0 1 7.5 -15] concat +gsave [1 0 0 1 7.5 -15] concat +gsave [1 0 0 1 7.5 -15] concat +0 0 0 setrgbcolor +[] 0 setdash +0.99999976 setlinewidth +0 setlinejoin +0 setlinecap +newpath +23.499999 99.09842 moveto +16.5 113.09842 lineto +stroke +gsave [-0.17888538 0.3577708 -0.3577708 -0.17888538 14.867583 115.46883] concat +gsave +0 0 0 setrgbcolor +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +stroke +grestore +grestore +grestore +grestore +gsave [1 0 0 1 7.5 -15] concat +gsave [1 0 0 1 7.5 -15] concat +gsave [1 0 0 1 7.5 -15] concat +gsave [1 0 0 1 7.5 -15] concat +0 0 0 setrgbcolor +[] 0 setdash +0.99999976 setlinewidth +0 setlinejoin +0 setlinecap +newpath +23.499999 99.09842 moveto +16.5 113.09842 lineto +stroke +gsave [-0.17888538 0.3577708 -0.3577708 -0.17888538 14.867583 115.46883] concat +gsave +0 0 0 setrgbcolor +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +stroke +grestore +grestore +grestore +grestore +grestore +0 0 0 setrgbcolor +[] 0 setdash +0.99999976 setlinewidth +0 setlinejoin +0 setlinecap +newpath +62.144001 54.0985 moveto +69.144 68.0985 lineto +stroke +gsave [0.17888538 0.3577708 -0.3577708 0.17888538 70.060876 70.826679] concat +gsave +0 0 0 setrgbcolor +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +stroke +grestore +gsave [-1 0 0 1 78.144 -59.99992] concat +0 0 0 setrgbcolor +[] 0 setdash +0.99999976 setlinewidth +0 setlinejoin +0 setlinecap +newpath +23.499999 99.09842 moveto +16.5 113.09842 lineto +stroke +gsave [-0.17888538 0.3577708 -0.3577708 -0.17888538 14.867583 115.46883] concat +gsave +0 0 0 setrgbcolor +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-2.5 -1 moveto +-2.5 1.76 -4.74 4 -7.5 4 curveto +-10.26 4 -12.5 1.76 -12.5 -1 curveto +-12.5 -3.76 -10.26 -6 -7.5 -6 curveto +-4.74 -6 -2.5 -3.76 -2.5 -1 curveto +closepath +stroke +grestore +grestore +gsave +0 0 0 setrgbcolor +newpath +13.210032 109.76203 moveto +19.710032 109.76203 lineto +19.710032 116.26203 lineto +13.210032 116.26203 lineto +13.210032 109.76203 lineto +closepath +fill +grestore +gsave [1 0 0 1 22.39962 -44.74628] concat +gsave +0 0 0 setrgbcolor +newpath +13.210032 109.76203 moveto +19.710032 109.76203 lineto +19.710032 116.26203 lineto +13.210032 116.26203 lineto +13.210032 109.76203 lineto +closepath +fill +grestore +grestore +gsave [1 0 0 1 52.55295 -44.74628] concat +gsave +0 0 0 setrgbcolor +newpath +13.210032 109.76203 moveto +19.710032 109.76203 lineto +19.710032 116.26203 lineto +13.210032 116.26203 lineto +13.210032 109.76203 lineto +closepath +fill +grestore +grestore +grestore +gsave [1 0 0 1 56.28622 -51.11707] concat +gsave +0 0 0 setrgbcolor +newpath +13.210032 109.76203 moveto +19.710032 109.76203 lineto +19.710032 116.26203 lineto +13.210032 116.26203 lineto +13.210032 109.76203 lineto +closepath +fill +grestore +grestore +gsave [1 0 0 -1 13.641984 25.994835] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( A) show +grestore +grestore +gsave [1 0 0 -1 13.641984 40.994835] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( U) show +grestore +grestore +gsave [1 0 0 -1 13.641984 55.994835] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( L) show +grestore +grestore +gsave [1 0 0 -1 13.641984 70.994835] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(A) show +grestore +grestore +gsave [1 0 0 -1 41.721359 56.029743] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +(T) show +grestore +grestore +gsave [1 0 0 -1 41.721359 71.029743] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( O) show +grestore +grestore +gsave [1 0 0 -1 41.721359 86.029743] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( B) show +grestore +grestore +gsave [1 0 0 -1 41.721359 101.02974] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( U) show +grestore +grestore +gsave [1 0 0 -1 41.721359 116.02974] concat +gsave +/BitstreamVeraSans-Roman-ISOLatin1 findfont +12 scalefont +setfont +0 0 0 setrgbcolor +newpath +0 0 moveto +( S) show +grestore +grestore +grestore +showpage diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c645585 --- /dev/null +++ b/Makefile @@ -0,0 +1,6 @@ +all: + +upload: + tar czvvf - Makerules sgr.tex ~/texmf/tex/mj/mjmac.tex | ssh atrey 'cat >WWW/vyuka/sgr-2005/macros.tar.gz' + +.SECONDARY: diff --git a/Makerules b/Makerules new file mode 100644 index 0000000..65c4aed --- /dev/null +++ b/Makerules @@ -0,0 +1,37 @@ +all: $P.ps + +%.dvi: %.tex ../sgr.tex + csplain $< + +%.pdf: %.tex ../sgr.tex + pdfcsplain $< + +%-700.tex: %.tex + ( echo '\magnification=700' ; cat $< ) >$@ + +%.ps: %.dvi + dvips -D600 -o $@ -O-0.5in,-0.5in -t a4 $< + +%-a5.ps: %-700.dvi + dvips -D600 -o $@ -O-1in,-1in -T148mm,210mm $< + +%-booklet.ps: %-a5.ps + psbook <$< | pstops '2:0L(210mm,0)+1L(210mm,148mm)' | sed 's/^%%BoundingBox: .*/%%BoundingBox: 0 0 595 842/' >$@ + +%-2in1.ps: %-a5.ps + pstops '2:0L(212mm,0mm)+1L(212mm,150mm)' <$< | sed 's/^%%BoundingBox: .*/%%BoundingBox: 0 0 595 842/' >$@ + +mostlyclean: + rm -f *.dvi *.log *~ core *.o *-700.tex *-a5.ps + +clean:: mostlyclean + rm -f *.ps *.pdf + +upload: + make clean + ( cd .. && tar czvvf - $P ) | ssh atrey "cat >WWW/vyuka/sgr-2005/$P.tar.gz" + make $P.ps + scp -C $P.ps atrey:WWW/vyuka/sgr-2005/$P.ps + make clean + +.SECONDARY: diff --git a/all/Makefile b/all/Makefile new file mode 100644 index 0000000..1e34494 --- /dev/null +++ b/all/Makefile @@ -0,0 +1,10 @@ +P=all +X=$(shell for a in 1 2 3 4 5 6 7 8 9 ; do echo ../$$a-*/$$a-*.tex ; done) + +include ../Makerules + +all.tex: $(X) preprocess + ./preprocess $(X) >$@ + +clean:: + rm -f all.tex diff --git a/all/preprocess b/all/preprocess new file mode 100755 index 0000000..b459f13 --- /dev/null +++ b/all/preprocess @@ -0,0 +1,24 @@ +#!/usr/bin/perl + +use warnings; +use strict; + +print <) { + /^\\input .*sgr\.tex/ && next; + /^\\bye/ && last; + s@\\(figure|epsfbox){([^}]+)}@\\$1\{$d$2}@g; + print; + } + close X; + print "\\bigbreak\\bigbreak\n"; +} +print <=\noindent + +% Sazba algoritmu: +% \algo +% \:krok +% \:krok +% \::vnoreny krok +% \endalgo + +\def\algo{ +\interlistskip +\begingroup +\let\:=\algoitem +\let\*=\algohang +\parskip=1pt plus 1pt minus 0.3pt +\itemcount=0 +} +\def\endalgo{\interlistskip\endgroup} +\def\algoitem{\par +\parindent=2em +\hangindent=4em +\hangafter=1 +\advance\itemcount by 1 +\leavevmode\hbox to 2em{\hss \the\itemcount. }% +\futurelet\next\algoitemh} +\def\algoitemh{\ifx\next:\let\next=\algohang\else\let\next=\relax\fi\next} +\def\algohang:{\advance\hangindent by 2em \hskip 2em\futurelet\next\algoitemh} + +% Nekolikapismenkova promenna (mozno pouzit v textovem i math modu) +\def\<#1>{\hbox{\it #1}} + +% Asymptoticke O-cko +\def\O{{\cal O}} + +% Vlozeni obrazku {obrazek}{popisek}{sirka} +\def\figure#1#2#3{\bigskip\vbox{\centerline{\epsfxsize=#3\epsfbox{#1}}\smallskip\centerline{#2}}\bigskip} -- 2.39.2