load "smallpermgroupsdat.mgm"; NumberOfSmallPermGroups:= function(g); inds := [x[2] : x in SmallPermGroupIndices | x[1] eq g]; return #inds; end function; SmallPermGroup:= function(g,n); inds := [x[2] : x in SmallPermGroupIndices | x[1] eq g]; if (#inds eq 0) or (#inds lt n) then return "no group"; end if; k := inds[n]; if [g,k] eq [504,156] then return ProjectiveSpecialLinearGroup(2,8); end if; if [g,k] eq [504,157] then return DirectProduct(ProjectiveSpecialLinearGroup(2,7), CyclicGroup(3)); end if; return SmallGroup(g,k); end function; SmallPermGroupIndex:= function(g,n); inds := [x[2] : x in SmallPermGroupIndices | x[1] eq g]; if (#inds eq 0) or (#inds lt n) then return "no group"; end if; return inds[n]; end function;