"Source: Text/Group/GrpFP.text";
"Line: 11270";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Group/GrpFP.text, line: 11270
// Example: H80E90 ()
print "Example: H80E90";
ei := GetEchoInput();
SetEchoInput(true);
G<a,b,c,d,e> := FPGroup< a,b,c,d,e | 
                           a^5, b^5, c^6, d^5, e^3, b^a = b*d,
                           (a,c), (a,d), (a,e), (b,c), (b,d), (b,e),
                           (c,d), (c,e), (d,e) >;
H := sub< G | b,c,d,e >;
IsNormal(G, H);
assert $1;
P := GModulePrimes(G, H);
0 in P;
assert not $1;
for p in MultisetToSet(P) do
   M := GModule(G, H, p);
   dim := Dimension(M);
   decomp := IsDecomposable(M);
   assert dim eq Multiplicity(P, p);
   print "prime", p, ": module of dimension", dim;
   if decomp then
      print "  has a nontrivial decomposition";
    else
      print "  is indecomposable";
   end if;
end for;
SetEchoInput(ei);
