/* we did a trick to construct the matrix in pari, directly, but insert the matrix here because is faster when TF-ing. Caution: there is a parenthesis missing, all of them have to be closed properly after copy/paste, when the eeror is added, see the source code above. gp> n=60; for(p=1, n-1, if(gcd(p,n)==1, print1("if(pp== "p", v=["); cnt=0; for(k=1,n, if(gcd(q=2*k*p+1,n)==1&&(z=q%8)!=3&&z!=5, print1(k-cnt); cnt=k; if(k1, print("M"p" has a factor: "q" "); if(logfile, write(logfile,p","q) ); return(q); ) ); if((cnt++)>maxcnt, cnt=0; lq=log(q); ll=floor(lq/log(10))+1; ls=floor(lq/log(2)); ld=ls+1; lp=100*(q-(1<