G:=PSp(6,2);
CC:=ConjugacyClasses(G);
L:=Subgroups(G:OrderEqual:=Order(Alt(8)))[1]`subgroup;
IrrL:=IrreducibleModules(L,GF(2));

load "Subgroups/E8/ComputeFactorsE8.txt";
load "Subgroups/functions.txt";

Irr:=Prune(IrreducibleModules(G,GF(2)));
labs:=["1","6","8","14","48","64","112"];
labsL:=["1","4","4^*","6","14","20","20^*","64"];

P:=[7,15,9,5,3];
Ans3,Mods:=ComputeConspicuousFactorsE8(Irr,CC,Tr,P,[]);

[SequenceToMultiset(i):i in Ans3] eq 
[
    {* 1^^46, 2^^10, 3^^16, 4 *},
    {* 1^^18, 2^^17, 3^^2, 4^^8 *},
    {* 1^^10, 2^^9, 3^^4, 4^^4, 5^^2 *},
    {* 1^^8, 2^^8, 3^^5, 4^^4, 5^^2 *},
    {* 1^^6, 2^^6, 3^^3, 4^^5, 5, 6 *},
    {* 1^^6, 2^^4, 3^^2, 4^^3, 5^^2, 6 *},
    {* 1^^4, 2^^2, 4^^4, 5, 6^^2 *}
];

// Case 3:

A1:=Irr[5];
for i in [1,2,4,1,2,3,1,2,4,1,2,3,1] do
  E,rho:=Ext(A1,Irr[i]); A1:=MaximalExtension(A1,Irr[i],E,rho); DescribeLayers(Dual(A1),Irr,labs);
end for;
for i in [1,2,3,4] do Dimension(Ext(A1,Irr[i])) eq 0; end for;

A2:=Irr[2];
for i in [1,3,2,1] do
  E,rho:=Ext(A2,Irr[i]); A2:=MaximalExtension(A2,Irr[i],E,rho); DescribeLayers(Dual(A2),Irr,labs);
end for;
for i in [1,2,3] do Dimension(Ext(A2,Irr[i])) eq 0; end for;
Dimension(Fix(A2)) eq 2;

// Now Case 4

E,rho:=Ext(A2,Irr[4]); A3:=MaximalExtension(A2,Irr[4],E,rho); DescribeLayers(Dual(A3),Irr,labs);

A3a:=Restriction(Dual(A3),L);
DescribeLayers(A3a,IrrL,labsL);
DescribeLayers(A3a/Fix(A3a),IrrL,labsL);

A4:=RemoveFromTop(Dual(A1),Irr,Irr,[1,2,3,5]);