Изменения

Перейти к: навигация, поиск

Примеры матроидов

19 631 байт добавлено, 19:39, 4 сентября 2022
м
rollbackEdits.php mass rollback
==Графовый Разноцветный матроид=={{Определение|id = def1|definition = Пусть <tex>X</tex> {{---}} множество элементов, каждый из которых раскрашен в некоторый цвет. Множество <tex>A \in I</tex>, если все элементы множества <tex>A</tex> разного цвета. Тогда <tex> M = \langle X, I\rangle</tex> называется '''разноцветным матроидом''' (англ. ''multicolored matroid'').}} {{Утверждение|statement = Разноцветный матроид является матроидом.|proof =Докажем аксиомы независимости для <tex> I </tex>. # <tex>\varnothing \in I</tex>#:В пустом множестве нет элементов <tex>\Rightarrow</tex> можем считать, что все элементы различных цветов.# <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex>#:Если в <tex>B</tex> все элементы разного цвета, то и в <tex>A \subset B</tex> это будет выполняться.# <tex>A \in I, \ B \in I, \ \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal \exists x \in B \setminus A, \ A \cup \{ x \} \in I</tex>#:В каждом из множеств <tex>A</tex> и <tex>B</tex> все элементы разных цветов. Так как <tex>\left\vert A \right\vert < \left\vert B \right\vert</tex>, значит в <tex>B</tex> есть хотя бы один элемент <tex>x</tex> такого цвета, которого нет среди элементов множества <tex>A</tex>, таким образом <tex>A \cup \{ x \} \in I</tex>}} ==Универсальный матроид==
{{Определение
|id = def2
|definition=
Пусть '''Универсальным матроидом''' (англ. ''uniform matroid'') называют объект <tex>G U_{nk} = \langle VX, E I \rangle</tex> - неориентированный граф. Тогда , где <tex>M X = \langle E{1, 2, 3, \dots, I n\rangle </tex>}, где <tex>I= \{A \subset X \mid \left\vert A \right\vert \leqslant k\}</tex> состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом.'''
}}
{{ЛеммаУтверждение|statement = Графовый Универсальный матроид является матроидом.
|proof =
Проверим выполнение аксиом независимости:
1) # <tex>\varnothing \in I</tex>#:<tex>\left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I</tex># <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex>#:<tex> \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant k \Rightarrow A \in I </tex># <tex>A \in I, \ B \in I, \ \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal \exists ~ x \in B \setminus A, \ A \cup \{ x \} \in I</tex>#:Так как <tex>\left\vert A \right\vert < \left\vert B \right\vert </tex> и числа в каждом множестве различны, найдётся такое число <tex> x \in B </tex>, которое не будет принадлежать меньшему по мощности множеству <tex> A </tex>.#:Рассмотрим <tex> A \cup \{ x \mathcal \} </tex>. <tex>\left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \left\vert A \cup \{ x \} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k \Rightarrow A \cup \{ x \} \in I</tex>}}
Пустое множество является ациклическим==Графовый матроид=={{Определение|definition=Пусть <tex>G = \langle V, E \rangle</tex> {{---}} неориентированный граф. Тогда <tex>M = \langle E, I \rangle </tex>, а значит входит в где <tex>I</tex>состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом''' (англ. ''graphic matroid'').}}
2) <tex>A \subset B, B \in I \Rightarrow A \in I</tex>{{Утверждение|statement = Графовый матроид является матроидом.|proof =Проверим выполнение аксиом независимости:
# <tex>\varnothing \in I</tex>#:Пустое множество является ациклическим, а значит входит в <tex>I</tex>.# <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex>#:Очевидно, что любой подграф леса, так же является лесом, а значит входит в <tex>I</tex> вследствие своей ацикличности.# <tex>A \in I, \ B \in I, \ \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal \exists ~ x \in B \setminus A, \ A \cup \{ x \} \in I</tex>#:В графе <tex>G_A = \langle V, A \rangle </tex> как минимум две компоненты связанности, иначе <tex>G_A</tex> являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.#:Допустим в <tex>B</tex> не существует ребра, соединяющего две различные компоненты связанности из <tex>G_A</tex>, значит любая компонента связанности из <tex>G_B</tex> целиком вершинно-входит в какую-либо компоненту из <tex>G_A</tex>. Рассмотрим любую компоненту связанности <tex>Q</tex> из <tex>G_A</tex>, у неё <tex>k</tex> вершин и <tex>k - 1</tex> рёбер. Теперь рассмотрим все компоненты связанности <tex>P_i</tex> из <tex>G_B</tex>, вершинно-входящие в <tex>Q</tex>, пусть их <tex>m</tex> штук, тогда суммарное количество рёбер из <tex>P_i</tex> равно <tex>k - m</tex>, что не превосходит <tex>k - 1</tex> (количество рёбер в <tex>Q</tex>). Просуммируем неравенство по всем компонентам связанности из <tex>G_A</tex> и получим <tex>\left\vert A \right\vert \geqslant \left\vert B \right\vert</tex>, что противоречит условию. Значит предположение не верно, и в <tex>B</tex> существует искомое ребро <tex>x</tex> из разных компонент связанности <tex>G_B</tex>.}}
3) <tex>\mid A \mid < \mid B \mid \Rightarrow \mathcal ==Матричный матроид=={9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I</tex>Определение|definition=В графе Пусть <tex>G_A = \langle V, A \rangle </tex> как минимум две компоненты связанности, иначе {{---}} векторное пространство над телом <tex>G_AF</tex> являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью. Допустим в , пусть набор векторов <tex>B</tex> не существует ребраV_i = \{ v_1, соединяющего две различные компоненты связанности из <tex>G_A</tex>\ \dots, значит любая компонента связанности из <tex>G_B</tex> целиком вершинно-входит в какую-либо компоненту из <tex>G_A\ v_n\}</tex>. Рассмотрим любую компоненту связанности Q из пространства <tex>G_A</tex>, у неё <tex>kV</tex> вершин и является носителем <tex>k - 1X</tex> рёбер. Теперь рассмотрим все компоненты связанности Элементами независимого множества <tex>P_iI</tex> данного матроида являются множества линейно независимых векторов из набора <tex>G_B</tex> вершинно-входящие в <tex>Q</tex>v_ 1, пусть их <tex>m</tex> штук\ \dots, тогда суммарное кол-во рёбер из равно <tex>k - m</tex> что не превосходит <tex>k - 1</tex> (кол-во рёбер в <tex>Q\ v_n</tex>). Просуммируем неравенство по всем компонентам связанности из <tex>G_A</tex> и получим Тогда <tex>M = \mid A langle V_i, I \mid > \mid B \midrangle </tex> что протеворечит условию, называется '''матричным матроидом''' (англ. Значит предположение не верно и в <tex>B</tex> существует искомое ребро <tex>x</tex> из разных компонент связанности <tex>G_B</tex>''vector matroid'')}} {{Утверждение|statement = Матричный матроид является матроидом.|proof = Проверим выполнение аксиом независимости:
# <tex>\varnothing \in I</tex>
#:Множество в котором нет векторов является линейно-независимым.
# <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex>
#:Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.
# <tex>A \in I, \ B \in I, \ \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \exists ~ x \in B \setminus A, \ A \cup \{ x \} \in I</tex>
#:Так как <tex>A \in I</tex>, то <tex>\dim \mathcal{L}(A) = \left\vert A \right\vert</tex>. По условию <tex>\left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)</tex>, то есть <tex>x \notin A</tex>. Тогда множество <tex> A \cup \{ x \} </tex> линейно-независимо по определению линейной оболочки.
}}
{{Определение
|definition=
Пусть <tex>G = \langle X, Y, E \rangle</tex> {{-- -}} двудольный граф. Тогда <tex>M = \langle X, I = \mathcal{f} A \subset X \mid \exists </tex> парасочетание паросочетание <tex> M: X P</tex>, покрывающее <tex>A \cap ends(} </tex>. Тогда <tex>M) = A \mathcal {g} langle X, I \rangle </tex> называют '''трансверсальным матроидом''' (англ.''transversal matroid'').
}}
{{ЛеммаУтверждение
|statement = Трансверсальный матроид является матроидом.
|proof =
Проверим выполнение аксиом независимости:
1) # <tex>\varnothing \in I</tex>#:Пустое паросочетание удовлетворяет условию.# <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex>#:Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания <tex>P</tex> ребра, концами которых являются вершины из множества <tex>B \setminus A</tex>. Оставшееся множество ребер будет являться паросочетанием, покрывающим <tex>A</tex>. Значит <tex> A \in I </tex>.# <tex>A \in I, \ B \in I, \ \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \exists ~ x \in B \setminus A, \ A \cup \{ x \} \in I</tex>#:Раскрасим ребра из паросочетания, соответствующего <tex> B </tex> в синий цвет, а соответствующего <tex> A </tex> {{---}} в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится <tex> \left\vert B \setminus A \right\vert </tex> ребер синего цвета, <tex> \left\vert A \setminus B \right\vert </tex> ребер красного цвета, и будет выполняться соотношение <tex> \left\vert B \setminus A \right\vert > \left\vert A \setminus B \right\vert</tex>.#:Рассмотрим подграф <tex> H </tex>, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам {{---}} синему и красному, либо одному {{---}} синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь <tex> H' </tex>. Поменяем в <tex> H' </tex> синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид <tex>A \cup \{ x \} </tex>, где <tex> x \in B \setminus A </tex>. Что значит, что <tex> A \cup \{ x \} \in I</tex>.}} ==Матроид паросочетаний=={{Определение|definition=Пусть <tex>G = \langle V, E \rangle</tex> {{---}} неориентированный граф. <tex>I = \{ A \subset V \mid \exists</tex> паросочетание <tex>P</tex>, покрывающее <tex>A \}</tex>. Тогда <tex>M = \langle V, I \rangle </tex> называют '''матроидом паросочетаний''' (англ. ''matching matroid'').}}
Пустое парасочетание удовлетворяет условию{{Утверждение|statement = Матроид паросочетаний является матроидом.|proof =Проверим выполнение аксиом независимости:
2) # <tex>\varnothing \in I</tex>#:Пустое паросочетание удовлетворяет условию.# <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex>#:Удалим из исходного паросочетания <tex>P</tex> ребра, концами которых являются вершины из множества <tex>B \setminus A</tex>. Оставшееся множество ребер будет являться паросочетанием, покрывающим <tex>A</tex>. Значит <tex>A \in I</tex>.# <tex>A \in I, \ B \in I, \ \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \exists ~ x \in B \setminus A, \ A \cup \{ x \} \in I</tex>#:Пусть паросочетание <tex>P_A</tex> покрывает множество <tex>A</tex>, <tex>P_B</tex> {{---}} множество <tex>B</tex>.#:Все вершины, принадлежащие <tex>A \cap B</tex> покроем ребрами из паросочетания <tex>P_B</tex>. #:Так как <tex>\left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A</tex>#:Рассмотрим три возможных случая:## <tex>\exists xy \in P_A, \ y \in A \Rightarrow P_A</tex> покрывает <tex>A \cup \{ x \} \Rightarrow A \cup \{ x \} \in I</tex>## <tex>\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A</tex>. Мы можем добавить в <tex>A</tex> вершину <tex>x</tex> (или <tex>y</tex>), а в <tex>P_A</tex> ребро <tex>xy</tex>. Тогда паросочетание <tex>P_A \cup xy</tex> покрывает <tex>A \cup \{ x \} \Rightarrow A \cup \{ x \} \in I </tex>## Если первые два случая не выполнились, значит <tex>\forall x \in B \setminus A</tex> <tex>\exists y \notin A, \ \notin B: \exists xy \in P_B</tex>. Обозначим множество таких <tex>y</tex> за <tex>C, \ \left\vert C \right\vert = \left\vert B \setminus A \right\vert > \left\vert A \setminus B \right\vert</tex>. Таким образом в <tex>C</tex> найдется хотя бы одна вершина <tex>y</tex>, не покрытая паросочетанием <tex>P_A</tex>. Тогда паросочетание <tex>P_A \cup xy</tex> покрывает <tex>A \cup \{ x \} \Rightarrow A \cup \{ x \} \in I</tex> }}
Подмножество парасочетания также является парасочетанием. Удалим из исходного парасочетания ==Матроид разбиений=={{Определение|definition=Пусть <tex>X = \bigcup\limits_{i=_1}^n X_i</tex>, при этом <tex>MX_i \cap X_j = 0</tex> ребра, концами которых являются вершины из множества <tex>B \setminus Aforall i \neq j</tex>. Оставшееся множество ребер будет являться парасочетанием, которое обозначим за и <tex>M'k_1 \dots k_n</tex>{{---}} положительные целые числа. И будет выполняться условие <tex> I = \{ A \subset X \mid \left\vert A \cap ends(M') = A X_i \right\vert \leqslant k_i, \ \forall i: 1 \leqslant i \leqslant n \} </tex> , что значит, . Тогда <tex> A M = \in langle X, I \rangle </tex>называют '''матроидом разбиений''' (англ.''partition matroid'')}}
3) <tex>\mid A \mid < \mid B \mid \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I</tex>Утверждение|statement = Матроид разбиений является матроидом.|proof = Проверим выполнение аксиом независимости:
# <tex>\varnothing \in I</tex>
#:<tex>\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I</tex>
# <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex>
#:<tex>A \subset B, \ \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I</tex>
# <tex>A \in I, \ B \in I, \ \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \exists ~ x \in B \setminus A, \ A \cup \{ x \} \in I</tex>
#:Пусть <tex>\forall x \in B \setminus A, \ A \cup \{ x \} \notin I \Rightarrow \exists X_j, \ k_j: \left\vert A \cup \{ x \} \cap X_j \right\vert > k_j</tex>, но так как <tex>A \in I</tex>, то есть <tex> \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j</tex> и <tex>x \in X_j</tex>. Из последнего следует, что <tex>\left\vert B \setminus A \right\vert \subset X_j</tex>.
#:<tex>\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j</tex>, а <tex>\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert</tex>. Так как <tex>\left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert < \left\vert B \setminus A \right\vert</tex>, тогда <tex>\left\vert B \cap X_j \right\vert > k_j</tex>, но <tex>B \in I</tex>, противоречие.
}}
==Бинарный матроид==
{{Определение
|definition=
Матроид <tex>M</tex> '''представим над полем <tex>F</tex>''', если он [[Определение матроида#def5| изоморфен]] некоторому векторному матроиду над этим полем.
}}
==Универсальный матроид==
{{Определение
|definition=
'''Универсальным матроидомБинарный матроид''' называют объект (англ. ''binary matroid'') {{---}} матроид, представимый над полем целых чисел по модулю <tex>U_n,_k = \langle X = \{1, 2, 3, ..., n\}, I = \{A| \mid A \mid \leq k\} \rangle </tex>.
}}
{{ЛеммаУтверждение|statement = Универсальный Графовый матроид является матроидомбинарным.|proof =Проверим выполнение аксиом независимостиСоставим матрицу инцидентности <tex>A = (a_{ij})</tex> для графа <tex>G = \langle V, E \rangle</tex>. Строки этой матрицы соответствуют вершинам графа, а столбцы {{---}} ребрам. * Если <tex>j</tex>-ое ребро есть петля, инцидентная <tex>i</tex>-ой вершине, то <tex>a_{ij} = 0</tex>.* Если <tex>i</tex>-ая вершина инцидентна <tex>j</tex>-ому ребру, то <tex>a_{ij} = 1</tex> * Иначе <tex>a_{ij} = 0</tex>Необходимо доказать, что если мы возьмем множество ребер <tex>A \in I</tex>, то множество столбцов матрицы инцидентности, соответствующее выбранным ребрам, линейно-независимо, и наоборот, если мы возьмем линейно-независимое множество столбцов, то соответствующее ему множество ребер, не будет образовывать цикла. Докажем эквивалентное утверждение:столбцы линейно-зависимы тогда и только тогда, когда соответствующие им ребра графа <tex>G</tex> содержат цикл. <tex>\Rightarrow</tex> Пусть столбцы линейно-зависимы, докажем, что соответствующие ребра графа содержат цикл. Если некоторые столбцы матрицы <tex>A</tex> линейно-зависимы, то среди них можно выделить столбцы с нулевой суммой. Есть два варианта: # Cреди выбранных столбцов есть нулевой, тогда в соответствующем множестве ребер есть петля, то есть цикл.# У нас есть столбец <tex>S</tex>, который является суммой остальных столбцов. Этому столбцу соответствует ребро <tex>uv</tex>. Начнем с вершины <tex>u</tex> переходить по другим ребрам из <tex>R \setminus uv</tex> (по каждому ребру проходим только один раз), в итоге мы придем в вершину <tex>v</tex>, так для остальных вершин у нас обязательно будет четное число выходящих из них ребер, потому что иначе на позиции этой вершины в столбце <tex>S</tex> была бы единица (а единицы у нас только на позициях <tex>u</tex> и <tex>v</tex>). Таким образом мы показали, что существует два пути между вершинами <tex>u</tex> и <tex>v</tex> (тот который мы построили и путь по ребру <tex>uv</tex>), значит в выбранном множестве ребер есть цикл.
1) <tex>\varnothing \in ILeftarrow</tex>Пусть на множестве ребер есть цикл, докажем линейную-зависимость соответствующих столбцов.
Если среди данного множества ребер есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов.Если петли нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы <tex> \mid \varnothing \mid = 0 \leq k \Rightarrow \varnothing \in IA</tex>содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю <tex>2</tex> указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов.}}
2) ==Другие матроиды==Несложно доказать, что следующие конструкции тоже являются матроидами.{{Определение|definition='''Матроид с выкинутым элементом'''. Пусть <tex>M = \langle X, I\rangle</tex> {{---}} матроид. Определим <tex>M\setminus x = \langle X \setminus x, \ \{A \subset B, B mid A \in I , \ x \not\Rightarrow in A \in I}\rangle</tex>. Для любых <tex>M</tex> и <tex>x</tex> получившаяся конструкция <tex>M\setminus x</tex>является матроидом. }}
{{Определение|definition='''Матроид, стянутый по элементу'''. Пусть <tex> M = \mid A langle X, I\mid rangle</tex> {{---}} матроид. Определим <tex>M/x = \leq langle X \mid B setminus x, \mid \leq k {A \Rightarrow setminus x \mid A \mid in I, \leq k x \Rightarrow in A \}\rangle</tex>. Для любых <tex>M</tex> и <tex>x</tex>, таких что <tex>\{x\}\in I ,</tex> получившаяся конструкция <tex>M/x</tex>является матроидом.}}
3) {{Определение|definition=Пусть <tex>M = \mid A langle X, I \mid rangle</tex> {{---}} матроид. Обозначим как <tex>M|_k</tex> следующую констркуцию: < tex>M|_k = \mid B langle X, \mid \Rightarrow {A \mathcal {9} x mid A \in B \setminus AI, |A | \cup leqslant k \mathcal{f} x \mathcal {g} \in Irangle</tex>, тогда <tex>M|_k</tex>называют '''урезанным матроидом'''.}}
Так как {{Определение|definition='''Полный матроид''' {{---}} матроид <tex>M = \mid A \mid < \mid B \mid </tex> и числа в каждом множестве различныlangle X, найдётся такое число <tex> x \in B </tex>, которое не будет принадлежать меньшему по мощности множеству <tex> A </tex>.Рассмотрим <tex> A \cup \mathcal{fI} x \mathcal {g} rangle</tex>. такой, что <tex>\mid A \mid < \mid B \mid \Rightarrow \mid A \cup \mathcal{f} x \mathcal {gI} \mid = \mid A \mid + 1 \leq \mid B \mid \leq k \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I2^X</tex>.}}
{{Определение
|definition= '''Тривиальный матроид''' {{---}} матроид <tex> M = \langle X, \mathcal{I} \rangle</tex> такой, что <tex>\mathcal{I} = \varnothing </tex>.
}}
 
==См. также==
* [[Определение матроида]]
* [[Прямая сумма матроидов]]
* [[Двойственный матроид]]
 
==Источники==
* Асанов М. О., Баранский В. А., Расин В. В. {{---}} Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)
* Уилсон Р. {{---}} Введение в теорию графов (глава 9. Теория матроидов)
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]
 
[[Категория: Алгоритмы и структуры данных]]
[[Категория: Матроиды]]
[[Категория: Основные факты теории матроидов]]
1632
правки

Навигация