︠dcd8e42c-017d-4d52-8cf6-b81ee9171e8bi︠ %html

Będziemy zajmować się kompleksami simplicjalnymi.

Kompleksy takie złożone są z punktów i krawędzi miedzy nimi.

Najprostsza definicja kompleksu polega na podaniu polecenia jak poniżej:

︡4727e765-13f8-481b-8681-2ce198f16b63︡{"html": "

B\u0119dziemy zajmowa\u0107 si\u0119 kompleksami simplicjalnymi.

\n

Kompleksy takie z\u0142o\u017cone s\u0105 z punktów i kraw\u0119dzi miedzy nimi.

\n

Najprostsza definicja kompleksu polega na podaniu polecenia jak poni\u017cej:

"}︡ ︠9d7fb738-e2ce-451a-b57a-aa555481b69es︠ Z=SimplicialComplex([[0,1,2,3]]);Z ︡ea9973a7-0148-45ea-8218-380f3c3c8ec8︡{"stdout":"Simplicial complex with vertex set (0, 1, 2, 3) and facets {(0, 1, 2, 3)}\n"}︡{"done":true}︡ ︠b38066b2-883c-4399-b1bf-fe4c1699c6e5i︠ %html

Ponieważ nie wykonaliśmy żadnych "wycinanek" powstał kopmpleks simplicjalny złozony z wszystkich możliwych krawędzi pomiedzy wszystkimi wymienionymi wierzchołkami.

Zostały dodane nie tylko krawedzie  szkielet) ale także wszystkie podzbiory zbioru generującego, czyli pojawiły się trójkąty, a nawet jeden czworościan, obejmujący cały zbiór wierzchołków).

Ponizsze polecenie pokazuje jakie mamy "ściany" w naszym kompleksie.

Warto zwrócić uwagę, że wydruk pokazuje ściany pogrupowane wg. wymiaru.

︡bc39df0a-feca-4c7c-8936-04d45de1a293︡{"html": "

Poniewa\u017c nie wykonali\u015bmy \u017cadnych \"wycinanek\" powsta\u0142 kopmpleks simplicjalny z\u0142ozony z wszystkich mo\u017cliwych kraw\u0119dzi pomiedzy wszystkimi wymienionymi wierzcho\u0142kami.

\n

Zosta\u0142y dodane nie tylko krawedzie  szkielet) ale tak\u017ce wszystkie podzbiory zbioru generuj\u0105cego, czyli pojawi\u0142y si\u0119 trójk\u0105ty, a nawet jeden czworo\u015bcian, obejmuj\u0105cy ca\u0142y zbiór wierzcho\u0142ków).

\n

Ponizsze polecenie pokazuje jakie mamy \"\u015bciany\" w naszym kompleksie.

\n

Warto zwróci\u0107 uwag\u0119, \u017ce wydruk pokazuje \u015bciany pogrupowane wg. wymiaru.

"}︡ ︠db6fe923-2166-4577-9e62-beab24d09451s︠ Z.faces() ︡9d9e17cf-c144-4346-bfb7-f5b8d3fcdfad︡{"stdout":"{0: set([(3,), (0,), (1,), (2,)]), 1: set([(2, 3), (0, 2), (1, 3), (1, 2), (0, 3), (0, 1)]), 2: set([(0, 2, 3), (0, 1, 2), (1, 2, 3), (0, 1, 3)]), 3: set([(0, 1, 2, 3)]), -1: set([()])}\n"}︡{"done":true}︡ ︠aeeb0b01-7285-4030-8c5d-a80438932daci︠ %html

Możemy narysowac nasz kompleks.

Patrząc uważnie, mozna dostzec że otrzymaliśmy czworoscian.

︡bdbcaaaf-d813-4315-8042-d5636ff964d0︡{"html": "

Mo\u017cemy narysowac nasz kompleks.

\n

Patrz\u0105c uwa\u017cnie, mozna dostzec \u017ce otrzymali\u015bmy czworoscian.

"}︡ ︠146e14a6-7511-49e8-bd53-389a1e5a6120s︠ Z.graph() ︡63db86a3-70dd-4a37-aa38-6b98435f3c11︡{"d3":{"data":{"charge":-120,"directed":false,"edge_labels":false,"edge_thickness":2,"gravity":0.04,"height":null,"link_distance":50,"link_strength":1,"links":[{"color":"#aaa","curve":0,"name":"","source":0,"strength":0,"target":1},{"color":"#aaa","curve":0,"name":"","source":0,"strength":0,"target":2},{"color":"#aaa","curve":0,"name":"","source":0,"strength":0,"target":3},{"color":"#aaa","curve":0,"name":"","source":1,"strength":0,"target":2},{"color":"#aaa","curve":0,"name":"","source":1,"strength":0,"target":3},{"color":"#aaa","curve":0,"name":"","source":2,"strength":0,"target":3}],"loops":[],"nodes":[{"group":"0","name":"0"},{"group":"0","name":"1"},{"group":"0","name":"2"},{"group":"0","name":"3"}],"pos":[],"vertex_labels":true,"vertex_size":7,"width":null},"viewer":"graph"}}︡{"done":true}︡ ︠e38bff64-d5d3-471d-9d0f-3be0810b5fb9i︠ %html

Będziemy bawić się kompleksami dla 3, 4-rech i 5 punktów.

Dla porzadku zacznijmy od 3: [0,1,2]

Zamaist startować z poleceniem SimplicialComplex([0,1,2]), możemy wystartować od prostrszego polecenia Simplex(3) kt©óe generuje 3-simplex, ale nasz kompleks bedzie dodatkow zawierał wszystkei jego ściany, aż do dna.

Robimy tak, gdyż jes tak oszczędniej: Simplex(10) jest krótsze niż SimoplicialComplex([0,1,2,3,4,5,6,7,8,9,10]).

Dodajemy wszystkei ściany gdyż obiekt Simplex(n) w Sage ma tylko n-1 wymiarowe ściany ( które mają swoje ściany, ale to zbyt niewygodne w operowaniu ścianami, prościej dodac je wszystkie i wygenerować kompleks)

︡ecb61227-398a-4ec5-9771-a8a73c129357︡{"html": "

B\u0119dziemy bawi\u0107 si\u0119 kompleksami dla 3, 4-rech i 5 punktów.

\n

Dla porzadku zacznijmy od 3: [0,1,2]

\n

Zamaist startowa\u0107 z poleceniem SimplicialComplex([0,1,2]), mo\u017cemy wystartowa\u0107 od prostrszego polecenia Simplex(3) kt©óe generuje 3-simplex, ale nasz kompleks bedzie dodatkow zawiera\u0142 wszystkei jego \u015bciany, a\u017c do dna.

\n

Robimy tak, gdy\u017c jes tak oszcz\u0119dniej: Simplex(10) jest krótsze ni\u017c SimoplicialComplex([0,1,2,3,4,5,6,7,8,9,10]).

\n

Dodajemy wszystkei \u015bciany gdy\u017c obiekt Simplex(n) w Sage ma tylko n-1 wymiarowe \u015bciany ( które maj\u0105 swoje \u015bciany, ale to zbyt niewygodne w operowaniu \u015bcianami, pro\u015bciej dodac je wszystkie i wygenerowa\u0107 kompleks)

"}︡ ︠6f5b0891-37e7-410d-b1fa-5d114cde9db6s︠ X3=SimplicialComplex(Simplex(3).faces());X3 ︡3933e96c-55eb-4896-873f-59bc3d9ff32d︡{"stdout":"Simplicial complex with vertex set (0, 1, 2, 3) and facets {(0, 2, 3), (0, 1, 2), (1, 2, 3), (0, 1, 3)}\n"}︡{"done":true}︡ ︠d5e9a1e4-a874-4c0c-a187-50bdd13eefcci︠ %html

Zerknijmy jakie to ścainy ma nasz kompleks:

︡01bc3332-6da3-4fba-93f2-e5263024c235︡{"html": "

Zerknijmy jakie to \u015bcainy ma nasz kompleks:

"}︡ ︠bfde5466-2e58-4154-9ad5-12f17968e26bs︠ X3.faces() ︡fb29d037-04e1-45f0-b147-fb7d7a9286bc︡{"stdout":"{0: set([(3,), (0,), (1,), (2,)]), 1: set([(2, 3), (0, 2), (1, 3), (1, 2), (0, 3), (0, 1)]), 2: set([(0, 2, 3), (0, 1, 2), (1, 2, 3), (0, 1, 3)]), -1: set([()])}\n"}︡{"done":true}︡ ︠b6f25067-e779-4049-9497-245302fbf1ddi︠ %html

Wykonamy teraz nastepującą operację na simpleksie $X^3$: usuniemy ścianę 0 ( czyli wierzchołek) i zobaczymy co nam zostanie.

Powstały obiekt nazwijmy $X^3_0$

︡9db32795-9356-48a1-bc4d-80321e868891︡{"html": "

Wykonamy teraz nastepuj\u0105c\u0105 operacj\u0119 na simpleksie $X^3$: usuniemy \u015bcian\u0119 0 ( czyli wierzcho\u0142ek) i zobaczymy co nam zostanie.

\n

Powsta\u0142y obiekt nazwijmy $X^3_0$

"}︡ ︠76884f5e-931e-4744-aa10-ac7befc3e9b6s︠ X3_0=X3.remove_face([0]);X3_0 ︡253e511f-16d3-4046-8ad8-57d3f1c46685︡{"stdout":"Simplicial complex with vertex set (1, 2, 3) and facets {(1, 2, 3)}\n"}︡{"done":true}︡ ︠9adda88a-e34d-40f2-b237-4f495e9031c0i︠ %html

Jak widać powyżej dostaliśmy kompleks simplicjalny złozony z punktów (1,2,3), który posiada tylko jedna ścanę o maksymalnym wymiarze: mianowicie (1,2,3), wraz z wszystkimi jego "ścanami".

Wyświetlimy sobie wszystkei śiany obiektu $X^3_0$ kóry otrzymalismy.

︡093cb745-6362-4227-a615-2f494e2b848a︡{"html": "

Jak wida\u0107 powy\u017cej dostali\u015bmy kompleks simplicjalny z\u0142ozony z punktów (1,2,3), który posiada tylko jedna \u015bcan\u0119 o maksymalnym wymiarze: mianowicie (1,2,3), wraz z wszystkimi jego \"\u015bcanami\".

\n

Wy\u015bwietlimy sobie wszystkei \u015biany obiektu $X^3_0$ kóry otrzymalismy.

"}︡ ︠456afcb3-7849-4eea-99a6-cee39c6846bcs︠ X3_0.faces() ︡fcfee95f-987e-4cbd-90cd-b702809192e7︡{"stdout":"{0: set([(2,), (3,), (1,)]), 1: set([(1, 3), (1, 2), (2, 3)]), 2: set([(1, 2, 3)]), -1: set([()])}\n"}︡{"done":true}︡ ︠5dbea009-3cda-4fa9-93db-ad80b3b9f202i︠ %html

Sage niestety usuwa ściany z oryginalnego kompleksu $X^3$ ( po opercji usunięcia ściany 0, $X^3$ zostal zmodyfikowany).

Aby wykonać kolejne operacje, odnawiamy $X^3$ do jego oryginalnej postaci.

︡dc76a047-e3de-4fed-af12-52931cb18722︡{"html": "

Sage niestety usuwa \u015bciany z oryginalnego kompleksu $X^3$ ( po opercji usuni\u0119cia \u015bciany 0, $X^3$ zostal zmodyfikowany).

\n

Aby wykona\u0107 kolejne operacje, odnawiamy $X^3$ do jego oryginalnej postaci.

"}︡ ︠abbe174f-0fbd-4d31-9d79-f921a2672223s︠ X3=SimplicialComplex(Simplex(3).faces());X3 ︡abc6765d-30cf-4d2c-9bfa-e276b1701e07︡{"stdout":"Simplicial complex with vertex set (0, 1, 2, 3) and facets {(0, 2, 3), (0, 1, 2), (1, 2, 3), (0, 1, 3)}\n"}︡{"done":true}︡ ︠1554e625-d03a-4aad-ba66-8d4b7fd49a97i︠ %html

Powyżej usuwaliśmy ścianę ( wierzchołek) "0".

Teraz usuniemy z pełnego $X^3$ wszystkei inne ściany poza 0.

Wynikowy obiekt operacji oznaczymy $X^3_{123}$

︡fac1bce5-944f-4126-b5f5-0cfaf85fe27f︡{"html": "

Powy\u017cej usuwali\u015bmy \u015bcian\u0119 ( wierzcho\u0142ek) \"0\".

\n

Teraz usuniemy z pe\u0142nego $X^3$ wszystkei inne \u015bciany poza 0.

\n

Wynikowy obiekt operacji oznaczymy $X^3_{123}$

"}︡ ︠a7e26fb5-ab41-4ac9-ad9a-cffc07bfe90bs︠ X3_123=X3.remove_face([1]).remove_face([2]).remove_face([3]);X3_123 ︡6abf8387-bd61-402a-b7e1-11e4a6ed6696︡{"stdout":"Simplicial complex with vertex set (0,) and facets {(0,)}\n"}︡{"done":true}︡ ︠d27220ba-efb3-44fc-a110-69e45300707fi︠ %html

Zgodnie z oczekiwaniami wynik to pojedynczy wierzchołek 0, co można sprawdzić wyświetlając ściany $X^3_{123}$

︡09d09e98-f592-4926-8130-26f49e5e95bb︡{"html": "

Zgodnie z oczekiwaniami wynik to pojedynczy wierzcho\u0142ek 0, co mo\u017cna sprawdzi\u0107 wy\u015bwietlaj\u0105c \u015bciany $X^3_{123}$

"}︡ ︠f16ccede-c1db-429b-bd4b-e80153929403s︠ X3_123.faces() ︡487e372e-4553-4e38-ae21-667858bd95b6︡{"stdout":"{0: set([(0,)]), -1: set([()])}\n"}︡{"done":true}︡ ︠832beddd-2d48-4a59-af88-e45bd3976d02i︠ %html

Mamy zatem nastepującą sytuację. Niech $D_i$ oznacza usunięcie ściany $i$

Operacje które wykonalismy były zatem takie:

$$D_0 X^3 = X^3_0$$

oraz

$$D_1 D_2 D_3 X^3 = X^3_{123}$$

 

Z prostego rachunku kombinatorycznego wynika, że jest tyle samo wierzchołków $n$ co podzbiorów $(n-1)$ eleemntowych ( wybór wierzchołka to to samo co wybór pozostałych $n-1$ wierzchołków.

Oznacza to że mamy jednoznaczne odwzorowanie zbioru powstałego przez działanie "operatora" $D_i$ i zbioru powstałego przez działanie $n-1$ pozostałych operatorów $D_{i_1} D_{i_2} ...D_{i_{n-1}}$ gdzie $i \notin \{ i_{1} \dots i_{n-1} \}$

︡7d280e6e-59fc-4401-949b-53350020ea07︡{"html": "

Mamy zatem nastepuj\u0105c\u0105 sytuacj\u0119. Niech $D_i$ oznacza usuni\u0119cie \u015bciany $i$

\n

Operacje które wykonalismy by\u0142y zatem takie:

\n

$$D_0 X^3 = X^3_0$$

\n

oraz

\n

$$D_1 D_2 D_3 X^3 = X^3_{123}$$

\n

 

\n

Z prostego rachunku kombinatorycznego wynika, \u017ce jest tyle samo wierzcho\u0142ków $n$ co podzbiorów $(n-1)$ eleemntowych ( wybór wierzcho\u0142ka to to samo co wybór pozosta\u0142ych $n-1$ wierzcho\u0142ków.

\n

Oznacza to \u017ce mamy jednoznaczne odwzorowanie zbioru powsta\u0142ego przez dzia\u0142anie \"operatora\" $D_i$ i zbioru powsta\u0142ego przez dzia\u0142anie $n-1$ pozosta\u0142ych operatorów $D_{i_1} D_{i_2} ...D_{i_{n-1}}$ gdzie $i \\notin \\{ i_{1} \\dots i_{n-1} \\}$

"}︡ ︠e318b044-85fc-45ca-b4f6-00aea669d833s︠ X3=SimplicialComplex(Simplex(3).faces());X3 ︡cdcc3752-f4fc-43ac-8095-08cb4d8afb7c︡{"stdout":"Simplicial complex with vertex set (0, 1, 2, 3) and facets {(0, 2, 3), (0, 1, 2), (1, 2, 3), (0, 1, 3)}\n"}︡{"done":true}︡ ︠c470d6e1-44fd-45b8-b54e-31411ef7983bi︠ %html

W szczególności oznacza to, że zbudowaliśmy odwzorowanie pomiędzy wierzchołkami ( simpleksami 0-wymairowymi) i ścianmi ( simpleksami) $n-1$ wymiarowymi.

Sprawdźmy że jest ich tyle samo:

︡403d13c3-5edb-448f-9a23-b48136bd5cf2︡{"html": "

W szczególno\u015bci oznacza to, \u017ce zbudowali\u015bmy odwzorowanie pomi\u0119dzy wierzcho\u0142kami ( simpleksami 0-wymairowymi) i \u015bcianmi ( simpleksami) $n-1$ wymiarowymi.

\n

Sprawd\u017amy \u017ce jest ich tyle samo:

"}︡ ︠9c8822b5-b670-4251-95d8-33d718580396s︠ X3.faces() ︡e6fee54f-b739-494d-abb6-754e0a040d9e︡{"stdout":"{0: set([(3,), (0,), (1,), (2,)]), 1: set([(2, 3), (0, 2), (1, 3), (1, 2), (0, 3), (0, 1)]), 2: set([(0, 2, 3), (0, 1, 2), (1, 2, 3), (0, 1, 3)]), -1: set([()])}\n"}︡{"done":true}︡ ︠8a7c9302-3bdf-41a2-b589-c91e961610a5i︠ %html

Oznaczmy tak zdefiniowane odwzorowanie litera $L$

mamy wówczas ( na razie tylko dla pojedyńczych wystapień operatora $D_i$:

$$D_i X^n = L D_{i_1} D_{i_2} ...D_{i_{n-1}} X^n$$ gdzie $i \notin \{ i_{1} \dots i_{n-1} \}$

W dalszej kolejności sprawdzimy jak pod działaneuim operatora $D_i$ zachowuja się simpleksy, kiedy operatory działają parami.

$X^3_{01}=D_0 D_1 X^3$ itd.

︡ab42e4d5-a809-4270-9052-503d84eea18c︡{"html": "

Oznaczmy tak zdefiniowane odwzorowanie litera $L$

\n

mamy wówczas ( na razie tylko dla pojedy\u0144czych wystapie\u0144 operatora $D_i$:

\n

$$D_i X^n = L D_{i_1} D_{i_2} ...D_{i_{n-1}} X^n$$ gdzie $i \\notin \\{ i_{1} \\dots i_{n-1} \\}$

\n

W dalszej kolejno\u015bci sprawdzimy jak pod dzia\u0142aneuim operatora $D_i$ zachowuja si\u0119 simpleksy, kiedy operatory dzia\u0142aj\u0105 parami.

\n

$X^3_{01}=D_0 D_1 X^3$ itd.

"}︡ ︠a520e390-fd62-4735-8cbd-2ef649e199ecs︠ X3_01=X3.remove_face([0]).remove_face([1]);X3_01 ︡d8034dbb-338c-4bbf-be11-5aea4acce4b1︡{"stdout":"Simplicial complex with vertex set (2, 3) and facets {(2, 3)}\n"}︡{"done":true}︡ ︠eda2ae35-b15b-4caa-8634-c242fb5cc4f2s︠ X3=SimplicialComplex(Simplex(3).faces());X3 ︡e557e79b-39ca-4940-b731-97ff389f3e20︡{"stdout":"Simplicial complex with vertex set (0, 1, 2, 3) and facets {(0, 2, 3), (0, 1, 2), (1, 2, 3), (0, 1, 3)}\n"}︡{"done":true}︡ ︠6db1c777-c118-48e1-bbce-3cd89bdcae78i︠ %html

A teraz operacja komplementarna:

$X^3_{23}=D_2 D_3 X^3$

︡db5b900c-80e9-469a-9c43-19212cd35691︡{"html": "

A teraz operacja komplementarna:

\n

$X^3_{23}=D_2 D_3 X^3$

"}︡ ︠0147e64f-536f-43de-92f4-c7702f8c99e1s︠ X3_23=X3.remove_face([2]).remove_face([3]);X3_23 ︡be458980-c333-4eb4-8a3e-7ae478dcbba3︡{"stdout":"Simplicial complex with vertex set (0, 1) and facets {(0, 1)}\n"}︡{"done":true}︡ ︠45e0f711-94bb-4659-ac0b-ced332fccb7fi︠ %html

Porównajmy ściany wyników $X^3_{01}$ oraz $X^3_{23}$

︡2a0a928e-042f-4447-b6c6-c8073f7dd39c︡{"html": "

Porównajmy \u015bciany wyników $X^3_{01}$ oraz $X^3_{23}$

"}︡ ︠8e54ba80-9673-4f43-aba3-e6d10a0fa3e8s︠ X3_01.faces() ︡40e49b6f-cc21-491d-b064-9ca77cd90272︡{"stdout":"{0: set([(2,), (3,)]), 1: set([(2, 3)]), -1: set([()])}\n"}︡{"done":true}︡ ︠0f7ec9ba-3844-47ce-9810-458b42a2ac38s︠ X3_23.faces() ︡566e3fcd-74f5-42c0-9651-84f0009eec27︡{"stdout":"{0: set([(0,), (1,)]), 1: set([(0, 1)]), -1: set([()])}\n"}︡{"done":true}︡ ︠88337d1e-244f-4e45-bc73-5a97cb52b5b4i︠ %html

Jak widac powyżej mamy taka samą liczbę ścian 2 wymiarowych, konketnie jest to w obu wypadkach jedna ściana.

Możemy uważać, że jest to definicja działanai odwzorowanie $L$ w ogólniejszym przypadku par operatorów $D_i D_k$:

$$D_{p_1} D_{p_2} \dots D_{p_k} X^n = L D_{i_1} \dots D_{i_{n-k}} X^n$$

gdzie $p_{1}, \dots ,p_{k} \notin \{ {i_1}, i_{2}, \dots ,i_{n-k} \}$

To samo dla simplexu $X^4$ .

︡00df33c1-6c0c-43c3-99aa-c9d87d613a9c︡{"html": "

Jak widac powy\u017cej mamy taka sam\u0105 liczb\u0119 \u015bcian 2 wymiarowych, konketnie jest to w obu wypadkach jedna \u015bciana.

\n

Mo\u017cemy uwa\u017ca\u0107, \u017ce jest to definicja dzia\u0142anai odwzorowanie $L$ w ogólniejszym przypadku par operatorów $D_i D_k$:

\n

$$D_{p_1} D_{p_2} \\dots D_{p_k} X^n = L D_{i_1} \\dots D_{i_{n-k}} X^n$$

\n

gdzie $p_{1}, \\dots ,p_{k} \\notin \\{ {i_1}, i_{2}, \\dots ,i_{n-k} \\}$

\n\n

To samo dla simplexu $X^4$ .

"}︡ ︠9cb130fb-6288-4cd5-9c51-feb6d9fba617s︠ X4=SimplicialComplex(Simplex(4).faces());X4 ︡d0c805bc-8b62-437c-bccc-37b654d45118︡{"stdout":"Simplicial complex with vertex set (0, 1, 2, 3, 4) and 5 facets\n"}︡{"done":true}︡ ︠2ea594e8-f1ef-4cda-a761-1b17eef9443bs︠ X4_0=X4.remove_face([4]);X4_0; ︡c28324f1-ee53-4d39-8eab-94c739a636cc︡{"stdout":"Simplicial complex with vertex set (0, 1, 2, 3) and facets {(0, 1, 2, 3)}\n"}︡{"done":true}︡ ︠deb028e9-0284-4346-bfc1-ba2dd9015122s︠ X4_0.facets() ︡9f3dcf53-2957-4c51-b29e-4e578722f7be︡{"html":"
$\\left\\{\\left(0, 1, 2, 3\\right)\\right\\}$
"}︡{"done":true}︡ ︠4b6039ce-c09c-4cac-9af0-658465cb9d56s︠ X4_0.faces() ︡f9d54a54-c05f-4e89-a906-26a0e071a181︡{"stdout":"{0: set([(3,), (0,), (1,), (2,)]), 1: set([(2, 3), (0, 2), (1, 3), (1, 2), (0, 3), (0, 1)]), 2: set([(0, 2, 3), (0, 1, 2), (1, 2, 3), (0, 1, 3)]), 3: set([(0, 1, 2, 3)]), -1: set([()])}\n"}︡{"done":true}︡ ︠5df8bfb6-a203-4326-a23d-9b13f2760917s︠ X4=SimplicialComplex(Simplex(4).faces());X4 ︡086d0e0b-6b66-45c6-bb62-c58ea3e5e31d︡{"stdout":"Simplicial complex with vertex set (0, 1, 2, 3, 4) and 5 facets\n"}︡{"done":true}︡ ︠ce406e26-2dd5-4a6e-8610-ec29ea573a5es︠ X4_1234=X4.remove_face([1]).remove_face([2]).remove_face([3]).remove_face([4]);X4_1234; ︡033c6b30-3532-4774-882c-4be21f58891a︡{"stdout":"Simplicial complex with vertex set (0,) and facets {(0,)}\n"}︡{"done":true}︡ ︠16da9535-3f12-4552-b97a-34d901d94342i︠ %html

Jak widać mamy poniższą odpowiedniość pomiędzy ścianami simpleksów którym pousuwaliśmy wierzchołki.

Identycznie dla wszystkich kombinacji pojedyńczych wierzchołków.

︡5f14602d-1432-4e75-a56d-1f058f445d45︡{"html": "

Jak wida\u0107 mamy poni\u017csz\u0105 odpowiednio\u015b\u0107 pomi\u0119dzy \u015bcianami simpleksów którym pousuwali\u015bmy wierzcho\u0142ki.

\n

Identycznie dla wszystkich kombinacji pojedy\u0144czych wierzcho\u0142ków.

"}︡ ︠8a67dd7f-ed01-45c6-88f4-7f185a846eees︠ X4_0.facets() ︡3a3fd25e-022d-40ba-9b1e-a3283ff908cf︡{"html":"
$\\left\\{\\left(0, 1, 2, 3\\right)\\right\\}$
"}︡{"done":true}︡ ︠2f902f9a-eef2-46e5-b066-2b553ce35063s︠ X4_1234.facets() ︡6efb4bb5-d79b-4e73-8e4f-f3944f37a56d︡{"html":"
$\\left\\{\\left(0\\right)\\right\\}$
"}︡{"done":true}︡ ︠1c575dcf-a585-4042-b174-8c3971146452i︠ %html

Teraz dla par wierczhołków $X^4$

︡d86aac0e-99c5-486b-9745-5a54c991a112︡{"html": "

Teraz dla par wierczho\u0142ków $X^4$

"}︡ ︠e8444b1c-ac75-43a9-aa05-6f859b0725a7s︠ X4=SimplicialComplex(Simplex(4).faces());X4 ︡2e3712b3-b2d4-4103-8d5c-cb2c0a08c104︡{"stdout":"Simplicial complex with vertex set (0, 1, 2, 3, 4) and 5 facets\n"}︡{"done":true}︡ ︠bc5a1749-7e55-484c-afe5-25a10d6315b4s︠ X4_01=X4.remove_face([0]).remove_face([1]);X4_01 ︡d5508cfc-f660-4b62-8acd-63c6ef205ce9︡{"stdout":"Simplicial complex with vertex set (2, 3, 4) and facets {(2, 3, 4)}\n"}︡{"done":true}︡ ︠1e880b09-0a09-43cd-a3a5-398eabcd9b2es︠ X4_01.facets() ︡f0b21352-474b-4f9d-be79-c17e8575e6a7︡{"html":"
$\\left\\{\\left(2, 3, 4\\right)\\right\\}$
"}︡{"done":true}︡ ︠cf034cea-86a6-49af-864d-b821a778b698s︠ X4=SimplicialComplex(Simplex(4).faces());X4 ︡3b35c0b8-116e-471b-a324-df0e2eb77b40︡{"stdout":"Simplicial complex with vertex set (0, 1, 2, 3, 4) and 5 facets\n"}︡{"done":true}︡ ︠7cc898c3-0755-448d-af96-b8ca944334cas︠ X4_234=X4.remove_face([2]).remove_face([3]).remove_face([4]);X4_234 ︡424cbd25-7921-4755-868d-21c1d05b38f6︡{"stdout":"Simplicial complex with vertex set (0, 1) and facets {(0, 1)}\n"}︡{"done":true}︡ ︠56f393f6-c0ce-48c0-8f0f-5eb0ca021445s︠ X4_01.facets() ︡e0f39ed3-9228-4724-9b99-51d9b8ac3f5b︡{"html":"
$\\left\\{\\left(2, 3, 4\\right)\\right\\}$
"}︡{"done":true}︡ ︠8c52cc46-49c2-4738-8be1-1a82c0f1c8c8s︠ X4_234.facets() ︡66fc0bbb-6f99-495d-97bf-fc3426defc61︡{"html":"
$\\left\\{\\left(0, 1\\right)\\right\\}$
"}︡{"done":true}︡ ︠e50efe36-a851-4a07-98b1-10b007ae72fes︠ X4=SimplicialComplex(Simplex(4).faces());X4 ︡1e5411a1-8eb3-4882-8195-1653612f7b0c︡{"stdout":"Simplicial complex with vertex set (0, 1, 2, 3, 4) and 5 facets\n"}︡{"done":true}︡ ︠ce308a75-7e21-41b5-9e85-2af119b06580s︠ X4.faces() ︡bdd645e5-6d5e-4d0c-a40a-cbeaf2e32c34︡{"stdout":"{0: set([(4,), (3,), (0,), (1,), (2,)]), 1: set([(2, 4), (1, 2), (0, 4), (1, 4), (3, 4), (2, 3), (0, 2), (1, 3), (0, 3), (0, 1)]), 2: set([(0, 2, 3), (0, 3, 4), (0, 1, 3), (2, 3, 4), (0, 2, 4), (1, 2, 4), (1, 3, 4), (0, 1, 4), (0, 1, 2), (1, 2, 3)]), 3: set([(1, 2, 3, 4), (0, 1, 3, 4), (0, 1, 2, 3), (0, 2, 3, 4), (0, 1, 2, 4)]), -1: set([()])}\n"}︡{"done":true}︡ ︠d6a6e765-0c47-4eb5-806e-afb5adeaa2eas︠ X5=SimplicialComplex(Simplex(5).faces());X5 ︡e6056fee-12f5-4c64-8d2c-404092073414︡{"stdout":"Simplicial complex with vertex set (0, 1, 2, 3, 4, 5) and 6 facets\n"}︡{"done":true}︡ ︠22b2fe13-6e60-40db-a44a-8a59a54473d7s︠ X5.faces() ︡5cb05dc3-173f-470b-8f2c-d7902b141f50︡{"stdout":"{0: set([(4,), (5,), (3,), (0,), (1,), (2,)]), 1: set([(2, 4), (0, 5), (1, 2), (1, 5), (1, 4), (3, 5), (3, 4), (2, 3), (0, 2), (2, 5), (1, 3), (0, 1), (0, 4), (0, 3), (4, 5)]), 2: set([(0, 2, 3), (1, 3, 4), (3, 4, 5), (0, 2, 5), (1, 4, 5), (0, 3, 5), (0, 3, 4), (1, 2, 5), (1, 2, 4), (0, 1, 2), (1, 3, 5), (0, 1, 5), (0, 4, 5), (0, 1, 3), (2, 3, 5), (2, 3, 4), (0, 2, 4), (0, 1, 4), (2, 4, 5), (1, 2, 3)]), 3: set([(0, 1, 3, 5), (0, 3, 4, 5), (1, 2, 3, 4), (2, 3, 4, 5), (0, 2, 3, 4), (0, 1, 2, 5), (0, 1, 2, 4), (0, 1, 4, 5), (0, 2, 3, 5), (0, 1, 3, 4), (1, 3, 4, 5), (1, 2, 3, 5), (1, 2, 4, 5), (0, 2, 4, 5), (0, 1, 2, 3)]), 4: set([(0, 1, 3, 4, 5), (0, 1, 2, 3, 4), (0, 1, 2, 3, 5), (0, 1, 2, 4, 5), (0, 2, 3, 4, 5), (1, 2, 3, 4, 5)]), -1: set([()])}\n"}︡{"done":true}︡ ︠6b061bcc-bd7d-4be7-a18c-74d762850598s︠ X5_012=X5.remove_face([0]).remove_face([1]).remove_face([2]);X5_012 ︡60b9c9c2-98f9-49a7-91d5-38cca6f98413︡{"stdout":"Simplicial complex with vertex set (3, 4, 5) and facets {(3, 4, 5)}\n"}︡{"done":true}︡ ︠0b99ac8b-f409-48ce-9af0-77d95066e80ds︠ X5=SimplicialComplex(Simplex(5).faces());X5 ︡2d792e6f-1315-4a33-b50f-60887587d448︡{"stdout":"Simplicial complex with vertex set (0, 1, 2, 3, 4, 5) and 6 facets\n"}︡{"done":true}︡ ︠c83c0e76-984d-45db-94cb-ae8bf4d7240es︠ X5_345=X5.remove_face([3]).remove_face([4]).remove_face([5]);X5_345 ︡288fc77b-f582-4849-b043-7b228df6bb70︡{"stdout":"Simplicial complex with vertex set (0, 1, 2) and facets {(0, 1, 2)}\n"}︡{"done":true}︡ ︠ec5dec2a-9ea6-4167-a33e-4f072c2cc327s︠ X5_012.facets() ︡79288a5c-a170-4729-83d5-4dcb7de2f8ce︡{"html":"
$\\displaystyle \\left\\{\\left(3, 4, 5\\right)\\right\\}$
"}︡{"done":true}︡ ︠2119167b-85b4-4e78-8953-783a0b32168bs︠ X5_345.facets() ︡14c44fd6-46a9-44a1-b4c8-114e82b6718b︡{"html":"
$\\displaystyle \\left\\{\\left(0, 1, 2\\right)\\right\\}$
"}︡{"done":true}︡ ︠4d523cc5-e31f-4164-9e9b-5e72ca5728eei︠ %html

Jak widać za każdym razem daje się zdeiniować odwzorowanie $L$ w postaci jak napisałem powyzej.

Warto zwrócić uwagę, że poprawność definicji wynika także z symetrii trójkąta Pascala ( --> https://en.wikipedia.org/wiki/Pascal%27s_triangle ) , podającego liczby podzbiorów  k  oraz  n-k elementów, oraz z tego, że kiedy trojką Pascala ma w rzędzie nieparzysta liczbę wyrazów, wyraz środkowy jest liczbą parzystą.

︡b0bd7ee1-98ee-40f5-9a50-5794e71a8953︡{"html": "

Jak wida\u0107 za ka\u017cdym razem daje si\u0119 zdeiniowa\u0107 odwzorowanie $L$ w postaci jak napisa\u0142em powyzej.

\n

Warto zwróci\u0107 uwag\u0119, \u017ce poprawno\u015b\u0107 definicji wynika tak\u017ce z symetrii trójk\u0105ta Pascala ( --> https://en.wikipedia.org/wiki/Pascal%27s_triangle ) , podaj\u0105cego liczby podzbiorów  k  oraz  n-k elementów, oraz z tego, \u017ce kiedy trojk\u0105 Pascala ma w rz\u0119dzie nieparzysta liczb\u0119 wyrazów, wyraz \u015brodkowy jest liczb\u0105 parzyst\u0105.

"}︡ ︠fac9c284-89ad-4ae0-ad99-42f52a4649dds︠ S = SimplicialComplex([[0,1], [1,2], [0,2]]) # circle ︡0c40bf2f-e70a-47e1-a5d1-aca51c1b9176︡{"done":true} ︠04eff0a0-9ab8-4af7-b702-7651c24b0272s︠ S; ︡cd29c742-45d7-457e-ae42-20f2e4c63bbc︡{"stdout":"Simplicial complex with vertex set (0, 1, 2) and facets {(0, 1), (0, 2), (1, 2)}\n"}︡{"done":true} ︠144006ad-ba81-4195-9a49-8dcc454276da︠ ︡724873f9-f2ec-4f08-b4e6-057f9ec28981︡ ︠55bfd18a-4f5b-4012-88ed-36798c406bafs︠ G = SimplicialComplex([(1,0), (2,1), (2,0)]) # circle ︡d4abe89b-6027-4543-88b9-4774cfd48639︡{"done":true} ︠366a034a-0a18-4e71-9359-0604d9f96ac2s︠ G; ︡c4adac0f-1ade-4a38-85f4-e422e9616d40︡{"stdout":"Simplicial complex with vertex set (0, 1, 2) and facets {(0, 1), (0, 2), (1, 2)}\n"}︡{"done":true} ︠722cd04c-394d-4b29-aca3-4cc888d99d7ds︠ G == S; ︡12b3e32c-9a71-41e7-9b14-bd0cacee1ea7︡{"stdout":"True\n"}︡{"done":true} ︠f993fa16-dc34-42a2-8409-ef7e2566e063s︠ A,B,C,D = var('A,B,C,D') ︡05b82b31-ff30-47bc-842b-5be6d94d7ed2︡{"done":true} ︠5ee80e01-7bd8-4f55-a9d0-a2823ce562ed︠ ︡e9046de6-0a6e-45b2-84af-fddd931520bd︡ ︠5852ad9e-da31-47ae-90b8-922654634162s︠ eq1 = ( A+B -C == 0) ︡2db082a2-c5db-4dee-ba5e-664447fa14f6︡{"done":true} ︠75f7ee06-7d22-4efd-a569-b0343cd88765s︠ eq2 = ( B+C -D == 0) ︡38878a27-2bb6-473a-986f-2cb18257844b︡{"done":true} ︠c00e0774-f22f-4410-829b-bcb7a132abf5s︠ eq3 = (A+B -D == 0) ︡0d2fc491-b0ec-4e09-b766-08dfbb03e740︡{"done":true} ︠d83e6c9d-3258-4bbe-b99a-0c772b981a39s︠ eq4 = ( A+C -D == 0) ︡24665e54-0e50-4efc-82a1-c97cddc28b49︡{"done":true} ︠cf173097-ba1e-4507-9bf0-93f1a0951aa9s︠ print(solve( [eq1, eq2, eq3, eq4],A,B, C,D)); ︡d1eabf6f-b8c5-4900-9cbc-e892cf343522︡{"stdout":"[\n[A == 0, B == 0, C == 0, D == 0]\n]\n"}︡{"done":true} ︠671be2cd-d510-467b-8df0-0576e2fd5d4c︠ R - relacja ( symetryczna, antysymeryczna, równowazności, porzadku, inna) ︡67a2e052-003b-4f7b-9419-a5b6e35bcb16︡ ︠9afbf6bc-b67c-4dfa-81a8-485add0f96d1︠ F - funkcja ( dowolna?) ︡9e46d3b1-dca1-4964-8d7a-ba885ea21c56︡ ︠8814319d-9deb-4561-96c6-f515c4cbafd0︠ R(F(A,B),C) - wynik F(A,B) jest w relacji z C ( dla a,b,c róznych F(a,b) = C ) ︡c5609efd-a39a-4a7f-83fe-2f6bdde32957︡{"stderr":"Error in lines 1-1\nTraceback (most recent call last):\n File \"/cocalc/lib/python2.7/site-packages/smc_sagews/sage_server.py\", line 1191, in execute\n flags=compile_flags), namespace, locals)\n File \"\", line 1, in \nNameError: name 'F' is not defined\n"}︡{"done":true} ︠a92cbc22-8ec9-4912-b6cc-f1120aba4c56︠ Rozwazamy równania jak powyzej dla wieloscianów ( powyzsza jest dla trójkąta) Dla czworokonta relacja R jest podzbiorem iloczynu kartezjanskiego 4-rech elementów ︡26bed0fd-6e9f-49d7-9757-9a21d148f06a︡ ︠696eca04-e7af-4b35-a392-4591e8632915s︠ S1 = ['A', 'B','C','D'] R = cartesian_product([S1, S1]) ︡524433e5-1829-442d-9b32-9fef844fe90b︡{"done":true} ︠a02dc344-8c9d-48ef-aef3-04324654873c︠ ︡4ae5a052-3ccc-4e1c-b1e9-46d391fe8470︡ ︠370a0a81-96da-4824-91af-1a1f2c1937f6s︠ print(R).list() ︡504f99a3-709e-4a32-91a7-08e22dc5282d︡{"stdout":"[('A', 'A'), ('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'A'), ('B', 'B'), ('B', 'C'), ('B', 'D'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('C', 'D'), ('D', 'A'), ('D', 'B'), ('D', 'C'), ('D', 'D')]\n"}︡{"done":true} ︠f41f2756-2624-408c-898a-ce878ec8ba1as︠ PR = Subsets([('A', 'A'), ('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'A'), ('B', 'B'), ('B', 'C'), ('B', 'D'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('C', 'D'), ('D', 'A'), ('D', 'B'), ('D', 'C'), ('D', 'D')]); ︡469bbde2-dedf-41fe-8050-9cf26bd64920︡{"done":true} ︠4e2ff4c8-7bcf-4aa2-a42a-acd5a1207850︠ I jak widać poniżej daje to 65536 mozliwości ︡f67c2fc5-cbe6-423c-8d60-a05d02aac101︡ ︠07a36032-7c9c-4d35-9f96-f160f436541cs︠ PR.cardinality() ︡ff1b2a16-1289-4d1f-ba78-ce3e4e241ff4︡{"stdout":"65536\n"}︡{"done":true} ︠50dd707f-899a-43d8-a213-0927243c7fa7︠ Przykładowo dla 3 elementow ( trójkąt) mamy: ︡cc3ad169-576a-4078-89c4-5feded5a0d94︡ ︠08d44cc5-f69b-415d-a189-172ea99affb7s︠ S2 = ['A','B','C'] ︡7715164a-63b1-4342-87d6-ebdc274a0479︡{"done":true} ︠11b657a9-c0b2-4235-bfc3-d76bf5d5b4c7s︠ R1=cartesian_product([S2,S2]) ︡4da9f8d0-ac51-41b9-b7f1-645a31d40481︡{"done":true} ︠a9d0809c-1e4f-4943-8238-0c8ab6ef954as︠ print(R1).list() ︡43750fea-e235-445d-98ea-50c23a49dc42︡{"stdout":"[('A', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'B'), ('B', 'C'), ('C', 'A'), ('C', 'B'), ('C', 'C')]\n"}︡{"done":true} ︠6d849ce4-0995-4dcf-b000-d4fe64416f83s︠ PR1 = Subsets([('A', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'B'), ('B', 'C'), ('C', 'A'), ('C', 'B'), ('C', 'C')]) ︡9e43abef-99fd-404c-838c-6f65574d00d7︡{"done":true} ︠7d9ec9e5-e9cd-443b-8c8b-59a9f87dc1d7︠ Czyli 512 elementów ︡25204382-8118-4fe4-a96d-653174533f7a︡ ︠653d039e-d754-437e-9942-4f95df3e2f30s︠ PR1.cardinality() ︡bc8b2b41-12e1-4b41-b652-c45b416028f3︡{"stdout":"512\n"}︡{"done":true} ︠2f454d9e-71d1-4e0e-93a1-dc248d0331af︠ Przykładowo 120 element ma postać ︡9ea8e52b-95e0-4012-8d6c-3386615ae389︡ ︠14ffa508-6bf1-4e7e-8853-6909a232160as︠ PR1.list()[120] ︡143351ac-a4f4-4dcd-85e1-3f546cb8177d︡{"stdout":"{('C', 'A'), ('B', 'C'), ('B', 'B')}\n"}︡{"done":true} ︠b88cdae5-5a1f-43af-b930-9c8fbe252ab4︠ Co oznacza że nie reprezentuje żadnej relacji na trójkącie ︡79657507-724e-43f4-aadf-deff4c12cf25︡ ︠844c72a6-b2e2-4856-b648-37dbe9cbdd2fs︠ PR1.list()[500] ︡79e4c262-ecc4-4142-8281-1e0e83234d03︡{"stdout":"{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n"}︡{"done":true} ︠931d238f-6cf3-41fb-869b-1c3779de4cf8s︠ for i in range (PR1.cardinality()): PR1.list()[i] ︡15002f20-f870-4596-a7d8-f6c88ecbb56f︡{"stdout":"{}\n{('A', 'A')}\n{('A', 'B')}\n{('A', 'C')}\n{('B', 'A')}\n{('B', 'B')}\n{('B', 'C')}\n{('C', 'A')}\n{('C', 'B')}\n{('C', 'C')}\n{('A', 'B'), ('A', 'A')}\n{('A', 'A'), ('A', 'C')}\n{('B', 'A'), ('A', 'A')}\n{('A', 'A'), ('B', 'B')}\n{('B', 'C'), ('A', 'A')}\n{('C', 'A'), ('A', 'A')}\n{('A', 'A'), ('C', 'B')}\n{('A', 'A'), ('C', 'C')}\n{('A', 'B'), ('A', 'C')}\n{('B', 'A'), ('A', 'B')}\n{('A', 'B'), ('B', 'B')}\n{('A', 'B'), ('B', 'C')}\n{('C', 'A'), ('A', 'B')}\n{('A', 'B'), ('C', 'B')}\n{('A', 'B'), ('C', 'C')}\n{('B', 'A'), ('A', 'C')}\n{('A', 'C'), ('B', 'B')}\n{('B', 'C'), ('A', 'C')}\n{('C', 'A'), ('A', 'C')}\n{('C', 'B'), ('A', 'C')}\n{('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('B', 'B')}\n{('B', 'A'), ('B', 'C')}\n{('B', 'A'), ('C', 'A')}\n{('B', 'A'), ('C', 'B')}\n{('B', 'A'), ('C', 'C')}\n{('B', 'C'), ('B', 'B')}\n{('C', 'A'), ('B', 'B')}\n{('C', 'B'), ('B', 'B')}\n{('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('B', 'C')}\n{('B', 'C'), ('C', 'B')}\n{('B', 'C'), ('C', 'C')}\n{('C', 'A'), ('C', 'B')}\n{('C', 'A'), ('C', 'C')}\n{('C', 'B'), ('C', 'C')}\n{('A', 'B'), ('A', 'A'), ('A', 'C')}\n{('B', 'A'), ('A', 'B'), ('A', 'A')}\n{('A', 'B'), ('A', 'A'), ('B', 'B')}\n{('A', 'B'), ('A', 'A'), ('B', 'C')}\n{('C', 'A'), ('A', 'B'), ('A', 'A')}\n{('A', 'B'), ('A', 'A'), ('C', 'B')}\n{('A', 'B'), ('A', 'A'), ('C', 'C')}\n{('B', 'A'), ('A', 'A'), ('A', 'C')}\n{('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('B', 'C'), ('A', 'A'), ('A', 'C')}\n{('C', 'A'), ('A', 'A'), ('A', 'C')}\n{('A', 'A'), ('C', 'B'), ('A', 'C')}\n{('A', 'A'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('A', 'A'), ('B', 'B')}\n{('B', 'A'), ('B', 'C'), ('A', 'A')}\n{('B', 'A'), ('C', 'A'), ('A', 'A')}\n{('B', 'A'), ('A', 'A'), ('C', 'B')}\n{('B', 'A'), ('A', 'A'), ('C', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B')}\n{('C', 'A'), ('A', 'A'), ('B', 'B')}\n{('A', 'A'), ('C', 'B'), ('B', 'B')}\n{('A', 'A'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('B', 'C'), ('A', 'A')}\n{('B', 'C'), ('A', 'A'), ('C', 'B')}\n{('B', 'C'), ('A', 'A'), ('C', 'C')}\n{('C', 'A'), ('A', 'A'), ('C', 'B')}\n{('C', 'A'), ('A', 'A'), ('C', 'C')}\n{('A', 'A'), ('C', 'B'), ('C', 'C')}\n{('B', 'A'), ('A', 'B'), ('A', 'C')}\n{('A', 'B'), ('A', 'C'), ('B', 'B')}\n{('B', 'C'), ('A', 'B'), ('A', 'C')}\n{('C', 'A'), ('A', 'B'), ('A', 'C')}\n{('A', 'B'), ('C', 'B'), ('A', 'C')}\n{('A', 'B'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('A', 'B'), ('B', 'B')}\n{('B', 'A'), ('A', 'B'), ('B', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B')}\n{('B', 'A'), ('A', 'B'), ('C', 'B')}\n{('B', 'A'), ('A', 'B'), ('C', 'C')}\n{('B', 'C'), ('A', 'B'), ('B', 'B')}\n{('C', 'A'), ('A', 'B'), ('B', 'B')}\n{('A', 'B'), ('C', 'B'), ('B', 'B')}\n{('A', 'B'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('A', 'B'), ('B', 'C')}\n{('A', 'B'), ('C', 'B'), ('B', 'C')}\n{('A', 'B'), ('B', 'C'), ('C', 'C')}\n{('C', 'A'), ('A', 'B'), ('C', 'B')}\n{('C', 'A'), ('A', 'B'), ('C', 'C')}\n{('A', 'B'), ('C', 'B'), ('C', 'C')}\n{('B', 'A'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('B', 'C'), ('A', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'C')}\n{('B', 'A'), ('C', 'B'), ('A', 'C')}\n{('B', 'A'), ('A', 'C'), ('C', 'C')}\n{('B', 'C'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('A', 'C'), ('B', 'B')}\n{('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('C', 'C'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('B', 'C'), ('A', 'C')}\n{('B', 'C'), ('C', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'C'), ('C', 'C')}\n{('C', 'A'), ('C', 'B'), ('A', 'C')}\n{('C', 'A'), ('A', 'C'), ('C', 'C')}\n{('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('B', 'C'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('B', 'B')}\n{('B', 'A'), ('C', 'B'), ('B', 'B')}\n{('B', 'A'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('B', 'C')}\n{('B', 'A'), ('B', 'C'), ('C', 'B')}\n{('B', 'A'), ('B', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('C', 'B')}\n{('B', 'A'), ('C', 'A'), ('C', 'C')}\n{('B', 'A'), ('C', 'B'), ('C', 'C')}\n{('C', 'A'), ('B', 'C'), ('B', 'B')}\n{('B', 'C'), ('C', 'B'), ('B', 'B')}\n{('B', 'C'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('C', 'B'), ('B', 'B')}\n{('C', 'A'), ('B', 'B'), ('C', 'C')}\n{('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('B', 'C'), ('C', 'B')}\n{('C', 'A'), ('B', 'C'), ('C', 'C')}\n{('B', 'C'), ('C', 'B'), ('C', 'C')}\n{('C', 'A'), ('C', 'B'), ('C', 'C')}"}︡{"stdout":"\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('A', 'C')}\n{('A', 'B'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('B', 'C'), ('A', 'B'), ('A', 'A'), ('A', 'C')}\n{('C', 'A'), ('A', 'B'), ('A', 'A'), ('A', 'C')}\n{('A', 'B'), ('A', 'A'), ('C', 'B'), ('A', 'C')}\n{('A', 'B'), ('A', 'A'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('B', 'B')}\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('B', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('A', 'A')}\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('C', 'B')}\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('C', 'C')}\n{('B', 'C'), ('A', 'B'), ('A', 'A'), ('B', 'B')}\n{('C', 'A'), ('A', 'B'), ('A', 'A'), ('B', 'B')}\n{('A', 'B'), ('A', 'A'), ('C', 'B'), ('B', 'B')}\n{('A', 'B'), ('A', 'A'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('A', 'B'), ('A', 'A'), ('B', 'C')}\n{('A', 'B'), ('A', 'A'), ('C', 'B'), ('B', 'C')}\n{('A', 'B'), ('A', 'A'), ('B', 'C'), ('C', 'C')}\n{('C', 'A'), ('A', 'B'), ('A', 'A'), ('C', 'B')}\n{('C', 'A'), ('A', 'B'), ('A', 'A'), ('C', 'C')}\n{('A', 'B'), ('A', 'A'), ('C', 'B'), ('C', 'C')}\n{('B', 'A'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('B', 'C'), ('A', 'A'), ('A', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'A'), ('A', 'C')}\n{('B', 'A'), ('A', 'A'), ('C', 'B'), ('A', 'C')}\n{('B', 'A'), ('A', 'A'), ('A', 'C'), ('C', 'C')}\n{('B', 'C'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('A', 'A'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('C', 'C'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('B', 'C'), ('A', 'A'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('C', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('A', 'C'), ('C', 'C')}\n{('C', 'A'), ('A', 'A'), ('C', 'B'), ('A', 'C')}\n{('C', 'A'), ('A', 'A'), ('A', 'C'), ('C', 'C')}\n{('A', 'A'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('B', 'C'), ('A', 'A'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('A', 'A'), ('B', 'B')}\n{('B', 'A'), ('A', 'A'), ('C', 'B'), ('B', 'B')}\n{('B', 'A'), ('A', 'A'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('A', 'A')}\n{('B', 'A'), ('B', 'C'), ('A', 'A'), ('C', 'B')}\n{('B', 'A'), ('B', 'C'), ('A', 'A'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'A'), ('C', 'B')}\n{('B', 'A'), ('C', 'A'), ('A', 'A'), ('C', 'C')}\n{('B', 'A'), ('A', 'A'), ('C', 'B'), ('C', 'C')}\n{('C', 'A'), ('B', 'C'), ('A', 'A'), ('B', 'B')}\n{('B', 'C'), ('A', 'A'), ('C', 'B'), ('B', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('A', 'A'), ('C', 'B'), ('B', 'B')}\n{('C', 'A'), ('A', 'A'), ('B', 'B'), ('C', 'C')}\n{('A', 'A'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('B', 'C'), ('A', 'A'), ('C', 'B')}\n{('C', 'A'), ('B', 'C'), ('A', 'A'), ('C', 'C')}\n{('B', 'C'), ('A', 'A'), ('C', 'B'), ('C', 'C')}\n{('C', 'A'), ('A', 'A'), ('C', 'B'), ('C', 'C')}\n{('B', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('A', 'C')}\n{('B', 'A'), ('A', 'B'), ('C', 'B'), ('A', 'C')}\n{('B', 'A'), ('A', 'B'), ('A', 'C'), ('C', 'C')}\n{('B', 'C'), ('A', 'B'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'B')}\n{('A', 'B'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('A', 'B'), ('C', 'C'), ('A', 'C'), ('B', 'B')}\n{('B', 'C'), ('C', 'A'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'B'), ('C', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'B'), ('A', 'C'), ('C', 'C')}\n{('C', 'A'), ('A', 'B'), ('C', 'B'), ('A', 'C')}\n{('C', 'A'), ('A', 'B'), ('A', 'C'), ('C', 'C')}\n{('A', 'B'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('A', 'B'), ('B', 'B'), ('B', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('B', 'B')}\n{('B', 'A'), ('A', 'B'), ('C', 'B'), ('B', 'B')}\n{('B', 'A'), ('A', 'B'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('B', 'C')}\n{('B', 'A'), ('A', 'B'), ('C', 'B'), ('B', 'C')}\n{('B', 'A'), ('A', 'B'), ('B', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('C', 'B')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('C', 'C')}\n{('B', 'A'), ('A', 'B'), ('C', 'B'), ('C', 'C')}\n{('B', 'C'), ('C', 'A'), ('A', 'B'), ('B', 'B')}\n{('B', 'C'), ('A', 'B'), ('C', 'B'), ('B', 'B')}\n{('B', 'C'), ('A', 'B'), ('B', 'B'), ('C', 'C')}"}︡{"stdout":"\n{('C', 'A'), ('A', 'B'), ('C', 'B'), ('B', 'B')}\n{('C', 'A'), ('A', 'B'), ('B', 'B'), ('C', 'C')}\n{('A', 'B'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('A', 'B'), ('C', 'B'), ('B', 'C')}\n{('C', 'A'), ('A', 'B'), ('B', 'C'), ('C', 'C')}\n{('A', 'B'), ('C', 'B'), ('B', 'C'), ('C', 'C')}\n{('C', 'A'), ('A', 'B'), ('C', 'B'), ('C', 'C')}\n{('B', 'A'), ('B', 'C'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('C', 'C'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('A', 'C')}\n{('B', 'A'), ('B', 'C'), ('C', 'B'), ('A', 'C')}\n{('B', 'A'), ('B', 'C'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('C', 'A'), ('B', 'C'), ('A', 'C'), ('B', 'B')}\n{('B', 'C'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('B', 'C'), ('C', 'C'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('C', 'C'), ('A', 'C'), ('B', 'B')}\n{('C', 'C'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('B', 'C'), ('C', 'B'), ('A', 'C')}\n{('C', 'A'), ('B', 'C'), ('A', 'C'), ('C', 'C')}\n{('B', 'C'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('C', 'A'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('B', 'B')}\n{('B', 'A'), ('B', 'C'), ('C', 'B'), ('B', 'B')}\n{('B', 'A'), ('B', 'C'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('C', 'B'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('C', 'B')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('C', 'C')}\n{('B', 'A'), ('B', 'C'), ('C', 'B'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C')}\n{('C', 'A'), ('B', 'C'), ('C', 'B'), ('B', 'B')}\n{('C', 'A'), ('B', 'C'), ('B', 'B'), ('C', 'C')}\n{('B', 'C'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('B', 'C'), ('C', 'B'), ('C', 'C')}\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('A', 'C'), ('B', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('A', 'A'), ('A', 'C')}\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('C', 'B'), ('A', 'C')}\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('A', 'C'), ('C', 'C')}\n{('B', 'C'), ('A', 'B'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('A', 'B'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('A', 'B'), ('A', 'A'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('C', 'C'), ('A', 'B'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('B', 'C'), ('C', 'A'), ('A', 'B'), ('A', 'A'), ('A', 'C')}\n{('B', 'C'), ('A', 'B'), ('A', 'A'), ('C', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'B'), ('A', 'A'), ('A', 'C'), ('C', 'C')}\n{('C', 'A'), ('A', 'B'), ('A', 'A'), ('C', 'B'), ('A', 'C')}\n{('C', 'A'), ('A', 'B'), ('A', 'A'), ('A', 'C'), ('C', 'C')}\n{('A', 'B'), ('A', 'A'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('B', 'B'), ('B', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('A', 'A'), ('B', 'B')}\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('C', 'B'), ('B', 'B')}\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('A', 'A'), ('B', 'C')}\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('C', 'B'), ('B', 'C')}\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('B', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('A', 'A'), ('C', 'B')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('A', 'A'), ('C', 'C')}\n{('B', 'A'), ('A', 'B'), ('A', 'A'), ('C', 'B'), ('C', 'C')}\n{('B', 'C'), ('C', 'A'), ('A', 'B'), ('A', 'A'), ('B', 'B')}\n{('B', 'C'), ('A', 'B'), ('A', 'A'), ('C', 'B'), ('B', 'B')}\n{('B', 'C'), ('A', 'B'), ('A', 'A'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('A', 'B'), ('A', 'A'), ('C', 'B'), ('B', 'B')}\n{('C', 'A'), ('A', 'B'), ('A', 'A'), ('B', 'B'), ('C', 'C')}\n{('A', 'B'), ('A', 'A'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('A', 'B'), ('A', 'A'), ('C', 'B'), ('B', 'C')}\n{('C', 'A'), ('A', 'B'), ('A', 'A'), ('B', 'C'), ('C', 'C')}\n{('A', 'B'), ('A', 'A'), ('C', 'B'), ('B', 'C'), ('C', 'C')}"}︡{"stdout":"\n{('C', 'A'), ('A', 'B'), ('A', 'A'), ('C', 'B'), ('C', 'C')}\n{('B', 'A'), ('B', 'C'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('A', 'A'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('C', 'C'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('A', 'A'), ('A', 'C')}\n{('B', 'A'), ('B', 'C'), ('A', 'A'), ('C', 'B'), ('A', 'C')}\n{('B', 'A'), ('B', 'C'), ('A', 'A'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'A'), ('C', 'B'), ('A', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'A'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('A', 'A'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('C', 'A'), ('B', 'C'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('B', 'C'), ('A', 'A'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('C', 'C'), ('B', 'C'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('A', 'A'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('C', 'C'), ('C', 'A'), ('A', 'A'), ('A', 'C'), ('B', 'B')}\n{('C', 'C'), ('A', 'A'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('B', 'C'), ('A', 'A'), ('C', 'B'), ('A', 'C')}\n{('C', 'A'), ('B', 'C'), ('A', 'A'), ('A', 'C'), ('C', 'C')}\n{('B', 'C'), ('A', 'A'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('C', 'A'), ('A', 'A'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('A', 'A'), ('B', 'B')}\n{('B', 'A'), ('B', 'C'), ('A', 'A'), ('C', 'B'), ('B', 'B')}\n{('B', 'A'), ('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'A'), ('C', 'B'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('A', 'A'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('A', 'A'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('A', 'A'), ('C', 'B')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('A', 'A'), ('C', 'C')}\n{('B', 'A'), ('B', 'C'), ('A', 'A'), ('C', 'B'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'A'), ('C', 'B'), ('C', 'C')}\n{('C', 'A'), ('B', 'C'), ('A', 'A'), ('C', 'B'), ('B', 'B')}\n{('C', 'A'), ('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'C')}\n{('B', 'C'), ('A', 'A'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('A', 'A'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('B', 'C'), ('A', 'A'), ('C', 'B'), ('C', 'C')}\n{('B', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'C'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('A', 'B'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('A', 'B'), ('C', 'C'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'C')}\n{('B', 'A'), ('A', 'B'), ('C', 'B'), ('A', 'C'), ('B', 'C')}\n{('B', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('C', 'B'), ('A', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('A', 'B'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('B', 'C'), ('C', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'B')}\n{('B', 'C'), ('A', 'B'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('B', 'C'), ('A', 'B'), ('C', 'C'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('A', 'B'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('A', 'B'), ('C', 'C'), ('A', 'C'), ('B', 'B')}\n{('A', 'B'), ('C', 'C'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('B', 'C'), ('C', 'A'), ('A', 'B'), ('C', 'B'), ('A', 'C')}\n{('B', 'C'), ('C', 'A'), ('A', 'B'), ('A', 'C'), ('C', 'C')}\n{('B', 'C'), ('A', 'B'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('C', 'A'), ('A', 'B'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('B', 'B'), ('B', 'C')}\n{('B', 'A'), ('A', 'B'), ('C', 'B'), ('B', 'B'), ('B', 'C')}\n{('B', 'A'), ('A', 'B'), ('B', 'B'), ('B', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('C', 'B'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('A', 'B'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('C', 'B'), ('B', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('B', 'C'), ('C', 'C')}\n{('B', 'A'), ('A', 'B'), ('C', 'B'), ('B', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('A', 'B'), ('C', 'B'), ('C', 'C')}\n{('B', 'C'), ('C', 'A'), ('A', 'B'), ('C', 'B'), ('B', 'B')}\n{('B', 'C'), ('C', 'A'), ('A', 'B'), ('B', 'B'), ('C', 'C')}"}︡{"stdout":"\n{('B', 'C'), ('A', 'B'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('A', 'B'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('C', 'A'), ('A', 'B'), ('C', 'B'), ('B', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('B', 'C'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('B', 'C'), ('C', 'C'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('C', 'C'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('C', 'B'), ('A', 'C')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('B', 'C'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('C', 'A'), ('B', 'C'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('B', 'C'), ('C', 'C'), ('A', 'C'), ('B', 'B')}\n{('B', 'C'), ('C', 'C'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('C', 'C'), ('C', 'B'), ('A', 'C'), ('B', 'B')}\n{('C', 'A'), ('B', 'C'), ('C', 'B'), ('A', 'C'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('C', 'B'), ('B', 'B')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('B', 'C'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('B', 'A'), ('C', 'A'), ('B', 'C'), ('C', 'B'), ('C', 'C')}\n{('C', 'A'), ('B', 'C'), ('C', 'B'), ('B', 'B'), ('C', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'A'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'A'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'C'), ('A', 'B')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'B')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'B')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('A', 'C')}"}︡{"stdout":"\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'C'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('C', 'C')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('C', 'C')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'B'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('C', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'B'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'B')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}"}︡{"stdout":"\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'C')}\n{('B', 'C'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n{('B', 'C'), ('A', 'A'), ('B', 'B'), ('B', 'A'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('A', 'B'), ('A', 'C')}\n"}︡{"done":true} ︠fdec6251-3841-4b8f-9977-09f48121c176︠