diff --git a/jk_web/teaching_24_kg1/7.md b/jk_web/teaching_24_kg1/7.md
new file mode 100644
index 0000000000000000000000000000000000000000..0f5d3b7ab628f7847db918010695e3bde8cf05e5
--- /dev/null
+++ b/jk_web/teaching_24_kg1/7.md
@@ -0,0 +1,100 @@
+---
+title: "KG1 Jiří Kalvoda: Cvičení 5"
+lang: "cs"
+---
+
+[#jk_web.teaching_24_kg1.cvic_formatitko]{type=module}
+
+\def\sectioneject{}
+
+[]{c=head}
+
+Projektivní roviny
+==================
+
+::: {c=from_lesson}
+Připomeňme, že projektivní rovina byla definovaná jako hypergraf $(X, {\cal P})$ splňující trojici axiomů:
+
+1) Pro každé dva různé vrcholy $x, y \in X$ existuje právě jedna hyperhrana $p \in {\cal P}$, která je oba obsahuje.
+2) Pro každé dvě různé hyperhrany $p, q \in {\cal P}$ platí $|p \cap q| = 1$.
+3) Existuje čtyřprvková množina vrcholů $C$, jejíž žádné tři vrcholy neleží ve společné hyperhraně.
+
+:::
+
+Konstrukce
+----------
+
+Nechť $p$ je prvočíslo a $[p] = \{0,1,\dots, p-1\}$. Uvažme množinu trojic $[p]^3-\{(0,0,0)\}$.
+Na této množině zavedeme ekvivalenci $(x_1, y_1, z_1) \sim (x_2, y_2, z_2)$ právě tehdy když existuje $\alpha \in \{1,2,\dots, p-1\}$ takové, že:
+$$
+x_1 \equiv \alpha \cdot x_2 \qquad
+y_1 \equiv \alpha \cdot y_2 \qquad
+z_1 \equiv \alpha \cdot z_2 \qquad
+({\rm mod}\ p).$$
+Množinu všech tříd ekvivalence $\sim$ ozmačíme $X$.
+
+Definujeme ${\cal P} = \{\{(x,y,z) \mid (x,y,z)\in [p]^3,  ax+by+cz \equiv 0 \  ({\rm mod}\ p) \} \mid (a,b,c)\in [p]^3-\{(0,0,0)\}\}$.
+
+a) Ověřte, že $\sim$ je skutečně relace ekivalence.
+b) Ověřte, že $(X, {\cal P})$ je projektivní rovina.
+   Nejprve nahlédněte, že vnitřní množina v definici ${\cal P}$ se skládá vždy z celých tříd ekivalence $\sim$.
+   Dále si rozyslete, že pro různá $a,b,c$ ze stejne třídy ekvivalence $\sim$ dosteneme stejnou množinu bodů (tedy pro jednu třídu ekvivalence máme jen jednu přímku).
+   Nakonec ověřte axiomy projektivní roviny.
+
+
+Aplikace
+--------
+
+Ukažte, že existuje graf s $n$ vrcholy s alespoň $\Omega(n^{3/2})$ hranami, který neobsahuje cyklus na čtyřech vrcholech.
+
+\vfill\eject
+
+Toky
+====
+
+::: {c=from_lesson}
+Toková síť $(V, E, z, s, c)$ je uspořádaná 5-tice, kde $(V,E)$ je orientovaný graf,
+$z$ je zdroj, $s$ je stok a $c:E\rightarrow \R_0^+$ je funkce kapacit hran.
+
+Tok v této síti je $f:E\rightarrow \R_0^+$ tž:
+
+1) $\forall e\in E: f(e) < c(e)$
+2) $\forall x\in V-\{z,s\}:  f[{\rm In}(x)] = f[{\rm Out}(x)]$.
+
+Velikost toku je $f[{\rm Out}(z)] - f[{\rm In}(z)] = f[{\rm In}(s)] - f[{\rm Out}(s)]$.
+
+Řez $R$ v takovéto síti je podmnožina $R\subset E$ tž v grafu $(V, E-R)$ neexistuje orientovaná cesta ze $z$ do $s$.
+
+Zlepšující cesta pro tok $f$ je taková cesta ze $z$ do $s$ složená z dopředných i zpětných hran taková,
+že pro každou dopřednou $e$ na ní platí $f(e) < c(e)$ a zpětnou $e'$ platí $f(e')>0$.
+
+Párování v grafu $G$ je podmnožina hran taková, že žádně dvě nesdílí společný vrchol.
+
+Vrcholové pokrytí v grafu $G$ je podmnožina vrcholů taková, že pro každou hranu $G$ platí, že obsahuje alespoň jeden vrchol pokrytí.
+:::
+
+
+Lemátka
+-------
+
+Dokažte/nahlédněte následujíci lemátka, které jste na přednášce používali bez důkazu:
+
+a) Tok, který má zlepšující cestu, není maximální.
+b) Pokud $M$ je párování a $C$ je vrcholové pokrytí v nějakém grafu, tak $|M| \le |C|$.
+
+Algoritmické aplikace toků
+--------------------------
+
+Ukažte, jak lze následující úlohy efektivně, tj. v polynomiálním čase, vyřešit (například převedením na standardní
+úlohu pro nalezení největšího toku v síti).
+
+
+a) Máme dánu tokovou síť $(V, E, z, s, c)$, cílem je najít její minimální $zs$-řez.
+b) Máme dánu tokovou síť, kde ovšem místo jednoho spotřebiče s je několik spotřebičů $s_1 , s_2 , \dots , s_k$ a jeden
+   zdroj $z$. Rozdíl oproti běžné síti je jen v tom, že pro žádný z vrcholů $z, s_1 , s_2 , \dots , s_k$ nepožadujeme, aby se v
+   nich zachovával tok. Cílem je najít maximální tok v této síti. (Velikost toku definujeme obvyklým způsobem,
+   tedy jako rozdíl mezi tím, co vytéká ze zdroje, a tím, co do zdroje přitéká.)
+c) Máme dánu tokovou síť $(V, E, z, s, c)$ a hranu $e \in E$, cílem je najít tok $f$ (ne nutně maximální) takový, že
+   $f(e)$ je co největší.
+d) Máme dánu matici $M4 , jejíž prvky jsou nuly a jedničky. Cílem je najít v $M$ co největší množinu jedniček
+   takových, že žádné dvě nejsou ve stejném řádku ani ve stejném sloup
diff --git a/jk_web/teaching_24_kg1/__init__.py b/jk_web/teaching_24_kg1/__init__.py
index f7b653f3be27fef2f2e5bfb7327e2633ed19c02d..a44e3d3041671e160cf3396b51a6f6dd5fd5155a 100644
--- a/jk_web/teaching_24_kg1/__init__.py
+++ b/jk_web/teaching_24_kg1/__init__.py
@@ -73,6 +73,7 @@ with web.Module("teaching_24_kg1") as module:
                                        b._a(href="https://maso.mff.cuni.cz/")("MaSo"),
                                        ", vyberte si)."),
                              pdf=False)
+                    b<<lesson(7, "12. 11.", b._bucket("Projektivní roviny a toky v sítích."))
 
 
         return base_page(b.root)