{ factsig(f)= local(v,i); v=vector(length(f~),i,poldegree(lift(f[i,][1]))); return(vecsort(v)); } { splitting(nf,p) = factsig(factormod(nf.pol,p)) } \\{ \\for(j=1,37, \\ v=[]; \\ y=[]; \\ for(i=1,1000, \\ p=prime(i); \\ if(p!=j, \\ fs=factsig(factormod(f,p)); \\ if(fs==[1,1,1], \\ v=concat(v,[lift(Mod(p,j))])); \\ if(fs==[3], \\ y=concat(y,[lift(Mod(p,j))])); \\ ); \\ ); \\ v=uniq(vecsort(v)); \\ y=uniq(vecsort(y)); \\ print(j": "length(v)" "length(y)); \\) \\}