ailist := [0,0,0,0,0,0,0,0,0,0]; for g in [2..256] do n := NumberOfSmallGroups(g); print "Looking at ",n," groups of order ",g,"."; for s in [1..n] do G := SmallGroup(g,s); if not (Type(G) eq GrpPerm) then A := AbelianQuotient(G); ai := AbelianInvariants(A); ailist[#ai] := ailist[#ai]+1; delete A; delete G; end if; end for; print ailist; end for;