"Source: Text/Group/GrpFP.text";
"Line: 6552";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Group/GrpFP.text, line: 6552
// Example: H80E51 ()
print "Example: H80E51";
ei := GetEchoInput();
SetEchoInput(true);
J2<a, b, c> := FPGroup<a, b, c | a^3, b^3, c^3, a*b*a*b^-1*a^-1*b^-1, (c*a)^5,
                                  (c*b)^5, (c*b^-1*c*b)^2,
                                  a^-1*b*a*c*a^-1*b*a*c^-1*a^-1*b^-1*a*c^-1,
                                  a*b*a^-1*c*a*b*a^-1*c^-1*a*b^-1*a^-1*c^-1>;

Seen := { 0, 1};
Found := { };
Sgs := [ ];
for i := 1 to 30 do
    u := Random(J2, 1, 1);
    v := Random(J2, 3, 5);
    H := sub< J2 | u, v >;
    Indx := Index(J2, H);
    if Indx notin Seen then
       Include(~Seen, Indx);
         if not IsMaximal(J2, H) then 
           H := MaximalOvergroup(J2, H);
        end if; 
       if Indx notin Found then
           Include(~Sgs, H);  
           Include(~Seen, Indx); 
           Include(~Found, Indx); 
       end if;
   end if;
end for;
Sgs;
SetEchoInput(ei);
