GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
#include "defs.h"12# define NPT 1000003# define PSP 100000004# define SVSP 10000005# define MP 5006# define MB 8078/* NPT = max no of points, MP = max no of perms, PSP = space for perms,9SVSP = space for Schreier vectors, MB-1 = max no of base pts.10*/11char wrd,nt,isbase,inf[80],outf1[80],outf2[80],fixed[NPT+1];12/* defaults: inf gpname.inperm13outf1 gpname.outperm14outf2 gpname.words15*/16int perm[PSP],sv[SVSP],cp[5*NPT],actgen[MP],orb[NPT+1],17base[MB],lorb[MB],order[MB],pno[MP/2], *pptr[MP],*svptr[MB],18mp=MP,mb=MB-1,mnpt=NPT;19int psp=PSP,svsp=SVSP;2021int22main (int argc, char *argv[])23{ int arg; char d,err;24nt=wrd=isbase=0; err=0; arg=1;25if (argc<=arg) {err=1; goto error;}26while (argv[arg][0]=='-')27{ d=argv[arg][1]; arg++;28if (d=='w') wrd=1; else if (d=='n') nt=1;29else if (d=='b') isbase=1;30else {err=1;goto error;}31if (argc<=arg) {err=1;goto error;}32}33strcpy(inf,argv[arg]); strcat(inf,"."); strcpy(outf1,inf);34if (wrd) {strcpy(outf2,inf); strcat(outf2,"words");}35arg++; if (argc<=arg) strcat(inf,"inperm"); else strcat(inf,argv[arg]);36arg++; if (argc<=arg) strcat(outf1,"outperm"); else strcat(outf1,argv[arg]);37if (gpprog()== -1) exit(1);38error:39if (err)40{ fprintf(stderr,"Usage: gprun [-n] [-w] [-b] gpname [inf] [outf1].\n");41exit(1);42}43else exit(0);44}454647