"Source: Text/Group/GrpPerm.text";
"Line: 5055";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Group/GrpPerm.text, line: 5055
// Example: H65E29 ()
print "Example: H65E29";
ei := GetEchoInput();
SetEchoInput(true);
G := sub<Sym(48) |
    (1,3,8,6)(2,5,7,4)(9,48,15,12)(10,47,16,13)(11,46,17,14),
    (6,15,35,26)(7,22,34,19)(8,30,33,11)(12,14,29,27)(13,21,28,20),
    (1,12,33,41)(4,20,36,44)(6,27,38,46)(9,11,26,24)(10,19,25,18),
    (1,24,40,17)(2,18,39,23)(3,9,38,32)(41,43,48,46)(42,45,47,44),
    (3,43,35,14)(5,45,37,21)(8,48,40,29)(15,17,32,30)(16,23,31,22),
    (24,27,30,43)(25,28,31,42)(26,29,32,41)(33,35,40,38)(34,37,39,36) >;
O1 := Orbits(G);
O1;
f1, Im1, Ker1 := OrbitAction(G, O1[1]);
FactoredOrder(Im1);
IsPrimitive(Im1);
assert not $1;
P1 := MinimalPartition(Im1);
#P1;
assert $1 eq 8;
f2, Im2, Ker2 := BlocksAction(Im1, P1);
FactoredOrder(Im2);
IsPrimitive(Im2);
assert $1;
IsSymmetric(Im2);
assert $1;
FactoredOrder(Ker2);
IsElementaryAbelian(Ker2);
assert $1;
f3, Im3, Ker3 := OrbitAction(Ker1, O1[2]);
IsTransitive(Im3);
assert $1;
FactoredOrder(Im3);
FactoredOrder(Ker3);
IsPrimitive(Im3);
assert not $1;
P := MinimalPartition(Im3);
f4, Im4, Ker4 := BlocksAction(Im3, P);
Im4;
IsPrimitive(Im4);
assert $1;
IsAlternating(Im4);
assert $1;
FactoredOrder(Ker4);
IsElementaryAbelian(Ker4);
assert $1;
SetEchoInput(ei);
