G:=SymmetricGroup(4);;
x:=(1,2,3,4,5,6,7,8);;
a:=Group(x^2);;
b:=Group(x);;
alpha:=GroupHomomorphismByFunction(a,b,y->y);;
beta:=NaturalHomomorphismByNormalSubgroup(b,a);;
A:=TrivialGModuleAsGOuterGroup(G,a);;
B:=TrivialGModuleAsGOuterGroup(G,b);;
C:=TrivialGModuleAsGOuterGroup(G,Image(beta));;
ALPHA:=GOuterGroupHomomorphism();;
ALPHA!.Source:=A;;
ALPHA!.Target:=B;;
ALPHA!.Mapping:=alpha;;
BETA:=GOuterGroupHomomorphism();;
BETA!.Source:=B;;
BETA!.Target:=C;;
BETA!.Mapping:=beta;;
ALPHA_3:=CohomologyHomomorphism(ALPHA,3);;
BETA_3:=CohomologyHomomorphism(BETA,3);;
GAMMA_3:=ConnectingCohomologyHomomorphism(BETA,3);;
Print(Size(ImageOfGOuterGroupHomomorphism(ALPHA_3)),"\n");
Print(Size(KernelOfGOuterGroupHomomorphism(BETA_3)),"\n");
Print(Size(ImageOfGOuterGroupHomomorphism(BETA_3)),"\n");
Print(Size(KernelOfGOuterGroupHomomorphism(GAMMA_3)),"\n");
