It's not an original answer, it's just a supplement to the answer of `thorimur`. g1 = Graph[(Sort /@ Flatten[Map[ Thread[#[[1]] \[UndirectedEdge] #[[2]]] &, {{1, {2, 3, 4, 5}}, {2, {1, 3, 5, 6}}, {3, {1, 4, 2, 6}}, {4, {1, 3, 5, 6}}, {5, {1, 2, 4, 6}}, {6, {2, 3, 4, 5}}}]]) // DeleteDuplicates, VertexLabels -> "Name"];(*Adjacency between faces*) UnrestrictedColoringQ[g_, coloring_Association] := ContainsExactly[VertexList[g], Keys[coloring]]; ColoringQ[g_, c_Association] := FreeQ[Map[c, EdgeList[g], {2}], v_ \[UndirectedEdge] v_, 1] /; UnrestrictedColoringQ[g, c]; AllUnrestrictedColorings[g_] := With[{vs = VertexList[g]}, AssociationThread[vs, #] & /@ Tuples[Table[i, {i, Length[vs]}], Length[vs]]]; AllLabeledColorings[g_] := Select[AllUnrestrictedColorings[g], ColoringQ[g, #] &]; AutMod[g_, clist : {___Association}, autg_List : Null] := With[{AutG = Replace[autg, Null :> GroupElements[GraphAutomorphismGroup[g]]]}, DeleteDuplicates[ Function[c, Function[h, KeySort@KeyMap[Function[v, PermutationReplace[v, h]], c]] /@ AutG] /@ clist, ContainsExactly]] (*With g1 as above:*) H = GroupElements@ PermutationGroup[{Cycles[{{2, 3, 4, 5}}], Cycles[{{1, 2, 6, 4}}]}]; G1 = GroupElements@ FiniteGroupData["Octahedral", "PermutationGroupRepresentation"]; G2 = GroupElements@ PermutationGroup[{Cycles[{{2, 3, 4, 5}}], Cycles[{{1, 2, 6, 4}}], Cycles[{{1, 6}}]}]; num1 = AutMod[g1, AllLabeledColorings[g1]] // Length num2 = AutMod[g1, AllLabeledColorings[g1], G1] // Length num3 = AutMod[g1, AllLabeledColorings[g1], G2] // Length num4 = AutMod[g1, AllLabeledColorings[g1], H] // Length The above code takes about 800 seconds to calculate `num2`. And the results of the above codes are `215`, `1860`, `215`, `230`. Where `num1` = `num3`, this conclusion is very useful. But one thing I'm confused about is that groups `G1` and `G2` are both groups of order `48`, representing regular hexahedral groups.