IsFixedPointFree := function(set, element) local set_elt, isfpf; isfpf := true; for set_elt in set do if (set_elt^element = set_elt) then isfpf := false; fi; od; return(isfpf); end; SymmetricFPF_Percent := function(N) local i, fpf_count; fpf_count := 0; for i in [1 .. 10000] do if( IsFixedPointFree([1..N], Random(SymmetricGroup(N)))) then fpf_count := fpf_count + 1; fi; od; Print ("Sym(", N, "): ", fpf_count, " in 10000 randomly selected.\n"); end;