(*Input file for doing the computations in the paper
  "A method for determining the mod-$2^k$ behaviour of
   recursive sequences, with applications to subgroup 
   counting"*)

(*Search for "(*...*)" to see the documentation of the
  individual items*)

(*reduction algorithm of Lemma 9*)
val[0]=0
val[x_]:=Module[{Erg=0,Var=x/2},
   While[IntegerQ[Var],Erg++;Var=Var/2];
   Erg]
ung[x_]:=Module[{Var=x/2},
   While[IntegerQ[Var],Var=Var/2];
   2Var]

H[{},{}]=1
H[a_List,g_List]:=Module[{Var1,Var2,ii,jj,kk,a1,s,l},
   l=Length[a];
   If[Complement[g,{0}]=={}&&OddQ[Product[a[[ii]],{ii,1,l}]],
      Return[H[a]]
     ];
   Var1=Flatten[Position[Mod[a,2],0]];
   Var2=Flatten[Position[g,0]];
   Var2=Complement[Table[ii,{ii,1,l}],Var2];
   Var1=Union[Var1,Var2];
   Var2=Max[Var1];
   a1=ung[a[[Var2]]];
   s=val[a[[Var2]]];
   If[Var2==l,
     If[s<=g[[-1]],
(*rule (3.7)*)
        Return[H[Join[Drop[a,-1],{a1}],Join[Drop[g,-1]-g[[-1]]+s,{0}]]+
         Sum[z^(a1*2^(-kk))H[Drop[a,-1],Drop[g,-1]-g[[-1]]+s+kk-1],
             {kk,1,g[[-1]]-s}]],
(*rule (3.8)*)
        Return[H[Join[Drop[a,-1],{a1}],Join[Drop[g,-1]-g[[-1]]+s,{0}]]-
         Sum[z^(a1*2^(kk))H[Drop[a,-1],Drop[g,-1]-g[[-1]]+s-kk-1],
             {kk,0,s-g[[-1]]-1}]]
       ]
     ];
   If[s<=g[[Var2]],
(*rule (3.9)*)
      Return[H[Join[Drop[a,-(l-Var2+1)],{a1},Drop[a,Var2]],
               Join[Drop[g,-(l-Var2+1)]-g[[Var2]]+s,Table[0,{l-Var2+1}]]]+
       Sum[H[Join[Drop[a,-(l-Var2+1)],{a1+a[[Var2+1]]2^kk},Drop[a,Var2+1]],
               Join[Drop[g,-(l-Var2+1)]-g[[Var2]]+s+kk,{kk},Table[0,{l-Var2-1}]]],
           {kk,0,g[[Var2]]-s-1}]],
(*rule (3.10)*)
      Return[H[Join[Drop[a,-(l-Var2+1)],{a1},Drop[a,Var2]],
               Join[Drop[g,-(l-Var2+1)]-g[[Var2]]+s,Table[0,{l-Var2+1}]]]-
       Sum[H[Join[Drop[a,-(l-Var2+1)],{a1*2^kk+a[[Var2+1]]},Drop[a,Var2+1]],
               Join[Drop[g,-(l-Var2+1)]-g[[Var2]]+s-kk,{0},Table[0,{l-Var2-1}]]],
           {kk,1,s-g[[Var2]]}]]
     ];
   ]

(*expansion of powers of Phi in terms of series H[...]*)
KSubsets[l_List,0] := { {} }
KSubsets[l_List,1] := Partition[l,1]
KSubsets[l_List,k_Integer?Positive] := {l} /; (k == Length[l])
KSubsets[l_List,k_Integer?Positive] := {}  /; (k > Length[l])

KSubsets[l_List,k_Integer?Positive] :=
	Join[
		Map[(Prepend[#,First[l]])&, KSubsets[Rest[l],k-1]],
		KSubsets[Rest[l],k]
	]
Compositions[n_Integer,k_Integer] :=
	Map[
		(Map[(#[[2]]-#[[1]]-1)&, Partition[Join[{0},#,{n+k}],2,1] ])&,
		KSubsets[Range[n+k-1],k-1]
	]
PP[n_]:=PP[n]=Module[{Erg,Var,kk,ii},
   Var=Apply[Union,Table[Compositions[n-kk,kk]+1,{kk,1,n}]];
   Expand[Sum[n!/Product[Var[[kk,ii]]!,{ii,1,Length[Var[[kk]]]}]*
              H[Var[[kk]],Table[0,{Length[Var[[kk]]]}]],
              {kk,1,Length[Var]}]]
   ]

(*Catalan numbers*)
(*utilities for reduction modulo powers of 2*)
R2[Expr_]:=If[NumberQ[Expr],Mod[Expr,2],Expr]
R4[Expr_]:=If[NumberQ[Expr],Mod[Expr,4],Expr]
R8[Expr_]:=If[NumberQ[Expr],Mod[Expr,8],Expr]
R16[Expr_]:=If[NumberQ[Expr],Mod[Expr,16],Expr]
R32[Expr_]:=If[NumberQ[Expr],Mod[Expr,32],Expr]
R64[Expr_]:=If[NumberQ[Expr],Mod[Expr,64],Expr]
R4096[Expr_]:=If[NumberQ[Expr],Mod[Expr,4096],Expr]
R2k[Expr_,k_]:=If[NumberQ[Expr],Mod[Expr,2^k],Expr]

(*Program for deriving (1.2)*)
(*All the programs have a similar structure;
  we document the individual steps for this one*)
Cat64 := Module[{Erg,Var,F,A0,A1,A2,A3,A4,A5,A6,A7,a0,a1,a2,a3,a4,a5,a6,a7},
(*The Ansatz (4.2);
 the base step is already inserted; 
 the basic series \Phi(z) is represented here by f[z]*)
  F[z_] := 
       A0[z] + A1[z] f[z] + A2[z] f[z]^2 + A3[z] f[z]^3 + A4[z] f[z]^4 + 
       A5[z] f[z]^5 + A6[z] f[z]^6 + A7[z] f[z]^7;
  A0[z_] := 1 + z + 2 a0[z];
  A1[z_] := 2 a1[z];
  A2[z_] := 2 a2[z];
  A3[z_] := 2 a3[z];
  A4[z_] := 1/z + 2 a4[z];
  A5[z_] := 2 a5[z];
  A6[z_] := 2 a6[z];
  A7[z_] := 2 a7[z];
  Erg = F[z];
(*The iteration step*)
  For[k = 1,k <= 6,k++,
(*The (differential) equation*)
      Gl = Expand[z Erg^2 - Erg+1];
(*Derivatives of \Phi(z)=f[z] have to be replaced by the
  appropriate polynomial, see the line below (4.8)*)
      Gl = Gl /. D[f[z],z] -> 1+2 z+4 z^3+8 z^7+16 z^15+32 z^31;
(*Reduction modulo the polynomial in (4.4)*)
      Gl = PolynomialRemainder[Gl,(f[z]^4-2 f[z]^3+(2 z+3) f[z]^2+(2 z-2) f[z]-
				 3 z^2+2 z)^2,f[z]];
(*Extraction of the coefficients of \Phi(z)=f[z];
  division by the considered power of 2;
  reduction modulo 2*)
      Gl = Table[
	      Map[R2,Coefficient[Expand[Gl/2^(k)*X],f[z],i],2],{i,0,7}]/.X->1;
(*Solving the obtained system of equations*)
   Var = Solve[
	       Table[Gl[[ii]] == 0,{ii,1,8}],{a0[z],a1[z],a2[z],a3[z],
						  a4[z],a5[z],a6[z],a7[z]}];
(*Substituting the result, and setting up the iteration*)
   Erg = Erg /. {a0[z]->Var[[1,1,2]]+2 a0[z],
                 a1[z]->Var[[1,2,2]]+2 a1[z],
                 a2[z]->Var[[1,3,2]]+2 a2[z],
                 a3[z]->Var[[1,4,2]]+2 a3[z],
                 a4[z]->Var[[1,5,2]]+2 a4[z],
                 a5[z]->Var[[1,6,2]]+2 a5[z],
                 a6[z]->Var[[1,7,2]]+2 a6[z],
                 a7[z]->Var[[1,8,2]]+2 a7[z]};
            ];
(*Displaying the result*)
  Collect[
	  Map[R64,
	      Expand[Erg*X /. {a0[z]->0,a1[z]->0,a2[z]->0,a3[z]->0,
		  a4[z]->0,a5[z]->0,a6[z]->0,a7[z]->0}],2],
    f[z]] /. X->1
  ]

(*Program for deriving Theorem 14*)
Cat4096 := Module[{Erg,Var,F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,
             A11,A12,A13,A14,A15,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,
             a10,a11,a12,a13,a14,a15},
   F[z_] := 
    A0[z]+A1[z] f[z]+A2[z] f[z]^2+A3[z] f[z]^3+A4[z] f[z]^4+
    A5[z] f[z]^5+A6[z] f[z]^6+A7[z] f[z]^7+A8[z] f[z]^8+
    A9[z] f[z]^9+A10[z] f[z]^10+A11[z] f[z]^11+A12[z] f[z]^12+
    A13[z] f[z]^13+A14[z] f[z]^14+A15[z] f[z]^15;
    A0[z_] := 1+z+z^3+2 a0[z];
    A1[z_] := 2 a1[z];
    A2[z_] := 2 a2[z];
    A3[z_] := 2 a3[z];
    A4[z_] := 2 a4[z];
    A5[z_] := 2 a5[z];
    A6[z_] := 2 a6[z];
    A7[z_] := 2 a7[z];
    A8[z_] := 1/z+2 a8[z];
    A9[z_] := 2 a9[z];
    A10[z_] := 2 a10[z];
    A11[z_] := 2 a11[z];
    A12[z_] := 2 a12[z];
    A13[z_] := 2 a13[z];
    A14[z_] := 2 a14[z];
    A15[z_] := 2 a15[z];
    Erg = F[z];
    For[k = 1,k <= 11,k++,
    Gl = Expand[z Erg^2-Erg+1];
    Gl = Gl/.D[f[z],z]->D[Sum[z^(2^t),{t,0,12}],z];
    Gl = PolynomialRemainder[
			    Gl,(f[z]^4-2 f[z]^3+(2 z+3) f[z]^2+(2 z-2) f[z]-
				 3 z^2+2 z)^4,f[z]];
    Gl = Table[
	      Map[R2,Coefficient[Expand[Gl/2^(k)*X],f[z],i],2],{i,0,
                       15}]/.X->1;
    Var = Solve[
	       Table[Gl[[ii]] == 0,{ii,1,16}],{a0[z],a1[z],a2[z],a3[z],
                     a4[z],a5[z],a6[z],a7[z],a8[z],a9[z],a10[z],a11[z],
                     a12[z],a13[z],a14[z],a15[z]}];
    Erg = Erg/.{a0[z]->Var[[1,1,2]]+2 a0[z],
                a1[z]->Var[[1,2,2]]+2 a1[z],
                a2[z]->Var[[1,3,2]]+2 a2[z],
                a3[z]->Var[[1,4,2]]+2 a3[z],
                a4[z]->Var[[1,5,2]]+2 a4[z],
                a5[z]->Var[[1,6,2]]+2 a5[z],
                a6[z]->Var[[1,7,2]]+2 a6[z],
                a7[z]->Var[[1,8,2]]+2 a7[z],
                a8[z]->Var[[1,9,2]]+2 a8[z],
                a9[z]->Var[[1,10,2]]+2 a9[z],
                a10[z]->Var[[1,11,2]]+2 a10[z],
                a11[z]->Var[[1,12,2]]+2 a11[z],
                a12[z]->Var[[1,13,2]]+2 a12[z],
                a13[z]->Var[[1,14,2]]+2 a13[z],
                a14[z]->Var[[1,15,2]]+2 a14[z],
                a15[z]->Var[[1,16,2]]+2 a15[z]};
         ];
  Collect[
	  Map[R4096,
	      Expand[Erg*X/.{a0[z]->0,a1[z]->0,a2[z]->0,a3[z]->0,
		  a4[z]->0,a5[z]->0,a6[z]->0,a7[z]->0,a8[z]->0,
		  a9[z]->0,a10[z]->0,a11[z]->0,a12[z]->0,
		  a13[z]->0,a14[z]->0,a15[z]->0}],2],f[z]]/.X->1
  ]

(*Free subgroup numbers of the inhomogeneous modular group*)
(*Program for deriving Theorem 20 for specific m*)
FLIMG64[m_]:=Module[{Erg,Var,F,A0,A1,A2,A3,A4,A5,A6,A7,a0,a1,a2,a3,a4,a5,a6,a7},
F[z_]:=A0[z]+A1[z]f[z]+A2[z]f[z]^2+A3[z]f[z]^3+A4[z]f[z]^4+A5[z]f[z]^5+A6[z]f[z]^6+A7[z]f[z]^7;
A0[z_]:=z+4z^3+8a0[z];
A1[z_]:=4z+4z^2+8a1[z];
A2[z_]:=4/z+4+6z+4z^2+8a2[z];
A3[z_]:=4/z+4+4z+8a3[z];
A4[z_]:=3/z+8a4[z];
A5[z_]:=4+8a5[z];
A6[z_]:=2/z+4+8a6[z];
A7[z_]:=4/z+8a7[z];
Erg=F[z];
For[k=1,k<=3,k++,
Gl=Expand[Erg (1-6m z)-6m z^2 D[Erg,z]-z Erg^2-5m^2z];
Gl=Gl/.D[f[z],z]->1+2z+4z^3+8z^7+16z^15+32z^31;
Gl=PolynomialRemainder[Gl,(f[z]^4-2f[z]^3+(2z+3)f[z]^2+(2z-2)f[z]-3z^2+2z)^2,f[z]];
Gl=Table[Map[R2,Coefficient[Expand[Gl/2^(k+2)],f[z],i],2],{i,0,7}];
Var=Solve[Table[Gl[[ii]]==0,{ii,1,8}],{a0[z],a1[z],a2[z],a3[z],a4[z],a5[z],a6[z],a7[z]}];
Erg=Erg/.{a0[z]->Var[[1,1,2]]+2a0[z],a1[z]->Var[[1,2,2]]+2a1[z],a2[z]->Var[[1,3,2]]+2a2[z],a3[z]->Var[[1,4,2]]+2a3[z],a4[z]->Var[[1,5,2]]+2a4[z],a5[z]->Var[[1,6,2]]+2a5[z],a6[z]->Var[[1,7,2]]+2a6[z],a7[z]->Var[[1,8,2]]+2a7[z]};
];
Collect[Map[R64,Expand[Erg/.{a0[z]->0,a1[z]->0,a2[z]->0,a3[z]->0,a4[z]->0,a5[z]->0,a6[z]->0,a7[z]->0}],2],f[z]]
]

(*subgroup numbers of the inhomogeneous modular group*)
(*algorithm for dividing by 1+z^6 over Z/2Z*)
Div6[Expr_]:=Module[{Var1,Var2,Erg},
Var1=PolynomialQuotient[Expr,1+z^6,z];
Var2=PolynomialRemainder[Expr,1+z^6,z];
Var2=Sum[Mod[Coefficient[Var2,z,ii],2]z^ii,{ii,-100,Exponent[Var1,z]}];
If[Var2===0,
Erg=Sum[Mod[Coefficient[Var1,z,ii],2]z^ii,{ii,-100,Exponent[Var1,z]}],
Erg=Fail
];
Erg
]

(*solution algorithm of Lemma 22*)
GlSol0[Gl_,var_]:=Module[{Erg,Pol},
Pol=(Gl/.var[z]->0/.D[var[z],z]->0);
Erg=Expand[(Pol+(Pol/.z->-z))/2]+
Div6[Expand[(1+z^9)(Pol-(Pol/.z->-z))/2]];
Erg=Sum[Mod[Coefficient[Erg,z,ii],2]z^ii,{ii,-100,Exponent[Erg,z]}]
]

(*Program for deriving Theorem 24*)
IMG64:=Module[{Erg,Var,F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,X},
F[z_]:=A0[z]+A1[z]f[z]+A2[z]f[z]^2+A3[z]f[z]^3+A4[z]f[z]^4+A5[z]f[z]^5+A6[z]f[z]^6+A7[z]f[z]^7;
A0[z_]:=z^-7+z^-4+z^-3+2a0[z];
A1[z_]:=2a1[z];
A2[z_]:=2a2[z];
A3[z_]:=2a3[z];
A4[z_]:=z^-7+z^-4+2a4[z];
A5[z_]:=2a5[z];
A6[z_]:=2a6[z];
A7[z_]:=2a7[z];
Erg=F[z];
For[k=1,k<=5,k++,
Gl=Expand[Erg (-1+4z^3+2z^4+4z^6-2z^7-4z^9)+(z^7-z^10)( D[Erg,z]+ Erg^2)+1+z+4z^2+4z^3-z^4+4z^5-2z^6-2z^8];
Gl=Gl/.D[f[z],z]->1+2z+4z^3+8z^7+16z^15+32z^31+64z^63+128z^127+256z^255+512z^511+1024z^1023+2048z^2047;
Gl=PolynomialRemainder[Gl,(f[z]^4-2f[z]^3+(2z+3)f[z]^2+(2z-2)f[z]-3z^2+2z)^2,f[z]];
Gl=Table[Map[R2,Coefficient[Expand[X*Gl/2^(k)],f[z],i],2],{i,0,7}]/.X->1;
Var={
a1[z]->GlSol0[Gl[[2]],a1],
a3[z]->GlSol0[Gl[[4]],a3],
a5[z]->GlSol0[Gl[[6]],a5],
a7[z]->GlSol0[Gl[[8]],a7]
};
Gl={Gl[[1]],Gl[[3]],Gl[[5]],Gl[[7]]}/.Var;
Var={{
a0[z]->GlSol0[Gl[[1]],a0],
Var[[1]],
a2[z]->GlSol0[Gl[[2]],a2],
Var[[2]],
a4[z]->GlSol0[Gl[[3]],a4],
Var[[3]],
a6[z]->GlSol0[Gl[[4]],a6],
Var[[4]]
}};
Erg=Erg/.{a0[z]->Var[[1,1,2]]+2a0[z],a1[z]->Var[[1,2,2]]+2a1[z],a2[z]->Var[[1,3,2]]+2a2[z],a3[z]->Var[[1,4,2]]+2a3[z],a4[z]->Var[[1,5,2]]+2a4[z],a5[z]->Var[[1,6,2]]+2a5[z],a6[z]->Var[[1,7,2]]+2a6[z],a7[z]->Var[[1,8,2]]+2a7[z]};
];
Collect[Map[R64,Expand[Erg*X/.{a0[z]->0,a1[z]->0,a2[z]->0,a3[z]->0,a4[z]->0,a5[z]->0,a6[z]->0,a7[z]->0}],2],f[z]]/.X->1
]

(*Program for deriving the corresponding expression modulo 4096*)
IMG4096:=Module[{Erg,Var,F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,X},
F[z_]:=A0[z]+A1[z]f[z]+A2[z]f[z]^2+A3[z]f[z]^3+A4[z]f[z]^4+A5[z]f[z]^5+A6[z]f[z]^6+A7[z]f[z]^7+A8[z]f[z]^8+A9[z]f[z]^9+A10[z]f[z]^10+A11[z]f[z]^11+A12[z]f[z]^12+A13[z]f[z]^13+A14[z]f[z]^14+A15[z]f[z]^15;
A0[z_]:=z^-7+z^-4+1+2a0[z];
A1[z_]:=2a1[z];
A2[z_]:=2a2[z];
A3[z_]:=2a3[z];
A4[z_]:=2a4[z];
A5[z_]:=2a5[z];
A6[z_]:=2a6[z];
A7[z_]:=2a7[z];
A8[z_]:=z^-7+z^-4+2a8[z];
A9[z_]:=2a9[z];
A10[z_]:=2a10[z];
A11[z_]:=2a11[z];
A12[z_]:=2a12[z];
A13[z_]:=2a13[z];
A14[z_]:=2a14[z];
A15[z_]:=2a15[z];
Erg=F[z];
For[k=1,k<=11,k++,
Gl=Expand[Erg (-1+4z^3+2z^4+4z^6-2z^7-4z^9)+(z^7-z^10)( D[Erg,z]+ Erg^2)+1+z+4z^2+4z^3-z^4+4z^5-2z^6-2z^8];
Gl=Gl/.D[f[z],z]->1+2z+4z^3+8z^7+16z^15+32z^31+64z^63+128z^127+256z^255+512z^511+1024z^1023+2048z^2047;
Gl=PolynomialRemainder[Gl,(f[z]^4-2f[z]^3+(2z+3)f[z]^2+(2z-2)f[z]-3z^2+2z)^4,f[z]];
Gl=Table[Map[R2,Coefficient[Expand[X*Gl/2^(k)],f[z],i],2],{i,0,15}]/.X->1;
Var={
a1[z]->GlSol0[Gl[[2]],a1],
a3[z]->GlSol0[Gl[[4]],a3],
a5[z]->GlSol0[Gl[[6]],a5],
a7[z]->GlSol0[Gl[[8]],a7],
a9[z]->GlSol0[Gl[[10]],a9],
a11[z]->GlSol0[Gl[[12]],a11],
a13[z]->GlSol0[Gl[[14]],a13],
a15[z]->GlSol0[Gl[[16]],a15]
};
Gl={Gl[[1]],Gl[[3]],Gl[[5]],Gl[[7]],Gl[[9]],Gl[[11]],Gl[[13]],Gl[[15]]}/.Var;
Var={{
a0[z]->GlSol0[Gl[[1]],a0],
Var[[1]],
a2[z]->GlSol0[Gl[[2]],a2],
Var[[2]],
a4[z]->GlSol0[Gl[[3]],a4],
Var[[3]],
a6[z]->GlSol0[Gl[[4]],a6],
Var[[4]],
a8[z]->GlSol0[Gl[[5]],a8],
Var[[5]],
a10[z]->GlSol0[Gl[[6]],a10],
Var[[6]],
a12[z]->GlSol0[Gl[[7]],a12],
Var[[7]],
a14[z]->GlSol0[Gl[[8]],a14],
Var[[8]]
}};
Erg=Erg/.{a0[z]->Var[[1,1,2]]+2a0[z],a1[z]->Var[[1,2,2]]+2a1[z],a2[z]->Var[[1,3,2]]+2a2[z],a3[z]->Var[[1,4,2]]+2a3[z],a4[z]->Var[[1,5,2]]+2a4[z],a5[z]->Var[[1,6,2]]+2a5[z],a6[z]->Var[[1,7,2]]+2a6[z],a7[z]->Var[[1,8,2]]+2a7[z],a8[z]->Var[[1,9,2]]+2a8[z],a9[z]->Var[[1,10,2]]+2a9[z],a10[z]->Var[[1,11,2]]+2a10[z],a11[z]->Var[[1,12,2]]+2a11[z],a12[z]->Var[[1,13,2]]+2a12[z],a13[z]->Var[[1,14,2]]+2a13[z],a14[z]->Var[[1,15,2]]+2a14[z],a15[z]->Var[[1,16,2]]+2a15[z]};
];
Collect[Map[R4096,Expand[Erg*X/.{a0[z]->0,a1[z]->0,a2[z]->0,a3[z]->0,a4[z]->0,a5[z]->0,a6[z]->0,a7[z]->0,a8[z]->0,a9[z]->0,a10[z]->0,a11[z]->0,a12[z]->0,a13[z]->0,a14[z]->0,a15[z]->0}],2],f[z]]/.X->1
]

(*Subgroup numbers for the homogeneous modular group SL2(Z)*)

(*simplification of rational functions over Z/2Z into polynomials,
  if possible*)
RatPol[Expr_,z_]:=Module[{Z,N,X,Erg},
   Erg=Factor[Expr];
   Z=Numerator[Erg];
   Z=Map[R2,Expand[(Z+Y)*X],2]/.X->1/.Y->0;
   N=Denominator[Erg];
   N=Map[R2,Expand[(N+Y)*X],2]/.X->1/.Y->0;
   M=-Exponent[N/.z->1/z,z];
   Z=Expand[Z/z^M];
   N=Expand[N/z^M];
   If[Map[R2,Expand[PolynomialRemainder[Z,N,z]*X],2]=!=0,
      Print[Z/N,"Fail! while trying to simplify this rational function into a polynomial"]];
   PolynomialQuotient[Z,N,z]
   ]

(*equation solver of Lemma 12*)						
GlSol[Gl_List,var_List]:=Module[{Erg,Pol,Pole,Polo,A,B,Ae,Ao,Be,Bo,Xe,Xo,ii},
Pol=Table[ Gl[[ii]]/.
  Union[Table[var[[ii]]->0,{ii,1,Length[var]}],
        Table[D[var[[ii]],z]->0,{ii,1,Length[var]}]],
 {ii,1,Length[Gl]}];
Pole=Table[Expand[(Pol[[ii]]+(Pol[[ii]]/.z->-z))/2],{ii,1,Length[Pol]}];
Polo=Table[Expand[(Pol[[ii]]-(Pol[[ii]]/.z->-z))/2],{ii,1,Length[Pol]}];
A=Table[Table[Coefficient[Gl[[ii]],var[[jj]]],
        {ii,1,Length[Gl]}],{jj,1,Length[var]}];
B=Table[Table[Coefficient[Gl[[ii]],D[var[[jj]],z]],
        {ii,1,Length[Gl]}],{jj,1,Length[var]}];
Ae=Table[Table[Expand[(A[[ii,jj]]+(A[[ii,jj]]/.z->-z))/2],
         {ii,1,Length[A]}],{jj,1,Length[Gl]}];
Ao=Table[Table[Expand[(A[[ii,jj]]-(A[[ii,jj]]/.z->-z))/2],
         {ii,1,Length[A]}],{jj,1,Length[Gl]}];
Be=Table[Table[Expand[(B[[ii,jj]]+(B[[ii,jj]]/.z->-z))/2],
         {ii,1,Length[B]}],{jj,1,Length[Gl]}];
Bo=Table[Table[Expand[(B[[ii,jj]]-(B[[ii,jj]]/.z->-z))/2],
         {ii,1,Length[B]}],{jj,1,Length[Gl]}];
Erg=Solve[Union[
    Table[Sum[
     Ae[[ii,jj]]Xe[jj]+Ao[[ii,jj]]Xo[jj]+Be[[ii,jj]]Xo[jj]/z,
             {jj,1,Length[var]}]+Pole[[ii]]==0,{ii,1,Length[Gl]}],
    Table[Sum[
     Ao[[ii,jj]]Xe[jj]+Ae[[ii,jj]]Xo[jj]+Bo[[ii,jj]]Xo[jj]/z,
             {jj,1,Length[var]}]+Polo[[ii]]==0,{ii,1,Length[Gl]}]],
    Union[Table[Xe[jj],{jj,1,Length[var]}],Table[Xo[jj],{jj,1,Length[var]}]]
    ];
Table[var[[jj]]->RatPol[(Xe[jj]+Xo[jj])/.Erg[[1]],z],{jj,1,Length[var]}]
]

(*The Riccati-type differential equation from (11.5)*)
Clear[S0,S1,S2,S3,S4];
DGl1 = 15 + 11*z + z^2 + 14*z^3 + 4*z^4 + 13*z^6 + 5*z^7 + 15*z^8 + 9*z^9 + 8*z^10 + 
 2*z^11 + 5*z^12 + 10*z^13 + z^14 + 11*z^15 + 12*z^16 + 14*z^17 + 15*z^18 + 
 7*z^19 + z^20 + 9*z^21 + 7*z^22 + 4*z^23 + 11*z^24 + 9*z^25 + 6*z^26 + 
 13*z^27 + 14*z^28 + 14*z^29 + 6*z^30 + 11*z^31 + 2*z^33 + 4*z^34 + 4*z^36 + 
 8*z^37 + 12*z^38 + 4*z^39 + 12*z^40 + 12*z^41 + 4*z^43 + 12*z^45 + 8*z^46 + 
 8*z^47 + S2*(14*z^9 + 15*z^10 + 2*z^12 + 2*z^13 + 4*z^15 + 9*z^16 + 
   12*z^17 + 6*z^18 + 14*z^19 + 12*z^20 + 8*z^21 + 2*z^22 + 14*z^24 + 
   14*z^25 + 8*z^26 + 14*z^27 + 5*z^28 + 8*z^29 + 14*z^30 + 7*z^31 + 6*z^33 + 
   7*z^34 + 2*z^36 + 2*z^37 + 12*z^38 + 6*z^39 + 5*z^40 + 4*z^41 + 8*z^42 + 
   6*z^43 + 8*z^44 + 4*z^45 + 14*z^46 + 8*z^47 + 12*z^48 + 8*z^50 + 6*z^52) + 
 S0^4*(4*z^22 + 2*z^23 + 12*z^25 + 12*z^26 + 10*z^29 + 8*z^31 + 8*z^32 + 
   11*z^33 + 10*z^34 + 6*z^35 + 2*z^36 + 4*z^37 + 6*z^38 + 4*z^39 + 10*z^40 + 
   4*z^41 + 15*z^42 + 9*z^44 + z^45 + 2*z^46 + 4*z^47 + 15*z^51 + 4*z^53) + 
 S3*(4*z^22 + 2*z^23 + 12*z^25 + 12*z^26 + 10*z^29 + 8*z^31 + 8*z^32 + 
   11*z^33 + 10*z^34 + 6*z^35 + 2*z^36 + 4*z^37 + 6*z^38 + 4*z^39 + 10*z^40 + 
   4*z^41 + 15*z^42 + 9*z^44 + z^45 + 2*z^46 + 4*z^47 + 15*z^51 + 4*z^53) + 
 S1^2*(12*z^22 + 6*z^23 + 4*z^25 + 4*z^26 + 14*z^29 + 8*z^31 + 8*z^32 + 
   z^33 + 14*z^34 + 2*z^35 + 6*z^36 + 12*z^37 + 2*z^38 + 12*z^39 + 14*z^40 + 
   12*z^41 + 13*z^42 + 11*z^44 + 3*z^45 + 6*z^46 + 12*z^47 + 13*z^51 + 
   12*z^53) + S0^5*(14*z^35 + 15*z^36 + 2*z^38 + 2*z^39 + 10*z^41 + 12*z^42 + 
   4*z^43 + 10*z^44 + 3*z^45 + 12*z^46 + 6*z^47 + 15*z^48 + 13*z^54) + 
 S4*(14*z^35 + 15*z^36 + 2*z^38 + 2*z^39 + 10*z^41 + 12*z^42 + 4*z^43 + 
   10*z^44 + 3*z^45 + 12*z^46 + 6*z^47 + 15*z^48 + 13*z^54) + 
 S0^3*(14*z^9 + 15*z^10 + 2*z^12 + 2*z^13 + 4*z^15 + 9*z^16 + 12*z^17 + 
   6*z^18 + 14*z^19 + 12*z^20 + 8*z^21 + 2*z^22 + 14*z^24 + 14*z^25 + 
   8*z^26 + 14*z^27 + 5*z^28 + 8*z^29 + 14*z^30 + 7*z^31 + 6*z^33 + 7*z^34 + 
   2*z^36 + 2*z^37 + 12*z^38 + 6*z^39 + 5*z^40 + 4*z^41 + 8*z^42 + 6*z^43 + 
   8*z^44 + 4*z^45 + 14*z^46 + 8*z^47 + 12*z^48 + 8*z^50 + 6*z^52) + 
   S0^3*S1*(12*z^35 + 6*z^36 + 4*z^38 + 4*z^39 + 4*z^41 + 8*z^42 + 8*z^43 + 
     4*z^44 + 14*z^45 + 8*z^46 + 12*z^47 + 6*z^48 + 2*z^54) + 
 S1*(2*z^2 + z^3 + 8*z^5 + 7*z^6 + 13*z^7 + 14*z^8 + 12*z^9 + 2*z^10 + 
   10*z^11 + 14*z^12 + 15*z^13 + 12*z^14 + 9*z^15 + 6*z^16 + 3*z^18 + 
   10*z^19 + 12*z^20 + 10*z^21 + 14*z^22 + 2*z^23 + 12*z^24 + 9*z^25 + 
   12*z^26 + 4*z^27 + 7*z^28 + 12*z^29 + 7*z^30 + 5*z^31 + 10*z^32 + 8*z^33 + 
   10*z^34 + 6*z^35 + 2*z^36 + 5*z^37 + 14*z^39 + 8*z^40 + 4*z^41 + 2*z^42 + 
   10*z^43 + 12*z^44 + 4*z^46 + 4*z^47 + 12*z^48 + 2*z^49 + 12*z^51) + 
   S1*S2*(12*z^35 + 6*z^36 + 4*z^38 + 4*z^39 + 4*z^41 + 8*z^42 + 8*z^43 + 
     4*z^44 + 14*z^45 + 8*z^46 + 12*z^47 + 6*z^48 + 2*z^54) + 
 S0^2*(2*z^2 + z^3 + 8*z^5 + 7*z^6 + 13*z^7 + 14*z^8 + 12*z^9 + 2*z^10 + 
   10*z^11 + 14*z^12 + 15*z^13 + 12*z^14 + 9*z^15 + 6*z^16 + 3*z^18 + 
   10*z^19 + 12*z^20 + 10*z^21 + 14*z^22 + 2*z^23 + 12*z^24 + 9*z^25 + 
   12*z^26 + 4*z^27 + 7*z^28 + 12*z^29 + 7*z^30 + 5*z^31 + 10*z^32 + 8*z^33 + 
   10*z^34 + 6*z^35 + 2*z^36 + 5*z^37 + 14*z^39 + 8*z^40 + 4*z^41 + 2*z^42 + 
   10*z^43 + 12*z^44 + 4*z^46 + 4*z^47 + 12*z^48 + 2*z^49 + 12*z^51) + 
   S0^2*S1*(8*z^22 + 12*z^23 + 8*z^25 + 8*z^26 + 12*z^29 + 2*z^33 + 12*z^34 + 
     4*z^35 + 12*z^36 + 8*z^37 + 4*z^38 + 8*z^39 + 12*z^40 + 8*z^41 + 
     10*z^42 + 6*z^44 + 6*z^45 + 12*z^46 + 8*z^47 + 10*z^51 + 8*z^53) + 
   S0^2*S2*(12*z^35 + 6*z^36 + 4*z^38 + 4*z^39 + 4*z^41 + 8*z^42 + 8*z^43 + 
     4*z^44 + 14*z^45 + 8*z^46 + 12*z^47 + 6*z^48 + 2*z^54) + 
 S0*(1 + 4*z + 3*z^2 + 5*z^4 + 6*z^5 + 8*z^6 + 6*z^7 + 11*z^9 + 9*z^10 + 
   2*z^12 + 6*z^13 + 13*z^14 + 8*z^15 + 14*z^16 + 6*z^17 + 9*z^18 + 14*z^19 + 
   4*z^20 + z^21 + z^22 + 8*z^23 + z^24 + 13*z^25 + 8*z^27 + 11*z^28 + 
   4*z^29 + z^30 + 10*z^31 + 6*z^33 + 13*z^34 + 4*z^36 + 8*z^38 + 4*z^39 + 
   4*z^40 + 4*z^41 + 12*z^42 + 4*z^43 + 12*z^45 + 12*z^46 + 8*z^48) + 
   S0*S2*(8*z^23 + 8*z^29 + 12*z^33 + 8*z^34 + 8*z^35 + 8*z^36 + 8*z^38 + 
     8*z^40 + 12*z^42 + 4*z^44 + 4*z^45 + 8*z^46 + 12*z^51) + 
   S0*S1*(10*z^9 + 13*z^10 + 6*z^12 + 6*z^13 + 12*z^15 + 11*z^16 + 4*z^17 + 
     2*z^18 + 10*z^19 + 4*z^20 + 8*z^21 + 6*z^22 + 10*z^24 + 10*z^25 + 
     8*z^26 + 10*z^27 + 15*z^28 + 8*z^29 + 10*z^30 + 5*z^31 + 2*z^33 + 
     5*z^34 + 6*z^36 + 6*z^37 + 4*z^38 + 2*z^39 + 15*z^40 + 12*z^41 + 
     8*z^42 + 2*z^43 + 8*z^44 + 12*z^45 + 10*z^46 + 8*z^47 + 4*z^48 + 
     8*z^50 + 2*z^52) + S0*S3*(6*z^35 + 11*z^36 + 10*z^38 + 10*z^39 + 2*z^41 + 
     12*z^42 + 4*z^43 + 2*z^44 + 15*z^45 + 12*z^46 + 14*z^47 + 11*z^48 + 
     z^54) + S0*S1^2*(2*z^35 + z^36 + 14*z^38 + 14*z^39 + 6*z^41 + 4*z^42 + 
     12*z^43 + 6*z^44 + 13*z^45 + 4*z^46 + 10*z^47 + z^48 + 3*z^54);

(*applying the method modulo 8: it fails*)
SL2Z8a := Module[{Erg, Var, F, A0, A1, A2, A3, A4, A5, 
    a0, a1, a2, a3, a4, a5, X},
  F[z_] := 
   A0[z] + A1[z] f[z] + A2[z] f[z]^2 + A3[z] f[z]^3;
   A0[z_] := z^(-11)+z^(-9) + z^(-3) + z^(-2) + 2 a0[z];
   A1[z_] := 2 a1[z];
   A2[z_] := z^(-13) + z^(-7) + z^(-4) + 2 a2[z];
   A3[z_] := 2 a3[z];
  Erg=F[z];

  For[k = 1, k <= 2, k++,

S0=Erg;

S1=Collect[Map[R8,Expand[X*D[S0,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]];

S2=Collect[Map[R8,Expand[X*D[S1,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]];

S3=Collect[Map[R8,Expand[X*D[S2,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]];

S4=Collect[Map[R8,Expand[X*D[S3,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]];

(*The Riccati-type differential equation from (11.5)*)
   Gl = Expand[DGl1];

   Gl = Collect[Expand[(Map[R8,Expand[X*Gl],2]/.X->1)],f[z]]/.D[D[a0[z],z],z]->0/.D[D[D[a0[z],z],z],z]->0/.D[D[D[D[a0[z],z],z],z],z]->0/.D[D[a1[z],z],z]->0/.D[D[D[a1[z],z],z],z]->0/.D[D[D[D[a1[z],z],z],z],z]->0/.D[D[a2[z],z],z]->0/.D[D[D[a2[z],z],z],z]->0/.D[D[D[D[a2[z],z],z],z],z]->0/.D[D[a3[z],z],z]->0/.D[D[D[a3[z],z],z],z]->0/.D[D[D[D[a3[z],z],z],z],z]->0/.D[D[a4[z],z],z]->0/.D[D[D[a4[z],z],z],z]->0/.D[D[D[D[a4[z],z],z],z],z]->0/.D[D[a5[z],z],z]->0/.D[D[D[a5[z],z],z],z]->0/.D[D[D[D[a5[z],z],z],z],z]->0/.D[D[a6[z],z],z]->0/.D[D[D[a6[z],z],z],z]->0/.D[D[D[D[a6[z],z],z],z],z]->0/.D[D[a7[z],z],z]->0/.D[D[D[a7[z],z],z],z]->0/.D[D[D[D[a7[z],z],z],z],z]->0;

   Gl = PolynomialRemainder[
     Gl, (f[z]^4 - 2 f[z]^3 + (2 z + 3) f[z]^2 + (2 z - 2) f[z] - 
        3 z^2 + 2 z), f[z]];
   
   Gl = Table[
      Map[R2, Coefficient[Expand[X*Gl/2^(k)], f[z], i], 2], {i, 0, 
       3}] /. X -> 1;

   Var=GlSol[Gl,{a0[z],a1[z],a2[z],a3[z]}];
   Erg = Erg /. {a0[z] -> Var[[1, 2]] + 2 a0[z], 
      a1[z] -> Var[[2, 2]] + 2 a1[z], 
      a2[z] -> Var[[3, 2]] + 2 a2[z], 
      a3[z] -> Var[[4, 2]] + 2 a3[z]};
   ];
  ]

(*Program for deriving Theorem 26*)
SL2Z8 := Module[{Erg, Var, F, A0, A1, A2, A3, A4, A5, 
    a0, a1, a2, a3, a4, a5, X},
  F[z_] := 
   A0[z] + A1[z] f[z] + A2[z] f[z]^2 + A3[z] f[z]^3 + A4[z] f[z]^4 + 
    A5[z] f[z]^5;
  A0[z_] := z^(-9) + z^(-5) + z^(-3) + 2 a0[z];
  A1[z_] := 2 a1[z];
  A2[z_] := 2 a2[z];
  A3[z_] := 2 a3[z];
  A4[z_] := z^(-13) + z^(-7) + z^(-4) + 2 a4[z];
  A5[z_] := 2 a5[z];
  Erg=F[z];

  For[k = 1, k <= 2, k++,

S0=Erg;

S1=Collect[Map[R8,Expand[X*D[S0,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]];

S2=Collect[Map[R8,Expand[X*D[S1,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]];

S3=Collect[Map[R8,Expand[X*D[S2,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]];

S4=Collect[Map[R8,Expand[X*D[S3,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]];

(*The Riccati-type differential equation from (11.5)*)
   Gl = Expand[DGl1];

   Gl = Collect[Expand[(Map[R8,Expand[X*Gl],2]/.X->1)],f[z]]/.D[D[a0[z],z],z]->0/.D[D[D[a0[z],z],z],z]->0/.D[D[D[D[a0[z],z],z],z],z]->0/.D[D[a1[z],z],z]->0/.D[D[D[a1[z],z],z],z]->0/.D[D[D[D[a1[z],z],z],z],z]->0/.D[D[a2[z],z],z]->0/.D[D[D[a2[z],z],z],z]->0/.D[D[D[D[a2[z],z],z],z],z]->0/.D[D[a3[z],z],z]->0/.D[D[D[a3[z],z],z],z]->0/.D[D[D[D[a3[z],z],z],z],z]->0/.D[D[a4[z],z],z]->0/.D[D[D[a4[z],z],z],z]->0/.D[D[D[D[a4[z],z],z],z],z]->0/.D[D[a5[z],z],z]->0/.D[D[D[a5[z],z],z],z]->0/.D[D[D[D[a5[z],z],z],z],z]->0/.D[D[a6[z],z],z]->0/.D[D[D[a6[z],z],z],z]->0/.D[D[D[D[a6[z],z],z],z],z]->0/.D[D[a7[z],z],z]->0/.D[D[D[a7[z],z],z],z]->0/.D[D[D[D[a7[z],z],z],z],z]->0;

   Gl = PolynomialRemainder[
     Gl, (f[z]^4 - 2 f[z]^3 + (2 z + 3) f[z]^2 + (2 z - 2) f[z] - 
        3 z^2 + 2 z)(f[z]^2-f[z]+z), f[z]];
   
   Gl = Table[
      Map[R2, Coefficient[Expand[X*Gl/2^(k)], f[z], i], 2], {i, 0, 
       5}] /. X -> 1;

   Var=GlSol[Gl,{a0[z],a1[z],a2[z],a3[z],a4[z],a5[z]}];
   Erg = Erg /. {a0[z] -> Var[[1, 2]] + 2 a0[z], 
      a1[z] -> Var[[2, 2]] + 2 a1[z], 
      a2[z] -> Var[[3, 2]] + 2 a2[z], 
      a3[z] -> Var[[4, 2]] + 2 a3[z], 
      a4[z] -> Var[[5, 2]] + 2 a4[z], 
      a5[z] -> Var[[6, 2]] + 2 a5[z]};
   ];
  Collect[
    Map[R8, 
	Expand[Erg*X /. {a0[z] -> 0, a1[z] -> 0, a2[z] -> 0, a3[z] -> 0,
                         a4[z] -> 0, a5[z] -> 0}], 2], 
             f[z]] /. X -> 1   
  ]

(*Program for producing the equations for determining the subgroup
 numbers of SL2(Z) modulo 16, which then can be "handed over" to
 the procedure explained in Appendix D*)
SL2Z16 := Module[{Erg, Var, F, A0, A1, A2, A3, A4, A5, X},
  Clear[a0,a1,a2,a3,a4,a5];
  F[z_] := 
   A0[z] + A1[z] f[z] + A2[z] f[z]^2 + A3[z] f[z]^3 + A4[z] f[z]^4 + 
    A5[z] f[z]^5;
  A0[z_] := z^(-9) + z^(-5) + z^(-3) + 2 a0[z];
  A1[z_] := 2 a1[z];
  A2[z_] := 2 a2[z];
  A3[z_] := 2 a3[z];
  A4[z_] := z^(-13) + z^(-7) + z^(-4) + 2 a4[z];
  A5[z_] := 2 a5[z];
  Erg=F[z];

  For[k = 1, k <= 3, k++,

S0=Erg;

S1=Collect[Map[R16,Expand[X*D[S0,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]];

S2=Collect[Map[R16,Expand[X*D[S1,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]];

S3=Collect[Map[R16,Expand[X*D[S2,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]];

S4=Collect[Map[R16,Expand[X*D[S3,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]];

(*The Riccati-type differential equation from (11.5)*)
   Gl = Expand[DGl1];

   Gl = Collect[Expand[(Map[R16,Expand[X*Gl],2]/.X->1)],f[z]]/.D[D[a0[z],z],z]->0/.D[D[D[a0[z],z],z],z]->0/.D[D[D[D[a0[z],z],z],z],z]->0/.D[D[a1[z],z],z]->0/.D[D[D[a1[z],z],z],z]->0/.D[D[D[D[a1[z],z],z],z],z]->0/.D[D[a2[z],z],z]->0/.D[D[D[a2[z],z],z],z]->0/.D[D[D[D[a2[z],z],z],z],z]->0/.D[D[a3[z],z],z]->0/.D[D[D[a3[z],z],z],z]->0/.D[D[D[D[a3[z],z],z],z],z]->0/.D[D[a4[z],z],z]->0/.D[D[D[a4[z],z],z],z]->0/.D[D[D[D[a4[z],z],z],z],z]->0/.D[D[a5[z],z],z]->0/.D[D[D[a5[z],z],z],z]->0/.D[D[D[D[a5[z],z],z],z],z]->0/.D[D[a6[z],z],z]->0/.D[D[D[a6[z],z],z],z]->0/.D[D[D[D[a6[z],z],z],z],z]->0/.D[D[a7[z],z],z]->0/.D[D[D[a7[z],z],z],z]->0/.D[D[D[D[a7[z],z],z],z],z]->0;

   Gl = PolynomialRemainder[
     Gl, (f[z]^4 - 2 f[z]^3 + (2 z + 3) f[z]^2 + (2 z - 2) f[z] - 
        3 z^2 + 2 z)(f[z]^2-f[z]+z), f[z]];
   
   Gl = Table[
      Map[R2, Coefficient[Expand[X*Gl/2^(k)], f[z], i], 2], {i, 0, 
       5}] /. X -> 1;

   If[k==3, Return[Gl]];

   Var=GlSol[Gl,{a0[z],a1[z],a2[z],a3[z],a4[z],a5[z]}];
   Erg = Erg /. {a0[z] -> Var[[1, 2]] + 2 a0[z], 
      a1[z] -> Var[[2, 2]] + 2 a1[z], 
      a2[z] -> Var[[3, 2]] + 2 a2[z], 
      a3[z] -> Var[[4, 2]] + 2 a3[z], 
      a4[z] -> Var[[5, 2]] + 2 a4[z], 
      a5[z] -> Var[[6, 2]] + 2 a5[z]};
   ];
   Gl
  ]

(*Subgroup numbers for the lift Gamma_3(3)*)

(*The Riccati-type differential equation from (12.3)*)
Clear[S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11];
DGl2 = Expand[15 + S0 + 8*z + 7*S0*z + z^2 + 8*S0*z^2 + 14*S0^2*z^2 + 14*S1*z^2 + 4*z^3 + 
 4*S0*z^3 + 6*S0^2*z^3 + 3*S0^3*z^3 + 6*S1*z^3 + 9*S0*S1*z^3 + 3*S2*z^3 + 
 4*z^4 + 11*S0*z^4 + 14*S0^2*z^4 + S0^3*z^4 + 2*S0^4*z^4 + 14*S1*z^4 + 
 3*S0*S1*z^4 + 12*S0^2*S1*z^4 + 6*S1^2*z^4 + S2*z^4 + 8*S0*S2*z^4 + 
 2*S3*z^4 + 11*z^5 + 2*S0*z^5 + 2*S0^2*z^5 + 3*S0^3*z^5 + 5*S0^4*z^5 + 
 12*S0^5*z^5 + 2*S1*z^5 + 9*S0*S1*z^5 + 14*S0^2*S1*z^5 + 8*S0^3*S1*z^5 + 
 15*S1^2*z^5 + 4*S0*S1^2*z^5 + 3*S2*z^5 + 4*S0*S2*z^5 + 8*S0^2*S2*z^5 + 
 8*S1*S2*z^5 + 5*S3*z^5 + 12*S0*S3*z^5 + 12*S4*z^5 + 4*z^6 + 8*S0*z^6 + 
 6*S0^3*z^6 + 11*S0^4*z^6 + 15*S0^5*z^6 + 3*S0^6*z^6 + 2*S0*S1*z^6 + 
 2*S0^2*S1*z^6 + 6*S0^3*S1*z^6 + 13*S0^4*S1*z^6 + S1^2*z^6 + S0*S1^2*z^6 + 
 7*S0^2*S1^2*z^6 + 13*S1^3*z^6 + 6*S2*z^6 + 12*S0*S2*z^6 + 6*S0^2*S2*z^6 + 
 12*S0^3*S2*z^6 + 6*S1*S2*z^6 + 4*S0*S1*S2*z^6 + 14*S2^2*z^6 + 11*S3*z^6 + 
 11*S0*S3*z^6 + 13*S0^2*S3*z^6 + 13*S1*S3*z^6 + 15*S4*z^6 + 2*S0*S4*z^6 + 
 3*S5*z^6 + 10*z^7 + 4*S0*z^7 + 6*S0^2*z^7 + S0^3*z^7 + 13*S0^4*z^7 + 
 14*S0^6*z^7 + 6*S1*z^7 + 3*S0*S1*z^7 + 14*S0^2*S1*z^7 + 2*S0^4*S1*z^7 + 
 7*S1^2*z^7 + 6*S0^2*S1^2*z^7 + 2*S1^3*z^7 + S2*z^7 + 4*S0*S2*z^7 + 
 8*S0^3*S2*z^7 + 8*S0*S1*S2*z^7 + 12*S2^2*z^7 + 13*S3*z^7 + 2*S0^2*S3*z^7 + 
 2*S1*S3*z^7 + 4*S0*S4*z^7 + 14*S5*z^7 + 14*z^8 + 2*S0*z^8 + 2*S0^2*z^8 + 
 4*S0^3*z^8 + 5*S0^4*z^8 + 9*S0^5*z^8 + 3*S0^6*z^8 + 12*S0^7*z^8 + 2*S1*z^8 + 
 12*S0*S1*z^8 + 14*S0^2*S1*z^8 + 10*S0^3*S1*z^8 + 13*S0^4*S1*z^8 + 
 12*S0^5*S1*z^8 + 15*S1^2*z^8 + 7*S0*S1^2*z^8 + 7*S0^2*S1^2*z^8 + 
 12*S0^3*S1^2*z^8 + 13*S1^3*z^8 + 12*S0*S1^3*z^8 + 4*S2*z^8 + 4*S0*S2*z^8 + 
 10*S0^2*S2*z^8 + 12*S0^3*S2*z^8 + 4*S0^4*S2*z^8 + 10*S1*S2*z^8 + 
 4*S0*S1*S2*z^8 + 8*S0^2*S1*S2*z^8 + 12*S1^2*S2*z^8 + 14*S2^2*z^8 + 
 8*S0*S2^2*z^8 + 5*S3*z^8 + 13*S0*S3*z^8 + 13*S0^2*S3*z^8 + 4*S0^3*S3*z^8 + 
 13*S1*S3*z^8 + 12*S0*S1*S3*z^8 + 4*S2*S3*z^8 + 9*S4*z^8 + 2*S0*S4*z^8 + 
 12*S0^2*S4*z^8 + 12*S1*S4*z^8 + 3*S5*z^8 + 4*S0*S5*z^8 + 12*S6*z^8 + 2*z^9 + 
 10*S0*z^9 + 14*S0^2*z^9 + 12*S0^3*z^9 + S0^4*z^9 + 7*S0^5*z^9 + 5*S0^6*z^9 + 
 6*S0^7*z^9 + 14*S1*z^9 + 4*S0*S1*z^9 + 6*S0^2*S1*z^9 + 6*S0^3*S1*z^9 + 
 11*S0^4*S1*z^9 + 14*S0^5*S1*z^9 + 3*S1^2*z^9 + 9*S0*S1^2*z^9 + 
 S0^2*S1^2*z^9 + 6*S0^3*S1^2*z^9 + 11*S1^3*z^9 + 6*S0*S1^3*z^9 + 12*S2*z^9 + 
 4*S0*S2*z^9 + 6*S0^2*S2*z^9 + 4*S0^3*S2*z^9 + 2*S0^4*S2*z^9 + 6*S1*S2*z^9 + 
 12*S0*S1*S2*z^9 + 12*S0^2*S1*S2*z^9 + 6*S1^2*S2*z^9 + 2*S2^2*z^9 + 
 4*S0*S2^2*z^9 + S3*z^9 + 3*S0*S3*z^9 + 11*S0^2*S3*z^9 + 2*S0^3*S3*z^9 + 
 11*S1*S3*z^9 + 6*S0*S1*S3*z^9 + 2*S2*S3*z^9 + 7*S4*z^9 + 14*S0*S4*z^9 + 
 14*S0^2*S4*z^9 + 14*S1*S4*z^9 + 5*S5*z^9 + 10*S0*S5*z^9 + 6*S6*z^9 + 
 9*z^10 + 6*S0*z^10 + 13*S0^3*z^10 + 11*S0^4*z^10 + 2*S0^6*z^10 + S0^7*z^10 + 
 7*S0*S1*z^10 + 2*S0^2*S1*z^10 + 14*S0^4*S1*z^10 + 5*S0^5*S1*z^10 + 
 S1^2*z^10 + 10*S0^2*S1^2*z^10 + 9*S0^3*S1^2*z^10 + 14*S1^3*z^10 + 
 9*S0*S1^3*z^10 + 13*S2*z^10 + 12*S0*S2*z^10 + 8*S0^3*S2*z^10 + 
 3*S0^4*S2*z^10 + 8*S0*S1*S2*z^10 + 2*S0^2*S1*S2*z^10 + 9*S1^2*S2*z^10 + 
 4*S2^2*z^10 + 6*S0*S2^2*z^10 + 11*S3*z^10 + 14*S0^2*S3*z^10 + 
 3*S0^3*S3*z^10 + 14*S1*S3*z^10 + 9*S0*S1*S3*z^10 + 3*S2*S3*z^10 + 
 12*S0*S4*z^10 + 5*S0^2*S4*z^10 + 5*S1*S4*z^10 + 2*S5*z^10 + 7*S0*S5*z^10 + 
 S6*z^10 + 14*z^11 + S0*z^11 + 2*S0^2*z^11 + 3*S0^3*z^11 + 11*S0^4*z^11 + 
 3*S0^5*z^11 + 10*S0^7*z^11 + 2*S1*z^11 + 9*S0*S1*z^11 + 2*S0^2*S1*z^11 + 
 14*S0^3*S1*z^11 + 2*S0^5*S1*z^11 + S1^2*z^11 + 13*S0*S1^2*z^11 + 
 10*S0^3*S1^2*z^11 + 10*S0*S1^3*z^11 + 3*S2*z^11 + 12*S0*S2*z^11 + 
 14*S0^2*S2*z^11 + 14*S0^4*S2*z^11 + 14*S1*S2*z^11 + 4*S0^2*S1*S2*z^11 + 
 10*S1^2*S2*z^11 + 12*S0*S2^2*z^11 + 11*S3*z^11 + 15*S0*S3*z^11 + 
 14*S0^3*S3*z^11 + 10*S0*S1*S3*z^11 + 14*S2*S3*z^11 + 3*S4*z^11 + 
 2*S0^2*S4*z^11 + 2*S1*S4*z^11 + 6*S0*S5*z^11 + 10*S6*z^11 + z^12 + 
 5*S0*z^12 + 3*S0^2*z^12 + 3*S0^3*z^12 + 11*S0^4*z^12 + 8*S0^6*z^12 + 
 2*S0^7*z^12 + 3*S1*z^12 + 9*S0*S1*z^12 + 2*S0^2*S1*z^12 + 8*S0^4*S1*z^12 + 
 10*S0^5*S1*z^12 + S1^2*z^12 + 8*S0^2*S1^2*z^12 + 2*S0^3*S1^2*z^12 + 
 8*S1^3*z^12 + 2*S0*S1^3*z^12 + 3*S2*z^12 + 12*S0*S2*z^12 + 6*S0^4*S2*z^12 + 
 4*S0^2*S1*S2*z^12 + 2*S1^2*S2*z^12 + 12*S0*S2^2*z^12 + 11*S3*z^12 + 
 8*S0^2*S3*z^12 + 6*S0^3*S3*z^12 + 8*S1*S3*z^12 + 2*S0*S1*S3*z^12 + 
 6*S2*S3*z^12 + 10*S0^2*S4*z^12 + 10*S1*S4*z^12 + 8*S5*z^12 + 14*S0*S5*z^12 + 
 2*S6*z^12 + 8*z^13 + 7*S0*z^13 + S0^2*z^13 + 11*S0^3*z^13 + 13*S0^4*z^13 + 
 S0^5*z^13 + 9*S0^6*z^13 + 14*S0^7*z^13 + S1*z^13 + S0*S1*z^13 + 
 14*S0^2*S1*z^13 + 10*S0^3*S1*z^13 + 7*S0^4*S1*z^13 + 6*S0^5*S1*z^13 + 
 7*S1^2*z^13 + 15*S0*S1^2*z^13 + 5*S0^2*S1^2*z^13 + 14*S0^3*S1^2*z^13 + 
 7*S1^3*z^13 + 14*S0*S1^3*z^13 + 11*S2*z^13 + 4*S0*S2*z^13 + 
 10*S0^2*S2*z^13 + 4*S0^3*S2*z^13 + 10*S0^4*S2*z^13 + 10*S1*S2*z^13 + 
 12*S0*S1*S2*z^13 + 12*S0^2*S1*S2*z^13 + 14*S1^2*S2*z^13 + 10*S2^2*z^13 + 
 4*S0*S2^2*z^13 + 13*S3*z^13 + 5*S0*S3*z^13 + 7*S0^2*S3*z^13 + 
 10*S0^3*S3*z^13 + 7*S1*S3*z^13 + 14*S0*S1*S3*z^13 + 10*S2*S3*z^13 + 
 S4*z^13 + 6*S0*S4*z^13 + 6*S0^2*S4*z^13 + 6*S1*S4*z^13 + 9*S5*z^13 + 
 2*S0*S5*z^13 + 14*S6*z^13 + 6*z^14 + 11*S0*z^14 + 3*S0^2*z^14 + 
 4*S0^3*z^14 + 12*S0^4*z^14 + 8*S0^5*z^14 + 7*S0^6*z^14 + 11*S0^7*z^14 + 
 3*S1*z^14 + 12*S0*S1*z^14 + 8*S0^2*S1*z^14 + 9*S0^4*S1*z^14 + 
 7*S0^5*S1*z^14 + 4*S1^2*z^14 + 8*S0*S1^2*z^14 + 11*S0^2*S1^2*z^14 + 
 3*S0^3*S1^2*z^14 + 9*S1^3*z^14 + 3*S0*S1^3*z^14 + 4*S2*z^14 + 
 12*S0^3*S2*z^14 + S0^4*S2*z^14 + 4*S0*S1*S2*z^14 + 6*S0^2*S1*S2*z^14 + 
 3*S1^2*S2*z^14 + 6*S2^2*z^14 + 2*S0*S2^2*z^14 + 12*S3*z^14 + 8*S0*S3*z^14 + 
 9*S0^2*S3*z^14 + S0^3*S3*z^14 + 9*S1*S3*z^14 + 3*S0*S1*S3*z^14 + 
 S2*S3*z^14 + 8*S4*z^14 + 10*S0*S4*z^14 + 7*S0^2*S4*z^14 + 7*S1*S4*z^14 + 
 7*S5*z^14 + 13*S0*S5*z^14 + 11*S6*z^14 + 4*z^15 + 15*S0*z^15 + 6*S0^2*z^15 + 
 14*S0^3*z^15 + S0^4*z^15 + 9*S0^6*z^15 + 13*S0^7*z^15 + 4*S0^8*z^15 + 
 6*S1*z^15 + 10*S0*S1*z^15 + 6*S0^2*S1*z^15 + 7*S0^4*S1*z^15 + S0^5*S1*z^15 + 
 3*S1^2*z^15 + 5*S0^2*S1^2*z^15 + 5*S0^3*S1^2*z^15 + 8*S0^4*S1^2*z^15 + 
 7*S1^3*z^15 + 5*S0*S1^3*z^15 + 4*S1^4*z^15 + 14*S2*z^15 + 4*S0*S2*z^15 + 
 4*S0^3*S2*z^15 + 7*S0^4*S2*z^15 + 12*S0*S1*S2*z^15 + 10*S0^2*S1*S2*z^15 + 
 5*S1^2*S2*z^15 + 10*S2^2*z^15 + 14*S0*S2^2*z^15 + S3*z^15 + 7*S0^2*S3*z^15 + 
 7*S0^3*S3*z^15 + 8*S0^4*S3*z^15 + 7*S1*S3*z^15 + 5*S0*S1*S3*z^15 + 
 8*S1^2*S3*z^15 + 7*S2*S3*z^15 + 12*S3^2*z^15 + 6*S0*S4*z^15 + S0^2*S4*z^15 + 
 S1*S4*z^15 + 9*S5*z^15 + 11*S0*S5*z^15 + 13*S6*z^15 + 4*S7*z^15 + 9*z^16 + 
 7*S0^2*z^16 + 14*S0^4*z^16 + 12*S0^5*z^16 + 13*S0^6*z^16 + 7*S0^7*z^16 + 
 10*S0^8*z^16 + 7*S1*z^16 + 4*S0^2*S1*z^16 + 8*S0^3*S1*z^16 + 
 3*S0^4*S1*z^16 + 3*S0^5*S1*z^16 + 8*S0^6*S1*z^16 + 10*S1^2*z^16 + 
 4*S0*S1^2*z^16 + 9*S0^2*S1^2*z^16 + 15*S0^3*S1^2*z^16 + 4*S0^4*S1^2*z^16 + 
 3*S1^3*z^16 + 15*S0*S1^3*z^16 + 8*S0^2*S1^3*z^16 + 10*S1^4*z^16 + 
 8*S0*S2*z^16 + 8*S0^2*S2*z^16 + 4*S0^3*S2*z^16 + 5*S0^4*S2*z^16 + 
 8*S1*S2*z^16 + 12*S0*S1*S2*z^16 + 14*S0^2*S1*S2*z^16 + 15*S1^2*S2*z^16 + 
 2*S2^2*z^16 + 10*S0*S2^2*z^16 + 14*S3*z^16 + 12*S0*S3*z^16 + 
 3*S0^2*S3*z^16 + 5*S0^3*S3*z^16 + 12*S0^4*S3*z^16 + 3*S1*S3*z^16 + 
 15*S0*S1*S3*z^16 + 8*S0^2*S1*S3*z^16 + 4*S1^2*S3*z^16 + 5*S2*S3*z^16 + 
 14*S3^2*z^16 + 12*S4*z^16 + 14*S0*S4*z^16 + 3*S0^2*S4*z^16 + 3*S1*S4*z^16 + 
 13*S5*z^16 + S0*S5*z^16 + 8*S0^2*S5*z^16 + 8*S1*S5*z^16 + 7*S6*z^16 + 
 10*S7*z^16 + 8*z^17 + 7*S0*z^17 + 7*S0^2*z^17 + 11*S0^3*z^17 + 4*S0^4*z^17 + 
 12*S0^5*z^17 + 12*S0^6*z^17 + 2*S0^7*z^17 + 15*S0^8*z^17 + 7*S1*z^17 + 
 S0*S1*z^17 + 8*S0^2*S1*z^17 + 8*S0^3*S1*z^17 + 4*S0^4*S1*z^17 + 
 10*S0^5*S1*z^17 + 4*S0^6*S1*z^17 + 12*S1^2*z^17 + 4*S0*S1^2*z^17 + 
 12*S0^2*S1^2*z^17 + 2*S0^3*S1^2*z^17 + 14*S0^4*S1^2*z^17 + 4*S1^3*z^17 + 
 2*S0*S1^3*z^17 + 12*S0^2*S1^3*z^17 + 7*S1^4*z^17 + 11*S2*z^17 + 
 8*S0^2*S2*z^17 + 6*S0^4*S2*z^17 + 8*S0^5*S2*z^17 + 8*S1*S2*z^17 + 
 4*S0^2*S1*S2*z^17 + 2*S1^2*S2*z^17 + 8*S0*S1^2*S2*z^17 + 8*S2^2*z^17 + 
 12*S0*S2^2*z^17 + 8*S0^2*S2^2*z^17 + 8*S1*S2^2*z^17 + 4*S3*z^17 + 
 12*S0*S3*z^17 + 4*S0^2*S3*z^17 + 6*S0^3*S3*z^17 + 10*S0^4*S3*z^17 + 
 4*S1*S3*z^17 + 2*S0*S1*S3*z^17 + 12*S0^2*S1*S3*z^17 + 14*S1^2*S3*z^17 + 
 6*S2*S3*z^17 + 8*S0*S2*S3*z^17 + 13*S3^2*z^17 + 12*S4*z^17 + 8*S0*S4*z^17 + 
 10*S0^2*S4*z^17 + 8*S0^3*S4*z^17 + 10*S1*S4*z^17 + 8*S0*S1*S4*z^17 + 
 8*S2*S4*z^17 + 12*S5*z^17 + 14*S0*S5*z^17 + 4*S0^2*S5*z^17 + 4*S1*S5*z^17 + 
 2*S6*z^17 + 8*S0*S6*z^17 + 15*S7*z^17 + 12*z^18 + S0*z^18 + 14*S0^3*z^18 + 
 15*S0^4*z^18 + 11*S0^5*z^18 + 2*S0^6*z^18 + 6*S0^7*z^18 + 2*S0^8*z^18 + 
 10*S0*S1*z^18 + 10*S0^2*S1*z^18 + 14*S0^3*S1*z^18 + 14*S0^4*S1*z^18 + 
 14*S0^5*S1*z^18 + 8*S0^6*S1*z^18 + 13*S1^2*z^18 + 5*S0*S1^2*z^18 + 
 10*S0^2*S1^2*z^18 + 6*S0^3*S1^2*z^18 + 4*S0^4*S1^2*z^18 + 14*S1^3*z^18 + 
 6*S0*S1^3*z^18 + 8*S0^2*S1^3*z^18 + 2*S1^4*z^18 + 14*S2*z^18 + 
 12*S0*S2*z^18 + 14*S0^2*S2*z^18 + 8*S0^3*S2*z^18 + 2*S0^4*S2*z^18 + 
 14*S1*S2*z^18 + 8*S0*S1*S2*z^18 + 12*S0^2*S1*S2*z^18 + 6*S1^2*S2*z^18 + 
 4*S2^2*z^18 + 4*S0*S2^2*z^18 + 15*S3*z^18 + 7*S0*S3*z^18 + 14*S0^2*S3*z^18 + 
 2*S0^3*S3*z^18 + 12*S0^4*S3*z^18 + 14*S1*S3*z^18 + 6*S0*S1*S3*z^18 + 
 8*S0^2*S1*S3*z^18 + 4*S1^2*S3*z^18 + 2*S2*S3*z^18 + 6*S3^2*z^18 + 
 11*S4*z^18 + 12*S0*S4*z^18 + 14*S0^2*S4*z^18 + 14*S1*S4*z^18 + 2*S5*z^18 + 
 10*S0*S5*z^18 + 8*S0^2*S5*z^18 + 8*S1*S5*z^18 + 6*S6*z^18 + 2*S7*z^18 + 
 14*z^19 + 6*S0*z^19 + 4*S0^2*z^19 + 11*S0^3*z^19 + 3*S0^4*z^19 + 
 9*S0^5*z^19 + 8*S0^6*z^19 + S0^7*z^19 + 4*S0^8*z^19 + 4*S1*z^19 + 
 S0*S1*z^19 + 2*S0^2*S1*z^19 + 10*S0^3*S1*z^19 + 8*S0^4*S1*z^19 + 
 5*S0^5*S1*z^19 + 9*S1^2*z^19 + 7*S0*S1^2*z^19 + 8*S0^2*S1^2*z^19 + 
 9*S0^3*S1^2*z^19 + 8*S0^4*S1^2*z^19 + 8*S1^3*z^19 + 9*S0*S1^3*z^19 + 
 4*S1^4*z^19 + 11*S2*z^19 + 12*S0*S2*z^19 + 10*S0^2*S2*z^19 + 
 3*S0^4*S2*z^19 + 10*S1*S2*z^19 + 2*S0^2*S1*S2*z^19 + 9*S1^2*S2*z^19 + 
 6*S0*S2^2*z^19 + 3*S3*z^19 + 13*S0*S3*z^19 + 8*S0^2*S3*z^19 + 
 3*S0^3*S3*z^19 + 8*S0^4*S3*z^19 + 8*S1*S3*z^19 + 9*S0*S1*S3*z^19 + 
 8*S1^2*S3*z^19 + 3*S2*S3*z^19 + 12*S3^2*z^19 + 9*S4*z^19 + 5*S0^2*S4*z^19 + 
 5*S1*S4*z^19 + 8*S5*z^19 + 7*S0*S5*z^19 + S6*z^19 + 4*S7*z^19 + 8*z^20 + 
 13*S0*z^20 + 3*S0^2*z^20 + 15*S0^3*z^20 + 11*S0^4*z^20 + 2*S0^5*z^20 + 
 10*S0^6*z^20 + 2*S0^7*z^20 + 3*S1*z^20 + 13*S0*S1*z^20 + 2*S0^2*S1*z^20 + 
 4*S0^3*S1*z^20 + 6*S0^4*S1*z^20 + 10*S0^5*S1*z^20 + S1^2*z^20 + 
 14*S0*S1^2*z^20 + 2*S0^2*S1^2*z^20 + 2*S0^3*S1^2*z^20 + 6*S1^3*z^20 + 
 2*S0*S1^3*z^20 + 15*S2*z^20 + 12*S0*S2*z^20 + 4*S0^2*S2*z^20 + 
 8*S0^3*S2*z^20 + 6*S0^4*S2*z^20 + 4*S1*S2*z^20 + 8*S0*S1*S2*z^20 + 
 4*S0^2*S1*S2*z^20 + 2*S1^2*S2*z^20 + 4*S2^2*z^20 + 12*S0*S2^2*z^20 + 
 11*S3*z^20 + 10*S0*S3*z^20 + 6*S0^2*S3*z^20 + 6*S0^3*S3*z^20 + 
 6*S1*S3*z^20 + 2*S0*S1*S3*z^20 + 6*S2*S3*z^20 + 2*S4*z^20 + 12*S0*S4*z^20 + 
 10*S0^2*S4*z^20 + 10*S1*S4*z^20 + 10*S5*z^20 + 14*S0*S5*z^20 + 2*S6*z^20 + 
 12*S0*z^21 + 3*S0^2*z^21 + 2*S0^3*z^21 + 11*S0^4*z^21 + 10*S0^5*z^21 + 
 8*S0^6*z^21 + 3*S0^7*z^21 + 15*S0^8*z^21 + 3*S1*z^21 + 6*S0*S1*z^21 + 
 2*S0^2*S1*z^21 + 4*S0^3*S1*z^21 + 8*S0^4*S1*z^21 + 15*S0^5*S1*z^21 + 
 4*S0^6*S1*z^21 + S1^2*z^21 + 6*S0*S1^2*z^21 + 8*S0^2*S1^2*z^21 + 
 11*S0^3*S1^2*z^21 + 14*S0^4*S1^2*z^21 + 8*S1^3*z^21 + 11*S0*S1^3*z^21 + 
 12*S0^2*S1^3*z^21 + 7*S1^4*z^21 + 2*S2*z^21 + 12*S0*S2*z^21 + 
 4*S0^2*S2*z^21 + 9*S0^4*S2*z^21 + 8*S0^5*S2*z^21 + 4*S1*S2*z^21 + 
 6*S0^2*S1*S2*z^21 + 11*S1^2*S2*z^21 + 8*S0*S1^2*S2*z^21 + 2*S0*S2^2*z^21 + 
 8*S0^2*S2^2*z^21 + 8*S1*S2^2*z^21 + 11*S3*z^21 + 2*S0*S3*z^21 + 
 8*S0^2*S3*z^21 + 9*S0^3*S3*z^21 + 10*S0^4*S3*z^21 + 8*S1*S3*z^21 + 
 11*S0*S1*S3*z^21 + 12*S0^2*S1*S3*z^21 + 14*S1^2*S3*z^21 + 9*S2*S3*z^21 + 
 8*S0*S2*S3*z^21 + 13*S3^2*z^21 + 10*S4*z^21 + 15*S0^2*S4*z^21 + 
 8*S0^3*S4*z^21 + 15*S1*S4*z^21 + 8*S0*S1*S4*z^21 + 8*S2*S4*z^21 + 
 8*S5*z^21 + 5*S0*S5*z^21 + 4*S0^2*S5*z^21 + 4*S1*S5*z^21 + 3*S6*z^21 + 
 8*S0*S6*z^21 + 15*S7*z^21 + 4*z^22 + 9*S0*z^22 + S0^2*z^22 + 12*S0^3*z^22 + 
 11*S0^4*z^22 + 7*S0^5*z^22 + 13*S0^6*z^22 + 14*S0^8*z^22 + S1*z^22 + 
 4*S0*S1*z^22 + 2*S0^2*S1*z^22 + 6*S0^3*S1*z^22 + 3*S0^4*S1*z^22 + 
 8*S0^6*S1*z^22 + S1^2*z^22 + 9*S0*S1^2*z^22 + 9*S0^2*S1^2*z^22 + 
 12*S0^4*S1^2*z^22 + 3*S1^3*z^22 + 8*S0^2*S1^3*z^22 + 14*S1^4*z^22 + 
 12*S2*z^22 + 12*S0*S2*z^22 + 6*S0^2*S2*z^22 + 4*S0^3*S2*z^22 + 
 6*S1*S2*z^22 + 12*S0*S1*S2*z^22 + 2*S2^2*z^22 + 11*S3*z^22 + 3*S0*S3*z^22 + 
 3*S0^2*S3*z^22 + 4*S0^4*S3*z^22 + 3*S1*S3*z^22 + 8*S0^2*S1*S3*z^22 + 
 12*S1^2*S3*z^22 + 10*S3^2*z^22 + 7*S4*z^22 + 14*S0*S4*z^22 + 13*S5*z^22 + 
 8*S0^2*S5*z^22 + 8*S1*S5*z^22 + 14*S7*z^22 + z^23 + 12*S0*z^23 + 
 14*S0^2*z^23 + 2*S0^3*z^23 + 10*S0^4*z^23 + 8*S0^5*z^23 + 5*S0^7*z^23 + 
 14*S1*z^23 + 6*S0*S1*z^23 + 12*S0^2*S1*z^23 + 9*S0^5*S1*z^23 + 
 14*S1^2*z^23 + 8*S0*S1^2*z^23 + 13*S0^3*S1^2*z^23 + 13*S0*S1^3*z^23 + 
 2*S2*z^23 + 8*S0*S2*z^23 + 15*S0^4*S2*z^23 + 10*S0^2*S1*S2*z^23 + 
 13*S1^2*S2*z^23 + 14*S0*S2^2*z^23 + 10*S3*z^23 + 8*S0*S3*z^23 + 
 15*S0^3*S3*z^23 + 13*S0*S1*S3*z^23 + 15*S2*S3*z^23 + 8*S4*z^23 + 
 9*S0^2*S4*z^23 + 9*S1*S4*z^23 + 3*S0*S5*z^23 + 5*S6*z^23 + 9*S0^2*z^24 + 
 6*S0^3*z^24 + 15*S0^4*z^24 + 4*S0^5*z^24 + 10*S0^6*z^24 + 6*S0^7*z^24 + 
 8*S0^8*z^24 + 9*S1*z^24 + 2*S0*S1*z^24 + 10*S0^2*S1*z^24 + 8*S0^3*S1*z^24 + 
 6*S0^4*S1*z^24 + 14*S0^5*S1*z^24 + 13*S1^2*z^24 + 12*S0*S1^2*z^24 + 
 2*S0^2*S1^2*z^24 + 6*S0^3*S1^2*z^24 + 6*S1^3*z^24 + 6*S0*S1^3*z^24 + 
 8*S1^4*z^24 + 6*S2*z^24 + 12*S0*S2*z^24 + 8*S0^2*S2*z^24 + 8*S0^3*S2*z^24 + 
 2*S0^4*S2*z^24 + 8*S1*S2*z^24 + 8*S0*S1*S2*z^24 + 12*S0^2*S1*S2*z^24 + 
 6*S1^2*S2*z^24 + 4*S2^2*z^24 + 4*S0*S2^2*z^24 + 15*S3*z^24 + 4*S0*S3*z^24 + 
 6*S0^2*S3*z^24 + 2*S0^3*S3*z^24 + 6*S1*S3*z^24 + 6*S0*S1*S3*z^24 + 
 2*S2*S3*z^24 + 8*S3^2*z^24 + 4*S4*z^24 + 12*S0*S4*z^24 + 14*S0^2*S4*z^24 + 
 14*S1*S4*z^24 + 10*S5*z^24 + 10*S0*S5*z^24 + 6*S6*z^24 + 8*S7*z^24 + 
 6*z^25 + 10*S0*z^25 + 15*S0^2*z^25 + 10*S0^4*z^25 + 12*S0^5*z^25 + 
 13*S0^6*z^25 + 2*S0^7*z^25 + 4*S0^8*z^25 + 15*S1*z^25 + 12*S0^2*S1*z^25 + 
 8*S0^3*S1*z^25 + 3*S0^4*S1*z^25 + 10*S0^5*S1*z^25 + 14*S1^2*z^25 + 
 4*S0*S1^2*z^25 + 9*S0^2*S1^2*z^25 + 2*S0^3*S1^2*z^25 + 8*S0^4*S1^2*z^25 + 
 3*S1^3*z^25 + 2*S0*S1^3*z^25 + 4*S1^4*z^25 + 8*S0*S2*z^25 + 8*S0^2*S2*z^25 + 
 4*S0^3*S2*z^25 + 6*S0^4*S2*z^25 + 8*S1*S2*z^25 + 12*S0*S1*S2*z^25 + 
 4*S0^2*S1*S2*z^25 + 2*S1^2*S2*z^25 + 2*S2^2*z^25 + 12*S0*S2^2*z^25 + 
 10*S3*z^25 + 12*S0*S3*z^25 + 3*S0^2*S3*z^25 + 6*S0^3*S3*z^25 + 
 8*S0^4*S3*z^25 + 3*S1*S3*z^25 + 2*S0*S1*S3*z^25 + 8*S1^2*S3*z^25 + 
 6*S2*S3*z^25 + 12*S3^2*z^25 + 12*S4*z^25 + 14*S0*S4*z^25 + 10*S0^2*S4*z^25 + 
 10*S1*S4*z^25 + 13*S5*z^25 + 14*S0*S5*z^25 + 2*S6*z^25 + 4*S7*z^25 + 
 10*z^26 + 5*S0*z^26 + S0^2*z^26 + 7*S0^3*z^26 + 2*S0^5*z^26 + 7*S0^6*z^26 + 
 8*S0^7*z^26 + 6*S0^8*z^26 + S1*z^26 + 5*S0*S1*z^26 + 4*S0^3*S1*z^26 + 
 9*S0^4*S1*z^26 + 8*S0^5*S1*z^26 + 8*S0^6*S1*z^26 + 14*S0*S1^2*z^26 + 
 11*S0^2*S1^2*z^26 + 8*S0^3*S1^2*z^26 + 12*S0^4*S1^2*z^26 + 9*S1^3*z^26 + 
 8*S0*S1^3*z^26 + 8*S0^2*S1^3*z^26 + 6*S1^4*z^26 + 7*S2*z^26 + 
 4*S0^2*S2*z^26 + 12*S0^3*S2*z^26 + 8*S0^4*S2*z^26 + 4*S1*S2*z^26 + 
 4*S0*S1*S2*z^26 + 8*S1^2*S2*z^26 + 6*S2^2*z^26 + 10*S0*S3*z^26 + 
 9*S0^2*S3*z^26 + 8*S0^3*S3*z^26 + 4*S0^4*S3*z^26 + 9*S1*S3*z^26 + 
 8*S0*S1*S3*z^26 + 8*S0^2*S1*S3*z^26 + 12*S1^2*S3*z^26 + 8*S2*S3*z^26 + 
 2*S3^2*z^26 + 2*S4*z^26 + 10*S0*S4*z^26 + 8*S0^2*S4*z^26 + 8*S1*S4*z^26 + 
 7*S5*z^26 + 8*S0*S5*z^26 + 8*S0^2*S5*z^26 + 8*S1*S5*z^26 + 8*S6*z^26 + 
 6*S7*z^26 + 8*z^27 + 6*S0*z^27 + 9*S0^3*z^27 + 15*S0^4*z^27 + 3*S0^5*z^27 + 
 6*S0^6*z^27 + 15*S0^7*z^27 + 11*S0*S1*z^27 + 10*S0^2*S1*z^27 + 
 14*S0^3*S1*z^27 + 10*S0^4*S1*z^27 + 11*S0^5*S1*z^27 + 13*S1^2*z^27 + 
 13*S0*S1^2*z^27 + 14*S0^2*S1^2*z^27 + 7*S0^3*S1^2*z^27 + 10*S1^3*z^27 + 
 7*S0*S1^3*z^27 + 9*S2*z^27 + 12*S0*S2*z^27 + 14*S0^2*S2*z^27 + 
 8*S0^3*S2*z^27 + 13*S0^4*S2*z^27 + 14*S1*S2*z^27 + 8*S0*S1*S2*z^27 + 
 14*S0^2*S1*S2*z^27 + 7*S1^2*S2*z^27 + 12*S2^2*z^27 + 10*S0*S2^2*z^27 + 
 15*S3*z^27 + 15*S0*S3*z^27 + 10*S0^2*S3*z^27 + 13*S0^3*S3*z^27 + 
 10*S1*S3*z^27 + 7*S0*S1*S3*z^27 + 13*S2*S3*z^27 + 3*S4*z^27 + 4*S0*S4*z^27 + 
 11*S0^2*S4*z^27 + 11*S1*S4*z^27 + 6*S5*z^27 + 9*S0*S5*z^27 + 15*S6*z^27 + 
 14*z^28 + 14*S0*z^28 + S0^2*z^28 + 10*S0^3*z^28 + 4*S0^4*z^28 + 
 6*S0^5*z^28 + 10*S0^6*z^28 + 3*S0^7*z^28 + 6*S0^8*z^28 + S1*z^28 + 
 14*S0*S1*z^28 + 8*S0^2*S1*z^28 + 12*S0^3*S1*z^28 + 6*S0^4*S1*z^28 + 
 15*S0^5*S1*z^28 + 8*S0^6*S1*z^28 + 12*S1^2*z^28 + 10*S0*S1^2*z^28 + 
 2*S0^2*S1^2*z^28 + 11*S0^3*S1^2*z^28 + 12*S0^4*S1^2*z^28 + 6*S1^3*z^28 + 
 11*S0*S1^3*z^28 + 8*S0^2*S1^3*z^28 + 6*S1^4*z^28 + 10*S2*z^28 + 
 12*S0^2*S2*z^28 + 8*S0^3*S2*z^28 + 9*S0^4*S2*z^28 + 12*S1*S2*z^28 + 
 8*S0*S1*S2*z^28 + 6*S0^2*S1*S2*z^28 + 11*S1^2*S2*z^28 + 4*S2^2*z^28 + 
 2*S0*S2^2*z^28 + 4*S3*z^28 + 14*S0*S3*z^28 + 6*S0^2*S3*z^28 + 
 9*S0^3*S3*z^28 + 4*S0^4*S3*z^28 + 6*S1*S3*z^28 + 11*S0*S1*S3*z^28 + 
 8*S0^2*S1*S3*z^28 + 12*S1^2*S3*z^28 + 9*S2*S3*z^28 + 2*S3^2*z^28 + 
 6*S4*z^28 + 12*S0*S4*z^28 + 15*S0^2*S4*z^28 + 15*S1*S4*z^28 + 10*S5*z^28 + 
 5*S0*S5*z^28 + 8*S0^2*S5*z^28 + 8*S1*S5*z^28 + 3*S6*z^28 + 6*S7*z^28 + 
 10*z^29 + 4*S0*z^29 + 12*S0^2*z^29 + 3*S0^3*z^29 + 8*S0^4*z^29 + 
 13*S0^5*z^29 + 5*S0^6*z^29 + 4*S0^7*z^29 + 13*S0^8*z^29 + 12*S1*z^29 + 
 9*S0*S1*z^29 + 2*S0^3*S1*z^29 + 11*S0^4*S1*z^29 + 4*S0^5*S1*z^29 + 
 12*S0^6*S1*z^29 + 8*S1^2*z^29 + 3*S0*S1^2*z^29 + S0^2*S1^2*z^29 + 
 4*S0^3*S1^2*z^29 + 10*S0^4*S1^2*z^29 + 11*S1^3*z^29 + 4*S0*S1^3*z^29 + 
 4*S0^2*S1^3*z^29 + 5*S1^4*z^29 + 3*S2*z^29 + 2*S0^2*S2*z^29 + 
 4*S0^3*S2*z^29 + 12*S0^4*S2*z^29 + 8*S0^5*S2*z^29 + 2*S1*S2*z^29 + 
 12*S0*S1*S2*z^29 + 8*S0^2*S1*S2*z^29 + 4*S1^2*S2*z^29 + 8*S0*S1^2*S2*z^29 + 
 2*S2^2*z^29 + 8*S0*S2^2*z^29 + 8*S0^2*S2^2*z^29 + 8*S1*S2^2*z^29 + 
 8*S3*z^29 + S0*S3*z^29 + 11*S0^2*S3*z^29 + 12*S0^3*S3*z^29 + 
 14*S0^4*S3*z^29 + 11*S1*S3*z^29 + 4*S0*S1*S3*z^29 + 4*S0^2*S1*S3*z^29 + 
 10*S1^2*S3*z^29 + 12*S2*S3*z^29 + 8*S0*S2*S3*z^29 + 7*S3^2*z^29 + 
 13*S4*z^29 + 14*S0*S4*z^29 + 4*S0^2*S4*z^29 + 8*S0^3*S4*z^29 + 
 4*S1*S4*z^29 + 8*S0*S1*S4*z^29 + 8*S2*S4*z^29 + 5*S5*z^29 + 12*S0*S5*z^29 + 
 12*S0^2*S5*z^29 + 12*S1*S5*z^29 + 4*S6*z^29 + 8*S0*S6*z^29 + 13*S7*z^29 + 
 15*z^30 + 5*S0*z^30 + 12*S0^2*z^30 + 14*S0^4*z^30 + 4*S0^5*z^30 + 
 6*S0^6*z^30 + 5*S0^7*z^30 + 8*S0^8*z^30 + 12*S1*z^30 + 4*S0^2*S1*z^30 + 
 8*S0^3*S1*z^30 + 10*S0^4*S1*z^30 + 9*S0^5*S1*z^30 + 10*S1^2*z^30 + 
 12*S0*S1^2*z^30 + 14*S0^2*S1^2*z^30 + 13*S0^3*S1^2*z^30 + 10*S1^3*z^30 + 
 13*S0*S1^3*z^30 + 8*S1^4*z^30 + 8*S0*S2*z^30 + 8*S0^2*S2*z^30 + 
 8*S0^3*S2*z^30 + 15*S0^4*S2*z^30 + 8*S1*S2*z^30 + 8*S0*S1*S2*z^30 + 
 10*S0^2*S1*S2*z^30 + 13*S1^2*S2*z^30 + 12*S2^2*z^30 + 14*S0*S2^2*z^30 + 
 14*S3*z^30 + 4*S0*S3*z^30 + 10*S0^2*S3*z^30 + 15*S0^3*S3*z^30 + 
 10*S1*S3*z^30 + 13*S0*S1*S3*z^30 + 15*S2*S3*z^30 + 8*S3^2*z^30 + 4*S4*z^30 + 
 4*S0*S4*z^30 + 9*S0^2*S4*z^30 + 9*S1*S4*z^30 + 6*S5*z^30 + 3*S0*S5*z^30 + 
 5*S6*z^30 + 8*S7*z^30 + 14*z^31 + 13*S0*z^31 + 7*S0^2*z^31 + 2*S0^3*z^31 + 
 5*S0^4*z^31 + 3*S0^5*z^31 + 2*S0^6*z^31 + 5*S0^7*z^31 + 6*S0^8*z^31 + 
 7*S1*z^31 + 6*S0*S1*z^31 + 14*S0^2*S1*z^31 + 14*S0^3*S1*z^31 + 
 14*S0^4*S1*z^31 + 9*S0^5*S1*z^31 + 8*S0^6*S1*z^31 + 15*S1^2*z^31 + 
 13*S0*S1^2*z^31 + 10*S0^2*S1^2*z^31 + 13*S0^3*S1^2*z^31 + 
 12*S0^4*S1^2*z^31 + 14*S1^3*z^31 + 13*S0*S1^3*z^31 + 8*S0^2*S1^3*z^31 + 
 6*S1^4*z^31 + 2*S2*z^31 + 4*S0*S2*z^31 + 14*S0^2*S2*z^31 + 8*S0^3*S2*z^31 + 
 15*S0^4*S2*z^31 + 14*S1*S2*z^31 + 8*S0*S1*S2*z^31 + 10*S0^2*S1*S2*z^31 + 
 13*S1^2*S2*z^31 + 4*S2^2*z^31 + 14*S0*S2^2*z^31 + 5*S3*z^31 + 
 15*S0*S3*z^31 + 14*S0^2*S3*z^31 + 15*S0^3*S3*z^31 + 4*S0^4*S3*z^31 + 
 14*S1*S3*z^31 + 13*S0*S1*S3*z^31 + 8*S0^2*S1*S3*z^31 + 12*S1^2*S3*z^31 + 
 15*S2*S3*z^31 + 2*S3^2*z^31 + 3*S4*z^31 + 12*S0*S4*z^31 + 9*S0^2*S4*z^31 + 
 9*S1*S4*z^31 + 2*S5*z^31 + 3*S0*S5*z^31 + 8*S0^2*S5*z^31 + 8*S1*S5*z^31 + 
 5*S6*z^31 + 6*S7*z^31 + 13*z^32 + S0^2*z^32 + 5*S0^4*z^32 + 11*S0^5*z^32 + 
 15*S0^6*z^32 + 4*S0^7*z^32 + 3*S0^8*z^32 + S1*z^32 + 14*S0^2*S1*z^32 + 
 14*S0^3*S1*z^32 + S0^4*S1*z^32 + 4*S0^5*S1*z^32 + 4*S0^6*S1*z^32 + 
 15*S1^2*z^32 + 5*S0*S1^2*z^32 + 3*S0^2*S1^2*z^32 + 4*S0^3*S1^2*z^32 + 
 6*S0^4*S1^2*z^32 + S1^3*z^32 + 4*S0*S1^3*z^32 + 12*S0^2*S1^3*z^32 + 
 11*S1^4*z^32 + 4*S0*S2*z^32 + 14*S0^2*S2*z^32 + 12*S0^3*S2*z^32 + 
 12*S0^4*S2*z^32 + 8*S0^5*S2*z^32 + 14*S1*S2*z^32 + 4*S0*S1*S2*z^32 + 
 8*S0^2*S1*S2*z^32 + 4*S1^2*S2*z^32 + 8*S0*S1^2*S2*z^32 + 6*S2^2*z^32 + 
 8*S0*S2^2*z^32 + 8*S0^2*S2^2*z^32 + 8*S1*S2^2*z^32 + 5*S3*z^32 + 
 7*S0*S3*z^32 + S0^2*S3*z^32 + 12*S0^3*S3*z^32 + 2*S0^4*S3*z^32 + 
 S1*S3*z^32 + 4*S0*S1*S3*z^32 + 12*S0^2*S1*S3*z^32 + 6*S1^2*S3*z^32 + 
 12*S2*S3*z^32 + 8*S0*S2*S3*z^32 + 9*S3^2*z^32 + 11*S4*z^32 + 10*S0*S4*z^32 + 
 4*S0^2*S4*z^32 + 8*S0^3*S4*z^32 + 4*S1*S4*z^32 + 8*S0*S1*S4*z^32 + 
 8*S2*S4*z^32 + 15*S5*z^32 + 12*S0*S5*z^32 + 4*S0^2*S5*z^32 + 4*S1*S5*z^32 + 
 4*S6*z^32 + 8*S0*S6*z^32 + 3*S7*z^32 + 13*z^33 + 14*S0*z^33 + S0^2*z^33 + 
 11*S0^3*z^33 + 10*S0^5*z^33 + 11*S0^6*z^33 + 12*S0^7*z^33 + 9*S0^8*z^33 + 
 S1*z^33 + S0*S1*z^33 + 4*S0^3*S1*z^33 + 5*S0^4*S1*z^33 + 12*S0^5*S1*z^33 + 
 12*S0^6*S1*z^33 + 6*S0*S1^2*z^33 + 15*S0^2*S1^2*z^33 + 12*S0^3*S1^2*z^33 + 
 2*S0^4*S1^2*z^33 + 5*S1^3*z^33 + 12*S0*S1^3*z^33 + 4*S0^2*S1^3*z^33 + 
 S1^4*z^33 + 11*S2*z^33 + 4*S0^2*S2*z^33 + 12*S0^3*S2*z^33 + 4*S0^4*S2*z^33 + 
 8*S0^5*S2*z^33 + 4*S1*S2*z^33 + 4*S0*S1*S2*z^33 + 8*S0^2*S1*S2*z^33 + 
 12*S1^2*S2*z^33 + 8*S0*S1^2*S2*z^33 + 14*S2^2*z^33 + 8*S0*S2^2*z^33 + 
 8*S0^2*S2^2*z^33 + 8*S1*S2^2*z^33 + 2*S0*S3*z^33 + 5*S0^2*S3*z^33 + 
 4*S0^3*S3*z^33 + 6*S0^4*S3*z^33 + 5*S1*S3*z^33 + 12*S0*S1*S3*z^33 + 
 4*S0^2*S1*S3*z^33 + 2*S1^2*S3*z^33 + 4*S2*S3*z^33 + 8*S0*S2*S3*z^33 + 
 11*S3^2*z^33 + 10*S4*z^33 + 2*S0*S4*z^33 + 12*S0^2*S4*z^33 + 
 8*S0^3*S4*z^33 + 12*S1*S4*z^33 + 8*S0*S1*S4*z^33 + 8*S2*S4*z^33 + 
 11*S5*z^33 + 4*S0*S5*z^33 + 12*S0^2*S5*z^33 + 12*S1*S5*z^33 + 12*S6*z^33 + 
 8*S0*S6*z^33 + 9*S7*z^33 + 11*z^34 + 5*S0*z^34 + 2*S0^2*z^34 + 8*S0^3*z^34 + 
 2*S0^4*z^34 + 15*S0^5*z^34 + 9*S0^6*z^34 + 2*S0^7*z^34 + 6*S0^8*z^34 + 
 8*S0^9*z^34 + 2*S1*z^34 + 8*S0*S1*z^34 + 12*S0^2*S1*z^34 + 6*S0^3*S1*z^34 + 
 7*S0^4*S1*z^34 + 10*S0^5*S1*z^34 + 8*S0^6*S1*z^34 + 6*S1^2*z^34 + 
 S0*S1^2*z^34 + 5*S0^2*S1^2*z^34 + 2*S0^3*S1^2*z^34 + 12*S0^4*S1^2*z^34 + 
 7*S1^3*z^34 + 2*S0*S1^3*z^34 + 8*S0^2*S1^3*z^34 + 6*S1^4*z^34 + 
 8*S0*S1^4*z^34 + 8*S2*z^34 + 8*S0*S2*z^34 + 6*S0^2*S2*z^34 + 
 4*S0^3*S2*z^34 + 6*S0^4*S2*z^34 + 6*S1*S2*z^34 + 12*S0*S1*S2*z^34 + 
 4*S0^2*S1*S2*z^34 + 2*S1^2*S2*z^34 + 10*S2^2*z^34 + 12*S0*S2^2*z^34 + 
 2*S3*z^34 + 11*S0*S3*z^34 + 7*S0^2*S3*z^34 + 6*S0^3*S3*z^34 + 
 4*S0^4*S3*z^34 + 7*S1*S3*z^34 + 2*S0*S1*S3*z^34 + 8*S0^2*S1*S3*z^34 + 
 12*S1^2*S3*z^34 + 6*S2*S3*z^34 + 2*S3^2*z^34 + 8*S0*S3^2*z^34 + 15*S4*z^34 + 
 6*S0*S4*z^34 + 10*S0^2*S4*z^34 + 10*S1*S4*z^34 + 9*S5*z^34 + 14*S0*S5*z^34 + 
 8*S0^2*S5*z^34 + 8*S1*S5*z^34 + 2*S6*z^34 + 6*S7*z^34 + 8*S0*S7*z^34 + 
 8*S8*z^34 + 10*z^35 + 14*S0*z^35 + 7*S0^2*z^35 + 13*S0^3*z^35 + 
 8*S0^4*z^35 + 11*S0^5*z^35 + 14*S0^6*z^35 + 5*S0^8*z^35 + 12*S0^9*z^35 + 
 7*S1*z^35 + 7*S0*S1*z^35 + 14*S0^3*S1*z^35 + 2*S0^4*S1*z^35 + 
 12*S0^6*S1*z^35 + 8*S1^2*z^35 + 5*S0*S1^2*z^35 + 6*S0^2*S1^2*z^35 + 
 10*S0^4*S1^2*z^35 + 8*S0^5*S1^2*z^35 + 2*S1^3*z^35 + 4*S0^2*S1^3*z^35 + 
 13*S1^4*z^35 + 12*S0*S1^4*z^35 + 13*S2*z^35 + 14*S0^2*S2*z^35 + 
 8*S0^3*S2*z^35 + 8*S0^5*S2*z^35 + 14*S1*S2*z^35 + 8*S0*S1*S2*z^35 + 
 8*S0*S1^2*S2*z^35 + 12*S2^2*z^35 + 8*S0^2*S2^2*z^35 + 8*S1*S2^2*z^35 + 
 8*S3*z^35 + 7*S0*S3*z^35 + 2*S0^2*S3*z^35 + 14*S0^4*S3*z^35 + 
 8*S0^5*S3*z^35 + 2*S1*S3*z^35 + 4*S0^2*S1*S3*z^35 + 10*S1^2*S3*z^35 + 
 8*S0*S1^2*S3*z^35 + 8*S0*S2*S3*z^35 + 15*S3^2*z^35 + 4*S0*S3^2*z^35 + 
 11*S4*z^35 + 4*S0*S4*z^35 + 8*S0^3*S4*z^35 + 8*S0^4*S4*z^35 + 
 8*S0*S1*S4*z^35 + 8*S1^2*S4*z^35 + 8*S2*S4*z^35 + 8*S3*S4*z^35 + 
 14*S5*z^35 + 12*S0^2*S5*z^35 + 12*S1*S5*z^35 + 8*S0*S6*z^35 + 5*S7*z^35 + 
 12*S0*S7*z^35 + 12*S8*z^35 + 11*z^36 + 4*S0*z^36 + 8*S0^2*z^36 + 
 2*S0^3*z^36 + 5*S0^4*z^36 + 14*S0^5*z^36 + 14*S0^6*z^36 + 15*S0^7*z^36 + 
 9*S0^8*z^36 + 2*S0^9*z^36 + 8*S1*z^36 + 6*S0*S1*z^36 + 14*S0^2*S1*z^36 + 
 12*S0^3*S1*z^36 + 2*S0^4*S1*z^36 + 11*S0^5*S1*z^36 + 12*S0^6*S1*z^36 + 
 8*S0^7*S1*z^36 + 15*S1^2*z^36 + 2*S0*S1^2*z^36 + 6*S0^2*S1^2*z^36 + 
 7*S0^3*S1^2*z^36 + 2*S0^4*S1^2*z^36 + 4*S0^5*S1^2*z^36 + 2*S1^3*z^36 + 
 7*S0*S1^3*z^36 + 4*S0^2*S1^3*z^36 + 8*S0^3*S1^3*z^36 + S1^4*z^36 + 
 2*S0*S1^4*z^36 + 2*S2*z^36 + 4*S0*S2*z^36 + 12*S0^2*S2*z^36 + 
 8*S0^3*S2*z^36 + 13*S0^4*S2*z^36 + 8*S0^5*S2*z^36 + 8*S0^6*S2*z^36 + 
 12*S1*S2*z^36 + 8*S0*S1*S2*z^36 + 14*S0^2*S1*S2*z^36 + 8*S0^4*S1*S2*z^36 + 
 7*S1^2*S2*z^36 + 8*S0*S1^2*S2*z^36 + 8*S0^2*S1^2*S2*z^36 + 8*S1^3*S2*z^36 + 
 12*S2^2*z^36 + 10*S0*S2^2*z^36 + 8*S0^2*S2^2*z^36 + 8*S1*S2^2*z^36 + 
 5*S3*z^36 + 6*S0*S3*z^36 + 2*S0^2*S3*z^36 + 13*S0^3*S3*z^36 + 
 6*S0^4*S3*z^36 + 12*S0^5*S3*z^36 + 2*S1*S3*z^36 + 7*S0*S1*S3*z^36 + 
 4*S0^2*S1*S3*z^36 + 8*S0^3*S1*S3*z^36 + 2*S1^2*S3*z^36 + 4*S0*S1^2*S3*z^36 + 
 13*S2*S3*z^36 + 8*S0*S2*S3*z^36 + 8*S0^2*S2*S3*z^36 + 8*S1*S2*S3*z^36 + 
 11*S3^2*z^36 + 6*S0*S3^2*z^36 + 14*S4*z^36 + 4*S0*S4*z^36 + 
 11*S0^2*S4*z^36 + 8*S0^3*S4*z^36 + 12*S0^4*S4*z^36 + 11*S1*S4*z^36 + 
 8*S0*S1*S4*z^36 + 8*S0^2*S1*S4*z^36 + 4*S1^2*S4*z^36 + 8*S2*S4*z^36 + 
 12*S3*S4*z^36 + 14*S5*z^36 + 9*S0*S5*z^36 + 12*S0^2*S5*z^36 + 
 8*S0^3*S5*z^36 + 12*S1*S5*z^36 + 8*S0*S1*S5*z^36 + 8*S2*S5*z^36 + 
 15*S6*z^36 + 8*S0*S6*z^36 + 8*S0^2*S6*z^36 + 8*S1*S6*z^36 + 9*S7*z^36 + 
 2*S0*S7*z^36 + 2*S8*z^36 + 7*z^37 + 9*S0*z^37 + 12*S0^2*z^37 + S0^3*z^37 + 
 S0^4*z^37 + 4*S0^5*z^37 + 4*S0^6*z^37 + 5*S0^7*z^37 + 12*S0^9*z^37 + 
 12*S1*z^37 + 3*S0*S1*z^37 + 6*S0^2*S1*z^37 + 8*S0^3*S1*z^37 + 
 12*S0^4*S1*z^37 + 9*S0^5*S1*z^37 + 3*S1^2*z^37 + 12*S0*S1^2*z^37 + 
 4*S0^2*S1^2*z^37 + 13*S0^3*S1^2*z^37 + 8*S0^5*S1^2*z^37 + 12*S1^3*z^37 + 
 13*S0*S1^3*z^37 + 12*S0*S1^4*z^37 + S2*z^37 + 4*S0*S2*z^37 + 
 8*S0^2*S2*z^37 + 15*S0^4*S2*z^37 + 8*S1*S2*z^37 + 10*S0^2*S1*S2*z^37 + 
 13*S1^2*S2*z^37 + 8*S2^2*z^37 + 14*S0*S2^2*z^37 + S3*z^37 + 4*S0*S3*z^37 + 
 12*S0^2*S3*z^37 + 15*S0^3*S3*z^37 + 8*S0^5*S3*z^37 + 12*S1*S3*z^37 + 
 13*S0*S1*S3*z^37 + 8*S0*S1^2*S3*z^37 + 15*S2*S3*z^37 + 4*S0*S3^2*z^37 + 
 4*S4*z^37 + 8*S0*S4*z^37 + 9*S0^2*S4*z^37 + 8*S0^4*S4*z^37 + 9*S1*S4*z^37 + 
 8*S1^2*S4*z^37 + 8*S3*S4*z^37 + 4*S5*z^37 + 3*S0*S5*z^37 + 5*S6*z^37 + 
 12*S0*S7*z^37 + 12*S8*z^37 + 12*z^38 + 4*S0*z^38 + 3*S0^2*z^38 + 
 11*S0^3*z^38 + 13*S0^4*z^38 + 12*S0^5*z^38 + 3*S0^6*z^38 + 9*S0^7*z^38 + 
 2*S0^8*z^38 + 8*S0^9*z^38 + 3*S1*z^38 + S0*S1*z^38 + 14*S0^2*S1*z^38 + 
 8*S0^3*S1*z^38 + 13*S0^4*S1*z^38 + 13*S0^5*S1*z^38 + 8*S0^6*S1*z^38 + 
 7*S1^2*z^38 + 4*S0*S1^2*z^38 + 7*S0^2*S1^2*z^38 + S0^3*S1^2*z^38 + 
 4*S0^4*S1^2*z^38 + 13*S1^3*z^38 + S0*S1^3*z^38 + 8*S0^2*S1^3*z^38 + 
 2*S1^4*z^38 + 8*S0*S1^4*z^38 + 11*S2*z^38 + 4*S0*S2*z^38 + 8*S0^2*S2*z^38 + 
 12*S0^3*S2*z^38 + 11*S0^4*S2*z^38 + 8*S1*S2*z^38 + 4*S0*S1*S2*z^38 + 
 2*S0^2*S1*S2*z^38 + S1^2*S2*z^38 + 14*S2^2*z^38 + 6*S0*S2^2*z^38 + 
 13*S3*z^38 + 12*S0*S3*z^38 + 13*S0^2*S3*z^38 + 11*S0^3*S3*z^38 + 
 12*S0^4*S3*z^38 + 13*S1*S3*z^38 + S0*S1*S3*z^38 + 8*S0^2*S1*S3*z^38 + 
 4*S1^2*S3*z^38 + 11*S2*S3*z^38 + 6*S3^2*z^38 + 8*S0*S3^2*z^38 + 12*S4*z^38 + 
 2*S0*S4*z^38 + 13*S0^2*S4*z^38 + 13*S1*S4*z^38 + 3*S5*z^38 + 15*S0*S5*z^38 + 
 8*S0^2*S5*z^38 + 8*S1*S5*z^38 + 9*S6*z^38 + 2*S7*z^38 + 8*S0*S7*z^38 + 
 8*S8*z^38 + 4*S0*z^39 + 11*S0^2*z^39 + 6*S0^3*z^39 + 11*S0^4*z^39 + 
 6*S0^5*z^39 + 4*S0^6*z^39 + 10*S0^7*z^39 + 3*S0^8*z^39 + 11*S1*z^39 + 
 2*S0*S1*z^39 + 2*S0^2*S1*z^39 + 12*S0^3*S1*z^39 + 12*S0^4*S1*z^39 + 
 2*S0^5*S1*z^39 + 4*S0^6*S1*z^39 + S1^2*z^39 + 10*S0*S1^2*z^39 + 
 4*S0^2*S1^2*z^39 + 10*S0^3*S1^2*z^39 + 6*S0^4*S1^2*z^39 + 12*S1^3*z^39 + 
 10*S0*S1^3*z^39 + 12*S0^2*S1^3*z^39 + 11*S1^4*z^39 + 6*S2*z^39 + 
 12*S0*S2*z^39 + 12*S0^2*S2*z^39 + 14*S0^4*S2*z^39 + 8*S0^5*S2*z^39 + 
 12*S1*S2*z^39 + 4*S0^2*S1*S2*z^39 + 10*S1^2*S2*z^39 + 8*S0*S1^2*S2*z^39 + 
 8*S2^2*z^39 + 12*S0*S2^2*z^39 + 8*S0^2*S2^2*z^39 + 8*S1*S2^2*z^39 + 
 11*S3*z^39 + 14*S0*S3*z^39 + 12*S0^2*S3*z^39 + 14*S0^3*S3*z^39 + 
 2*S0^4*S3*z^39 + 12*S1*S3*z^39 + 10*S0*S1*S3*z^39 + 12*S0^2*S1*S3*z^39 + 
 6*S1^2*S3*z^39 + 14*S2*S3*z^39 + 8*S0*S2*S3*z^39 + 9*S3^2*z^39 + 6*S4*z^39 + 
 8*S0*S4*z^39 + 2*S0^2*S4*z^39 + 8*S0^3*S4*z^39 + 2*S1*S4*z^39 + 
 8*S0*S1*S4*z^39 + 8*S2*S4*z^39 + 4*S5*z^39 + 6*S0*S5*z^39 + 4*S0^2*S5*z^39 + 
 4*S1*S5*z^39 + 10*S6*z^39 + 8*S0*S6*z^39 + 3*S7*z^39 + 12*z^40 + 5*S0*z^40 + 
 6*S0^2*z^40 + 11*S0^3*z^40 + 8*S0^4*z^40 + 11*S0^5*z^40 + 10*S0^6*z^40 + 
 5*S0^7*z^40 + 6*S0^8*z^40 + 2*S0^9*z^40 + 6*S1*z^40 + S0*S1*z^40 + 
 14*S0^3*S1*z^40 + 6*S0^4*S1*z^40 + 9*S0^5*S1*z^40 + 8*S0^6*S1*z^40 + 
 8*S0^7*S1*z^40 + 8*S1^2*z^40 + 5*S0*S1^2*z^40 + 2*S0^2*S1^2*z^40 + 
 13*S0^3*S1^2*z^40 + 12*S0^4*S1^2*z^40 + 4*S0^5*S1^2*z^40 + 6*S1^3*z^40 + 
 13*S0*S1^3*z^40 + 8*S0^2*S1^3*z^40 + 8*S0^3*S1^3*z^40 + 6*S1^4*z^40 + 
 2*S0*S1^4*z^40 + 11*S2*z^40 + 14*S0^2*S2*z^40 + 8*S0^3*S2*z^40 + 
 15*S0^4*S2*z^40 + 8*S0^6*S2*z^40 + 14*S1*S2*z^40 + 8*S0*S1*S2*z^40 + 
 10*S0^2*S1*S2*z^40 + 8*S0^4*S1*S2*z^40 + 13*S1^2*S2*z^40 + 
 8*S0^2*S1^2*S2*z^40 + 8*S1^3*S2*z^40 + 4*S2^2*z^40 + 14*S0*S2^2*z^40 + 
 8*S3*z^40 + 7*S0*S3*z^40 + 6*S0^2*S3*z^40 + 15*S0^3*S3*z^40 + 
 4*S0^4*S3*z^40 + 12*S0^5*S3*z^40 + 6*S1*S3*z^40 + 13*S0*S1*S3*z^40 + 
 8*S0^2*S1*S3*z^40 + 8*S0^3*S1*S3*z^40 + 12*S1^2*S3*z^40 + 
 4*S0*S1^2*S3*z^40 + 15*S2*S3*z^40 + 8*S0^2*S2*S3*z^40 + 8*S1*S2*S3*z^40 + 
 2*S3^2*z^40 + 6*S0*S3^2*z^40 + 11*S4*z^40 + 12*S0*S4*z^40 + 9*S0^2*S4*z^40 + 
 12*S0^4*S4*z^40 + 9*S1*S4*z^40 + 8*S0^2*S1*S4*z^40 + 4*S1^2*S4*z^40 + 
 12*S3*S4*z^40 + 10*S5*z^40 + 3*S0*S5*z^40 + 8*S0^2*S5*z^40 + 
 8*S0^3*S5*z^40 + 8*S1*S5*z^40 + 8*S0*S1*S5*z^40 + 8*S2*S5*z^40 + 5*S6*z^40 + 
 8*S0^2*S6*z^40 + 8*S1*S6*z^40 + 6*S7*z^40 + 2*S0*S7*z^40 + 2*S8*z^40 + 
 2*z^41 + 2*S0^2*z^41 + 9*S0^3*z^41 + 15*S0^4*z^41 + 5*S0^5*z^41 + 
 15*S0^6*z^41 + 3*S0^7*z^41 + 3*S0^8*z^41 + 4*S0^9*z^41 + 2*S1*z^41 + 
 11*S0*S1*z^41 + 10*S0^2*S1*z^41 + 2*S0^3*S1*z^41 + S0^4*S1*z^41 + 
 15*S0^5*S1*z^41 + 4*S0^6*S1*z^41 + 13*S1^2*z^41 + 11*S0*S1^2*z^41 + 
 3*S0^2*S1^2*z^41 + 11*S0^3*S1^2*z^41 + 6*S0^4*S1^2*z^41 + 8*S0^5*S1^2*z^41 + 
 S1^3*z^41 + 11*S0*S1^3*z^41 + 12*S0^2*S1^3*z^41 + 11*S1^4*z^41 + 
 4*S0*S1^4*z^41 + 9*S2*z^41 + 12*S0*S2*z^41 + 2*S0^2*S2*z^41 + 
 12*S0^3*S2*z^41 + 9*S0^4*S2*z^41 + 8*S0^5*S2*z^41 + 2*S1*S2*z^41 + 
 4*S0*S1*S2*z^41 + 6*S0^2*S1*S2*z^41 + 11*S1^2*S2*z^41 + 8*S0*S1^2*S2*z^41 + 
 6*S2^2*z^41 + 2*S0*S2^2*z^41 + 8*S0^2*S2^2*z^41 + 8*S1*S2^2*z^41 + 
 15*S3*z^41 + 9*S0*S3*z^41 + S0^2*S3*z^41 + 9*S0^3*S3*z^41 + 2*S0^4*S3*z^41 + 
 8*S0^5*S3*z^41 + S1*S3*z^41 + 11*S0*S1*S3*z^41 + 12*S0^2*S1*S3*z^41 + 
 6*S1^2*S3*z^41 + 8*S0*S1^2*S3*z^41 + 9*S2*S3*z^41 + 8*S0*S2*S3*z^41 + 
 9*S3^2*z^41 + 12*S0*S3^2*z^41 + 5*S4*z^41 + 10*S0*S4*z^41 + 
 15*S0^2*S4*z^41 + 8*S0^3*S4*z^41 + 8*S0^4*S4*z^41 + 15*S1*S4*z^41 + 
 8*S0*S1*S4*z^41 + 8*S1^2*S4*z^41 + 8*S2*S4*z^41 + 8*S3*S4*z^41 + 
 15*S5*z^41 + 5*S0*S5*z^41 + 4*S0^2*S5*z^41 + 4*S1*S5*z^41 + 3*S6*z^41 + 
 8*S0*S6*z^41 + 3*S7*z^41 + 4*S0*S7*z^41 + 4*S8*z^41 + 2*z^42 + 10*S0*z^42 + 
 12*S0^2*z^42 + 11*S0^3*z^42 + 15*S0^4*z^42 + 11*S0^5*z^42 + 15*S0^6*z^42 + 
 14*S0^7*z^42 + 6*S0^8*z^42 + 12*S1*z^42 + S0*S1*z^42 + 10*S0^2*S1*z^42 + 
 14*S0^3*S1*z^42 + S0^4*S1*z^42 + 6*S0^5*S1*z^42 + 8*S0^6*S1*z^42 + 
 13*S1^2*z^42 + 5*S0*S1^2*z^42 + 3*S0^2*S1^2*z^42 + 14*S0^3*S1^2*z^42 + 
 12*S0^4*S1^2*z^42 + S1^3*z^42 + 14*S0*S1^3*z^42 + 8*S0^2*S1^3*z^42 + 
 6*S1^4*z^42 + 11*S2*z^42 + 12*S0*S2*z^42 + 14*S0^2*S2*z^42 + 
 12*S0^3*S2*z^42 + 10*S0^4*S2*z^42 + 14*S1*S2*z^42 + 4*S0*S1*S2*z^42 + 
 12*S0^2*S1*S2*z^42 + 14*S1^2*S2*z^42 + 6*S2^2*z^42 + 4*S0*S2^2*z^42 + 
 15*S3*z^42 + 7*S0*S3*z^42 + S0^2*S3*z^42 + 10*S0^3*S3*z^42 + 
 4*S0^4*S3*z^42 + S1*S3*z^42 + 14*S0*S1*S3*z^42 + 8*S0^2*S1*S3*z^42 + 
 12*S1^2*S3*z^42 + 10*S2*S3*z^42 + 2*S3^2*z^42 + 11*S4*z^42 + 10*S0*S4*z^42 + 
 6*S0^2*S4*z^42 + 6*S1*S4*z^42 + 15*S5*z^42 + 2*S0*S5*z^42 + 8*S0^2*S5*z^42 + 
 8*S1*S5*z^42 + 14*S6*z^42 + 6*S7*z^42 + 10*z^43 + 14*S0*z^43 + 9*S0^2*z^43 + 
 14*S0^3*z^43 + 5*S0^4*z^43 + 12*S0^5*z^43 + S0^6*z^43 + 6*S0^7*z^43 + 
 6*S0^8*z^43 + 8*S0^9*z^43 + 9*S1*z^43 + 10*S0*S1*z^43 + 14*S0^2*S1*z^43 + 
 8*S0^3*S1*z^43 + 15*S0^4*S1*z^43 + 14*S0^5*S1*z^43 + 8*S0^6*S1*z^43 + 
 15*S1^2*z^43 + 4*S0*S1^2*z^43 + 13*S0^2*S1^2*z^43 + 6*S0^3*S1^2*z^43 + 
 12*S0^4*S1^2*z^43 + 15*S1^3*z^43 + 6*S0*S1^3*z^43 + 8*S0^2*S1^3*z^43 + 
 6*S1^4*z^43 + 8*S0*S1^4*z^43 + 14*S2*z^43 + 4*S0*S2*z^43 + 8*S0^2*S2*z^43 + 
 4*S0^3*S2*z^43 + 2*S0^4*S2*z^43 + 8*S1*S2*z^43 + 12*S0*S1*S2*z^43 + 
 12*S0^2*S1*S2*z^43 + 6*S1^2*S2*z^43 + 10*S2^2*z^43 + 4*S0*S2^2*z^43 + 
 5*S3*z^43 + 12*S0*S3*z^43 + 15*S0^2*S3*z^43 + 2*S0^3*S3*z^43 + 
 4*S0^4*S3*z^43 + 15*S1*S3*z^43 + 6*S0*S1*S3*z^43 + 8*S0^2*S1*S3*z^43 + 
 12*S1^2*S3*z^43 + 2*S2*S3*z^43 + 2*S3^2*z^43 + 8*S0*S3^2*z^43 + 12*S4*z^43 + 
 6*S0*S4*z^43 + 14*S0^2*S4*z^43 + 14*S1*S4*z^43 + S5*z^43 + 10*S0*S5*z^43 + 
 8*S0^2*S5*z^43 + 8*S1*S5*z^43 + 6*S6*z^43 + 6*S7*z^43 + 8*S0*S7*z^43 + 
 8*S8*z^43 + 8*z^44 + 8*S0^2*z^44 + 15*S0^4*z^44 + 7*S0^5*z^44 + 
 2*S0^6*z^44 + 6*S0^7*z^44 + 12*S0^8*z^44 + 12*S0^9*z^44 + 8*S1*z^44 + 
 10*S0^2*S1*z^44 + 6*S0^3*S1*z^44 + 14*S0^4*S1*z^44 + 14*S0^5*S1*z^44 + 
 13*S1^2*z^44 + 9*S0*S1^2*z^44 + 10*S0^2*S1^2*z^44 + 6*S0^3*S1^2*z^44 + 
 8*S0^4*S1^2*z^44 + 8*S0^5*S1^2*z^44 + 14*S1^3*z^44 + 6*S0*S1^3*z^44 + 
 12*S1^4*z^44 + 12*S0*S1^4*z^44 + 12*S0*S2*z^44 + 6*S0^2*S2*z^44 + 
 8*S0^3*S2*z^44 + 2*S0^4*S2*z^44 + 6*S1*S2*z^44 + 8*S0*S1*S2*z^44 + 
 12*S0^2*S1*S2*z^44 + 6*S1^2*S2*z^44 + 4*S2^2*z^44 + 4*S0*S2^2*z^44 + 
 15*S3*z^44 + 3*S0*S3*z^44 + 14*S0^2*S3*z^44 + 2*S0^3*S3*z^44 + 
 8*S0^4*S3*z^44 + 8*S0^5*S3*z^44 + 14*S1*S3*z^44 + 6*S0*S1*S3*z^44 + 
 8*S1^2*S3*z^44 + 8*S0*S1^2*S3*z^44 + 2*S2*S3*z^44 + 4*S3^2*z^44 + 
 4*S0*S3^2*z^44 + 7*S4*z^44 + 12*S0*S4*z^44 + 14*S0^2*S4*z^44 + 
 8*S0^4*S4*z^44 + 14*S1*S4*z^44 + 8*S1^2*S4*z^44 + 8*S3*S4*z^44 + 2*S5*z^44 + 
 10*S0*S5*z^44 + 6*S6*z^44 + 12*S7*z^44 + 12*S0*S7*z^44 + 12*S8*z^44 + 
 4*S0*z^45 + 10*S0^2*z^45 + 12*S0^3*z^45 + 7*S0^4*z^45 + 6*S0^5*z^45 + 
 15*S0^6*z^45 + 6*S0^7*z^45 + 3*S0^8*z^45 + 10*S0^9*z^45 + 10*S1*z^45 + 
 4*S0*S1*z^45 + 10*S0^2*S1*z^45 + 12*S0^3*S1*z^45 + S0^4*S1*z^45 + 
 14*S0^5*S1*z^45 + 4*S0^6*S1*z^45 + 8*S0^7*S1*z^45 + 5*S1^2*z^45 + 
 10*S0*S1^2*z^45 + 3*S0^2*S1^2*z^45 + 6*S0^3*S1^2*z^45 + 6*S0^4*S1^2*z^45 + 
 4*S0^5*S1^2*z^45 + S1^3*z^45 + 6*S0*S1^3*z^45 + 12*S0^2*S1^3*z^45 + 
 8*S0^3*S1^3*z^45 + 11*S1^4*z^45 + 10*S0*S1^4*z^45 + 12*S2*z^45 + 
 12*S0*S2*z^45 + 12*S0^2*S2*z^45 + 12*S0^3*S2*z^45 + 2*S0^4*S2*z^45 + 
 8*S0^5*S2*z^45 + 8*S0^6*S2*z^45 + 12*S1*S2*z^45 + 4*S0*S1*S2*z^45 + 
 12*S0^2*S1*S2*z^45 + 8*S0^4*S1*S2*z^45 + 6*S1^2*S2*z^45 + 
 8*S0*S1^2*S2*z^45 + 8*S0^2*S1^2*S2*z^45 + 8*S1^3*S2*z^45 + 6*S2^2*z^45 + 
 4*S0*S2^2*z^45 + 8*S0^2*S2^2*z^45 + 8*S1*S2^2*z^45 + 7*S3*z^45 + 
 14*S0*S3*z^45 + S0^2*S3*z^45 + 2*S0^3*S3*z^45 + 2*S0^4*S3*z^45 + 
 12*S0^5*S3*z^45 + S1*S3*z^45 + 6*S0*S1*S3*z^45 + 12*S0^2*S1*S3*z^45 + 
 8*S0^3*S1*S3*z^45 + 6*S1^2*S3*z^45 + 4*S0*S1^2*S3*z^45 + 2*S2*S3*z^45 + 
 8*S0*S2*S3*z^45 + 8*S0^2*S2*S3*z^45 + 8*S1*S2*S3*z^45 + 9*S3^2*z^45 + 
 14*S0*S3^2*z^45 + 6*S4*z^45 + 10*S0*S4*z^45 + 14*S0^2*S4*z^45 + 
 8*S0^3*S4*z^45 + 12*S0^4*S4*z^45 + 14*S1*S4*z^45 + 8*S0*S1*S4*z^45 + 
 8*S0^2*S1*S4*z^45 + 4*S1^2*S4*z^45 + 8*S2*S4*z^45 + 12*S3*S4*z^45 + 
 15*S5*z^45 + 10*S0*S5*z^45 + 4*S0^2*S5*z^45 + 8*S0^3*S5*z^45 + 
 4*S1*S5*z^45 + 8*S0*S1*S5*z^45 + 8*S2*S5*z^45 + 6*S6*z^45 + 8*S0*S6*z^45 + 
 8*S0^2*S6*z^45 + 8*S1*S6*z^45 + 3*S7*z^45 + 10*S0*S7*z^45 + 10*S8*z^45 + 
 12*z^46 + 12*S0*z^46 + 14*S0^2*z^46 + 5*S0^3*z^46 + 7*S0^4*z^46 + 
 10*S0^5*z^46 + S0^6*z^46 + 14*S0^7*z^46 + 8*S0^8*z^46 + 4*S0^9*z^46 + 
 14*S1*z^46 + 15*S0*S1*z^46 + 10*S0^2*S1*z^46 + 4*S0^3*S1*z^46 + 
 15*S0^4*S1*z^46 + 6*S0^5*S1*z^46 + 5*S1^2*z^46 + 6*S0*S1^2*z^46 + 
 13*S0^2*S1^2*z^46 + 14*S0^3*S1^2*z^46 + 8*S0^5*S1^2*z^46 + 15*S1^3*z^46 + 
 14*S0*S1^3*z^46 + 8*S1^4*z^46 + 4*S0*S1^4*z^46 + 5*S2*z^46 + 12*S0*S2*z^46 + 
 4*S0^2*S2*z^46 + 4*S0^3*S2*z^46 + 10*S0^4*S2*z^46 + 4*S1*S2*z^46 + 
 12*S0*S1*S2*z^46 + 12*S0^2*S1*S2*z^46 + 14*S1^2*S2*z^46 + 10*S2^2*z^46 + 
 4*S0*S2^2*z^46 + 7*S3*z^46 + 2*S0*S3*z^46 + 15*S0^2*S3*z^46 + 
 10*S0^3*S3*z^46 + 8*S0^5*S3*z^46 + 15*S1*S3*z^46 + 14*S0*S1*S3*z^46 + 
 8*S0*S1^2*S3*z^46 + 10*S2*S3*z^46 + 8*S3^2*z^46 + 12*S0*S3^2*z^46 + 
 10*S4*z^46 + 6*S0*S4*z^46 + 6*S0^2*S4*z^46 + 8*S0^4*S4*z^46 + 6*S1*S4*z^46 + 
 8*S1^2*S4*z^46 + 8*S3*S4*z^46 + S5*z^46 + 2*S0*S5*z^46 + 14*S6*z^46 + 
 8*S7*z^46 + 4*S0*S7*z^46 + 4*S8*z^46 + 4*z^47 + 4*S0*z^47 + 10*S0^2*z^47 + 
 14*S0^3*z^47 + 4*S0^4*z^47 + S0^5*z^47 + 15*S0^6*z^47 + 5*S0^8*z^47 + 
 4*S0^9*z^47 + 10*S1*z^47 + 10*S0*S1*z^47 + 8*S0^2*S1*z^47 + 
 10*S0^3*S1*z^47 + S0^4*S1*z^47 + 12*S0^6*S1*z^47 + 12*S1^2*z^47 + 
 15*S0*S1^2*z^47 + 3*S0^2*S1^2*z^47 + 10*S0^4*S1^2*z^47 + 8*S0^5*S1^2*z^47 + 
 S1^3*z^47 + 4*S0^2*S1^3*z^47 + 13*S1^4*z^47 + 4*S0*S1^4*z^47 + 14*S2*z^47 + 
 10*S0^2*S2*z^47 + 12*S0^3*S2*z^47 + 8*S0^5*S2*z^47 + 10*S1*S2*z^47 + 
 4*S0*S1*S2*z^47 + 8*S0*S1^2*S2*z^47 + 6*S2^2*z^47 + 8*S0^2*S2^2*z^47 + 
 8*S1*S2^2*z^47 + 4*S3*z^47 + 5*S0*S3*z^47 + S0^2*S3*z^47 + 14*S0^4*S3*z^47 + 
 8*S0^5*S3*z^47 + S1*S3*z^47 + 4*S0^2*S1*S3*z^47 + 10*S1^2*S3*z^47 + 
 8*S0*S1^2*S3*z^47 + 8*S0*S2*S3*z^47 + 15*S3^2*z^47 + 12*S0*S3^2*z^47 + 
 S4*z^47 + 10*S0*S4*z^47 + 8*S0^3*S4*z^47 + 8*S0^4*S4*z^47 + 
 8*S0*S1*S4*z^47 + 8*S1^2*S4*z^47 + 8*S2*S4*z^47 + 8*S3*S4*z^47 + 
 15*S5*z^47 + 12*S0^2*S5*z^47 + 12*S1*S5*z^47 + 8*S0*S6*z^47 + 5*S7*z^47 + 
 4*S0*S7*z^47 + 4*S8*z^47 + 12*S0*z^48 + 8*S0^2*z^48 + 8*S0^3*z^48 + 
 13*S0^4*z^48 + 14*S0^5*z^48 + 12*S0^6*z^48 + 10*S0^7*z^48 + 6*S0^8*z^48 + 
 2*S0^9*z^48 + 8*S1*z^48 + 8*S0*S1*z^48 + 14*S0^2*S1*z^48 + 12*S0^3*S1*z^48 + 
 4*S0^4*S1*z^48 + 2*S0^5*S1*z^48 + 8*S0^6*S1*z^48 + 8*S0^7*S1*z^48 + 
 7*S1^2*z^48 + 2*S0*S1^2*z^48 + 12*S0^2*S1^2*z^48 + 10*S0^3*S1^2*z^48 + 
 12*S0^4*S1^2*z^48 + 4*S0^5*S1^2*z^48 + 4*S1^3*z^48 + 10*S0*S1^3*z^48 + 
 8*S0^2*S1^3*z^48 + 8*S0^3*S1^3*z^48 + 6*S1^4*z^48 + 2*S0*S1^4*z^48 + 
 8*S2*z^48 + 4*S0*S2*z^48 + 12*S0^2*S2*z^48 + 14*S0^4*S2*z^48 + 
 8*S0^6*S2*z^48 + 12*S1*S2*z^48 + 4*S0^2*S1*S2*z^48 + 8*S0^4*S1*S2*z^48 + 
 10*S1^2*S2*z^48 + 8*S0^2*S1^2*S2*z^48 + 8*S1^3*S2*z^48 + 8*S2^2*z^48 + 
 12*S0*S2^2*z^48 + 13*S3*z^48 + 6*S0*S3*z^48 + 4*S0^2*S3*z^48 + 
 14*S0^3*S3*z^48 + 4*S0^4*S3*z^48 + 12*S0^5*S3*z^48 + 4*S1*S3*z^48 + 
 10*S0*S1*S3*z^48 + 8*S0^2*S1*S3*z^48 + 8*S0^3*S1*S3*z^48 + 12*S1^2*S3*z^48 + 
 4*S0*S1^2*S3*z^48 + 14*S2*S3*z^48 + 8*S0^2*S2*S3*z^48 + 8*S1*S2*S3*z^48 + 
 2*S3^2*z^48 + 6*S0*S3^2*z^48 + 14*S4*z^48 + 8*S0*S4*z^48 + 2*S0^2*S4*z^48 + 
 12*S0^4*S4*z^48 + 2*S1*S4*z^48 + 8*S0^2*S1*S4*z^48 + 4*S1^2*S4*z^48 + 
 12*S3*S4*z^48 + 12*S5*z^48 + 6*S0*S5*z^48 + 8*S0^2*S5*z^48 + 
 8*S0^3*S5*z^48 + 8*S1*S5*z^48 + 8*S0*S1*S5*z^48 + 8*S2*S5*z^48 + 
 10*S6*z^48 + 8*S0^2*S6*z^48 + 8*S1*S6*z^48 + 6*S7*z^48 + 2*S0*S7*z^48 + 
 2*S8*z^48 + 8*z^49 + 8*S0*z^49 + 8*S0^2*z^49 + 4*S0^3*z^49 + 3*S0^4*z^49 + 
 5*S0^5*z^49 + 10*S0^6*z^49 + 9*S0^7*z^49 + 14*S0^8*z^49 + 14*S0^9*z^49 + 
 8*S1*z^49 + 12*S0*S1*z^49 + 2*S0^2*S1*z^49 + 2*S0^3*S1*z^49 + 
 6*S0^4*S1*z^49 + 13*S0^5*S1*z^49 + 8*S0^6*S1*z^49 + 8*S0^7*S1*z^49 + 
 9*S1^2*z^49 + 11*S0*S1^2*z^49 + 2*S0^2*S1^2*z^49 + S0^3*S1^2*z^49 + 
 12*S0^4*S1^2*z^49 + 12*S0^5*S1^2*z^49 + 6*S1^3*z^49 + S0*S1^3*z^49 + 
 8*S0^2*S1^3*z^49 + 8*S0^3*S1^3*z^49 + 14*S1^4*z^49 + 14*S0*S1^4*z^49 + 
 4*S2*z^49 + 12*S0*S2*z^49 + 2*S0^2*S2*z^49 + 8*S0^3*S2*z^49 + 
 11*S0^4*S2*z^49 + 8*S0^6*S2*z^49 + 2*S1*S2*z^49 + 8*S0*S1*S2*z^49 + 
 2*S0^2*S1*S2*z^49 + 8*S0^4*S1*S2*z^49 + S1^2*S2*z^49 + 8*S0^2*S1^2*S2*z^49 + 
 8*S1^3*S2*z^49 + 4*S2^2*z^49 + 6*S0*S2^2*z^49 + 3*S3*z^49 + 9*S0*S3*z^49 + 
 6*S0^2*S3*z^49 + 11*S0^3*S3*z^49 + 4*S0^4*S3*z^49 + 4*S0^5*S3*z^49 + 
 6*S1*S3*z^49 + S0*S1*S3*z^49 + 8*S0^2*S1*S3*z^49 + 8*S0^3*S1*S3*z^49 + 
 12*S1^2*S3*z^49 + 12*S0*S1^2*S3*z^49 + 11*S2*S3*z^49 + 8*S0^2*S2*S3*z^49 + 
 8*S1*S2*S3*z^49 + 10*S3^2*z^49 + 10*S0*S3^2*z^49 + 5*S4*z^49 + 
 12*S0*S4*z^49 + 13*S0^2*S4*z^49 + 4*S0^4*S4*z^49 + 13*S1*S4*z^49 + 
 8*S0^2*S1*S4*z^49 + 12*S1^2*S4*z^49 + 4*S3*S4*z^49 + 10*S5*z^49 + 
 15*S0*S5*z^49 + 8*S0^2*S5*z^49 + 8*S0^3*S5*z^49 + 8*S1*S5*z^49 + 
 8*S0*S1*S5*z^49 + 8*S2*S5*z^49 + 9*S6*z^49 + 8*S0^2*S6*z^49 + 8*S1*S6*z^49 + 
 14*S7*z^49 + 14*S0*S7*z^49 + 14*S8*z^49 + 8*z^50 + 8*S0*z^50 + 8*S0^2*z^50 + 
 14*S0^3*z^50 + 4*S0^4*z^50 + 6*S0^5*z^50 + S0^6*z^50 + 12*S0^7*z^50 + 
 11*S0^8*z^50 + 8*S0^9*z^50 + 8*S1*z^50 + 10*S0*S1*z^50 + 8*S0^2*S1*z^50 + 
 12*S0^3*S1*z^50 + 15*S0^4*S1*z^50 + 12*S0^5*S1*z^50 + 4*S0^6*S1*z^50 + 
 12*S1^2*z^50 + 10*S0*S1^2*z^50 + 13*S0^2*S1^2*z^50 + 12*S0^3*S1^2*z^50 + 
 6*S0^4*S1^2*z^50 + 15*S1^3*z^50 + 12*S0*S1^3*z^50 + 12*S0^2*S1^3*z^50 + 
 3*S1^4*z^50 + 8*S0*S1^4*z^50 + 14*S2*z^50 + 12*S0^2*S2*z^50 + 
 4*S0^3*S2*z^50 + 4*S0^4*S2*z^50 + 8*S0^5*S2*z^50 + 12*S1*S2*z^50 + 
 12*S0*S1*S2*z^50 + 8*S0^2*S1*S2*z^50 + 12*S1^2*S2*z^50 + 8*S0*S1^2*S2*z^50 + 
 10*S2^2*z^50 + 8*S0*S2^2*z^50 + 8*S0^2*S2^2*z^50 + 8*S1*S2^2*z^50 + 
 4*S3*z^50 + 14*S0*S3*z^50 + 15*S0^2*S3*z^50 + 4*S0^3*S3*z^50 + 
 2*S0^4*S3*z^50 + 15*S1*S3*z^50 + 12*S0*S1*S3*z^50 + 12*S0^2*S1*S3*z^50 + 
 6*S1^2*S3*z^50 + 4*S2*S3*z^50 + 8*S0*S2*S3*z^50 + S3^2*z^50 + 
 8*S0*S3^2*z^50 + 6*S4*z^50 + 6*S0*S4*z^50 + 12*S0^2*S4*z^50 + 
 8*S0^3*S4*z^50 + 12*S1*S4*z^50 + 8*S0*S1*S4*z^50 + 8*S2*S4*z^50 + S5*z^50 + 
 4*S0*S5*z^50 + 4*S0^2*S5*z^50 + 4*S1*S5*z^50 + 12*S6*z^50 + 8*S0*S6*z^50 + 
 11*S7*z^50 + 8*S0*S7*z^50 + 8*S8*z^50 + 8*S0*z^51 + 8*S0^2*z^51 + 
 4*S0^3*z^51 + 10*S0^5*z^51 + 7*S0^6*z^51 + 10*S0^7*z^51 + S0^8*z^51 + 
 15*S0^9*z^51 + 8*S1*z^51 + 12*S0*S1*z^51 + 4*S0^3*S1*z^51 + 9*S0^4*S1*z^51 + 
 2*S0^5*S1*z^51 + 12*S0^6*S1*z^51 + 12*S0^7*S1*z^51 + 6*S0*S1^2*z^51 + 
 11*S0^2*S1^2*z^51 + 10*S0^3*S1^2*z^51 + 2*S0^4*S1^2*z^51 + 
 6*S0^5*S1^2*z^51 + 9*S1^3*z^51 + 10*S0*S1^3*z^51 + 4*S0^2*S1^3*z^51 + 
 4*S0^3*S1^3*z^51 + 9*S1^4*z^51 + 15*S0*S1^4*z^51 + 4*S2*z^51 + 
 4*S0^2*S2*z^51 + 12*S0^3*S2*z^51 + 14*S0^4*S2*z^51 + 8*S0^5*S2*z^51 + 
 12*S0^6*S2*z^51 + 4*S1*S2*z^51 + 4*S0*S1*S2*z^51 + 4*S0^2*S1*S2*z^51 + 
 4*S0^4*S1*S2*z^51 + 10*S1^2*S2*z^51 + 8*S0*S1^2*S2*z^51 + 
 12*S0^2*S1^2*S2*z^51 + 4*S1^3*S2*z^51 + 6*S2^2*z^51 + 12*S0*S2^2*z^51 + 
 8*S0^2*S2^2*z^51 + 8*S0^3*S2^2*z^51 + 8*S1*S2^2*z^51 + 8*S0*S1*S2^2*z^51 + 
 8*S2^3*z^51 + 2*S0*S3*z^51 + 9*S0^2*S3*z^51 + 14*S0^3*S3*z^51 + 
 6*S0^4*S3*z^51 + 2*S0^5*S3*z^51 + 9*S1*S3*z^51 + 10*S0*S1*S3*z^51 + 
 4*S0^2*S1*S3*z^51 + 4*S0^3*S1*S3*z^51 + 2*S1^2*S3*z^51 + 
 14*S0*S1^2*S3*z^51 + 14*S2*S3*z^51 + 8*S0*S2*S3*z^51 + 4*S0^2*S2*S3*z^51 + 
 4*S1*S2*S3*z^51 + 3*S3^2*z^51 + 5*S0*S3^2*z^51 + 10*S4*z^51 + 
 10*S0*S4*z^51 + 2*S0^2*S4*z^51 + 8*S0^3*S4*z^51 + 2*S0^4*S4*z^51 + 
 2*S1*S4*z^51 + 8*S0*S1*S4*z^51 + 12*S0^2*S1*S4*z^51 + 6*S1^2*S4*z^51 + 
 8*S2*S4*z^51 + 8*S0*S2*S4*z^51 + 2*S3*S4*z^51 + 7*S5*z^51 + 6*S0*S5*z^51 + 
 12*S0^2*S5*z^51 + 12*S0^3*S5*z^51 + 12*S1*S5*z^51 + 4*S0*S1*S5*z^51 + 
 12*S2*S5*z^51 + 10*S6*z^51 + 8*S0*S6*z^51 + 12*S0^2*S6*z^51 + 
 12*S1*S6*z^51 + S7*z^51 + 7*S0*S7*z^51 + 15*S8*z^51 + 5*S0^5*z^52 + 
 14*S0^6*z^52 + S0^7*z^52 + 2*S0^8*z^52 + 12*S0^9*z^52 + 2*S0^3*S1*z^52 + 
 2*S0^4*S1*z^52 + 5*S0^5*S1*z^52 + 8*S0^6*S1*z^52 + 11*S0*S1^2*z^52 + 
 6*S0^2*S1^2*z^52 + 9*S0^3*S1^2*z^52 + 4*S0^4*S1^2*z^52 + 8*S0^5*S1^2*z^52 + 
 2*S1^3*z^52 + 9*S0*S1^3*z^52 + 8*S0^2*S1^3*z^52 + 2*S1^4*z^52 + 
 12*S0*S1^4*z^52 + 2*S0^2*S2*z^52 + 8*S0^3*S2*z^52 + 3*S0^4*S2*z^52 + 
 2*S1*S2*z^52 + 8*S0*S1*S2*z^52 + 2*S0^2*S1*S2*z^52 + 9*S1^2*S2*z^52 + 
 12*S2^2*z^52 + 6*S0*S2^2*z^52 + 9*S0*S3*z^52 + 2*S0^2*S3*z^52 + 
 3*S0^3*S3*z^52 + 12*S0^4*S3*z^52 + 8*S0^5*S3*z^52 + 2*S1*S3*z^52 + 
 9*S0*S1*S3*z^52 + 8*S0^2*S1*S3*z^52 + 4*S1^2*S3*z^52 + 8*S0*S1^2*S3*z^52 + 
 3*S2*S3*z^52 + 6*S3^2*z^52 + 4*S0*S3^2*z^52 + 5*S4*z^52 + 4*S0*S4*z^52 + 
 5*S0^2*S4*z^52 + 8*S0^4*S4*z^52 + 5*S1*S4*z^52 + 8*S1^2*S4*z^52 + 
 8*S3*S4*z^52 + 14*S5*z^52 + 7*S0*S5*z^52 + 8*S0^2*S5*z^52 + 8*S1*S5*z^52 + 
 S6*z^52 + 2*S7*z^52 + 12*S0*S7*z^52 + 12*S8*z^52 + 12*S0^2*z^53 + 
 8*S0^3*z^53 + 8*S0^6*z^53 + 15*S0^7*z^53 + 10*S0^8*z^53 + 5*S0^9*z^53 + 
 4*S0^10*z^53 + 12*S1*z^53 + 8*S0*S1*z^53 + 8*S0^4*S1*z^53 + 
 11*S0^5*S1*z^53 + 8*S0^6*S1*z^53 + 4*S0^7*S1*z^53 + 4*S0^8*S1*z^53 + 
 8*S0^2*S1^2*z^53 + 7*S0^3*S1^2*z^53 + 4*S0^4*S1^2*z^53 + 2*S0^5*S1^2*z^53 + 
 8*S0^6*S1^2*z^53 + 8*S1^3*z^53 + 7*S0*S1^3*z^53 + 8*S0^2*S1^3*z^53 + 
 12*S0^3*S1^3*z^53 + 8*S0^4*S1^3*z^53 + 10*S1^4*z^53 + 5*S0*S1^4*z^53 + 
 4*S0^2*S1^4*z^53 + 4*S1^5*z^53 + 8*S2*z^53 + 13*S0^4*S2*z^53 + 
 4*S0^6*S2*z^53 + 14*S0^2*S1*S2*z^53 + 12*S0^4*S1*S2*z^53 + 7*S1^2*S2*z^53 + 
 4*S0^2*S1^2*S2*z^53 + 12*S1^3*S2*z^53 + 10*S0*S2^2*z^53 + 8*S0^3*S2^2*z^53 + 
 8*S0*S1*S2^2*z^53 + 8*S2^3*z^53 + 8*S0^2*S3*z^53 + 13*S0^3*S3*z^53 + 
 12*S0^4*S3*z^53 + 6*S0^5*S3*z^53 + 8*S0^6*S3*z^53 + 8*S1*S3*z^53 + 
 7*S0*S1*S3*z^53 + 8*S0^2*S1*S3*z^53 + 12*S0^3*S1*S3*z^53 + 
 8*S0^4*S1*S3*z^53 + 4*S1^2*S3*z^53 + 10*S0*S1^2*S3*z^53 + 
 8*S0^2*S1^2*S3*z^53 + 8*S1^3*S3*z^53 + 13*S2*S3*z^53 + 12*S0^2*S2*S3*z^53 + 
 12*S1*S2*S3*z^53 + 14*S3^2*z^53 + 7*S0*S3^2*z^53 + 12*S0^2*S3^2*z^53 + 
 12*S1*S3^2*z^53 + 11*S0^2*S4*z^53 + 6*S0^4*S4*z^53 + 11*S1*S4*z^53 + 
 4*S0^2*S1*S4*z^53 + 2*S1^2*S4*z^53 + 8*S0*S2*S4*z^53 + 6*S3*S4*z^53 + 
 8*S4^2*z^53 + 8*S5*z^53 + 9*S0*S5*z^53 + 8*S0^2*S5*z^53 + 4*S0^3*S5*z^53 + 
 8*S0^4*S5*z^53 + 8*S1*S5*z^53 + 12*S0*S1*S5*z^53 + 8*S1^2*S5*z^53 + 
 4*S2*S5*z^53 + 8*S3*S5*z^53 + 15*S6*z^53 + 4*S0^2*S6*z^53 + 4*S1*S6*z^53 + 
 10*S7*z^53 + 13*S0*S7*z^53 + 4*S0^2*S7*z^53 + 4*S1*S7*z^53 + 5*S8*z^53 + 
 8*S0*S8*z^53 + 4*S9*z^53 + 8*S0^3*z^54 + 10*S0^4*z^54 + 2*S0^5*z^54 + 
 S0^7*z^54 + 10*S0^8*z^54 + 8*S0^9*z^54 + 10*S0^10*z^54 + 8*S0*S1*z^54 + 
 12*S0^2*S1*z^54 + 4*S0^3*S1*z^54 + 5*S0^5*S1*z^54 + 8*S0^6*S1*z^54 + 
 2*S0^8*S1*z^54 + 14*S1^2*z^54 + 14*S0*S1^2*z^54 + 9*S0^3*S1^2*z^54 + 
 4*S0^4*S1^2*z^54 + 12*S0^6*S1^2*z^54 + 9*S0*S1^3*z^54 + 8*S0^2*S1^3*z^54 + 
 12*S0^4*S1^3*z^54 + 10*S1^4*z^54 + 8*S0*S1^4*z^54 + 2*S0^2*S1^4*z^54 + 
 10*S1^5*z^54 + 8*S2*z^54 + 8*S0*S2*z^54 + 4*S0^2*S2*z^54 + 3*S0^4*S2*z^54 + 
 4*S1*S2*z^54 + 2*S0^2*S1*S2*z^54 + 9*S1^2*S2*z^54 + 6*S0*S2^2*z^54 + 
 8*S0^4*S2^2*z^54 + 8*S1^2*S2^2*z^54 + 10*S3*z^54 + 10*S0*S3*z^54 + 
 3*S0^3*S3*z^54 + 12*S0^4*S3*z^54 + 4*S0^6*S3*z^54 + 9*S0*S1*S3*z^54 + 
 8*S0^2*S1*S3*z^54 + 12*S0^4*S1*S3*z^54 + 4*S1^2*S3*z^54 + 
 4*S0^2*S1^2*S3*z^54 + 12*S1^3*S3*z^54 + 3*S2*S3*z^54 + 8*S2^2*S3*z^54 + 
 14*S3^2*z^54 + 8*S0*S3^2*z^54 + 6*S0^2*S3^2*z^54 + 6*S1*S3^2*z^54 + 
 2*S4*z^54 + 5*S0^2*S4*z^54 + 8*S0^5*S4*z^54 + 5*S1*S4*z^54 + 
 8*S0*S1^2*S4*z^54 + 8*S0*S3*S4*z^54 + 12*S4^2*z^54 + 7*S0*S5*z^54 + 
 8*S0^2*S5*z^54 + 4*S0^4*S5*z^54 + 8*S1*S5*z^54 + 8*S0^2*S1*S5*z^54 + 
 12*S1^2*S5*z^54 + 4*S3*S5*z^54 + S6*z^54 + 10*S7*z^54 + 8*S0*S7*z^54 + 
 2*S0^2*S7*z^54 + 2*S1*S7*z^54 + 8*S8*z^54 + 4*S0*S8*z^54 + 10*S9*z^54 + 
 8*S0^2*z^55 + 8*S0^3*z^55 + 2*S0^4*z^55 + 14*S0^5*z^55 + 13*S0^6*z^55 + 
 15*S0^8*z^55 + S0^9*z^55 + 15*S0^10*z^55 + 8*S1*z^55 + 8*S0*S1*z^55 + 
 12*S0^2*S1*z^55 + 12*S0^3*S1*z^55 + 3*S0^4*S1*z^55 + 4*S0^6*S1*z^55 + 
 4*S0^7*S1*z^55 + 3*S0^8*S1*z^55 + 6*S1^2*z^55 + 2*S0*S1^2*z^55 + 
 9*S0^2*S1^2*z^55 + 14*S0^4*S1^2*z^55 + 10*S0^5*S1^2*z^55 + 
 10*S0^6*S1^2*z^55 + 3*S1^3*z^55 + 12*S0^2*S1^3*z^55 + 12*S0^3*S1^3*z^55 + 
 2*S0^4*S1^3*z^55 + 7*S1^4*z^55 + S0*S1^4*z^55 + 11*S0^2*S1^4*z^55 + 
 15*S1^5*z^55 + 8*S2*z^55 + 8*S0*S2*z^55 + 12*S0^2*S2*z^55 + 4*S0^3*S2*z^55 + 
 8*S0^5*S2*z^55 + 4*S0^6*S2*z^55 + 8*S0^7*S2*z^55 + 12*S1*S2*z^55 + 
 12*S0*S1*S2*z^55 + 12*S0^4*S1*S2*z^55 + 8*S0^5*S1*S2*z^55 + 
 8*S0*S1^2*S2*z^55 + 4*S0^2*S1^2*S2*z^55 + 8*S0^3*S1^2*S2*z^55 + 
 12*S1^3*S2*z^55 + 8*S0*S1^3*S2*z^55 + 2*S2^2*z^55 + 8*S0^2*S2^2*z^55 + 
 8*S0^3*S2^2*z^55 + 12*S0^4*S2^2*z^55 + 8*S1*S2^2*z^55 + 8*S0*S1*S2^2*z^55 + 
 8*S0^2*S1*S2^2*z^55 + 4*S1^2*S2^2*z^55 + 8*S2^3*z^55 + 2*S3*z^55 + 
 6*S0*S3*z^55 + 3*S0^2*S3*z^55 + 10*S0^4*S3*z^55 + 14*S0^5*S3*z^55 + 
 14*S0^6*S3*z^55 + 3*S1*S3*z^55 + 12*S0^2*S1*S3*z^55 + 12*S0^3*S1*S3*z^55 + 
 2*S0^4*S1*S3*z^55 + 14*S1^2*S3*z^55 + 2*S0*S1^2*S3*z^55 + 
 6*S0^2*S1^2*S3*z^55 + 2*S1^3*S3*z^55 + 8*S0*S2*S3*z^55 + 
 12*S0^2*S2*S3*z^55 + 8*S0^3*S2*S3*z^55 + 12*S1*S2*S3*z^55 + 
 8*S0*S1*S2*S3*z^55 + 12*S2^2*S3*z^55 + 13*S3^2*z^55 + 11*S0*S3^2*z^55 + 
 9*S0^2*S3^2*z^55 + 9*S1*S3^2*z^55 + 14*S4*z^55 + 14*S0*S4*z^55 + 
 8*S0^3*S4*z^55 + 14*S0^4*S4*z^55 + 4*S0^5*S4*z^55 + 8*S0*S1*S4*z^55 + 
 4*S0^2*S1*S4*z^55 + 8*S0^3*S1*S4*z^55 + 10*S1^2*S4*z^55 + 
 12*S0*S1^2*S4*z^55 + 8*S2*S4*z^55 + 8*S0*S2*S4*z^55 + 8*S0^2*S2*S4*z^55 + 
 8*S1*S2*S4*z^55 + 14*S3*S4*z^55 + 4*S0*S3*S4*z^55 + 2*S4^2*z^55 + 
 13*S5*z^55 + 4*S0^2*S5*z^55 + 4*S0^3*S5*z^55 + 14*S0^4*S5*z^55 + 
 4*S1*S5*z^55 + 12*S0*S1*S5*z^55 + 4*S0^2*S1*S5*z^55 + 10*S1^2*S5*z^55 + 
 4*S2*S5*z^55 + 8*S0*S2*S5*z^55 + 14*S3*S5*z^55 + 8*S0*S6*z^55 + 
 4*S0^2*S6*z^55 + 8*S0^3*S6*z^55 + 4*S1*S6*z^55 + 8*S0*S1*S6*z^55 + 
 8*S2*S6*z^55 + 15*S7*z^55 + 9*S0*S7*z^55 + 3*S0^2*S7*z^55 + 3*S1*S7*z^55 + 
 S8*z^55 + 6*S0*S8*z^55 + 15*S9*z^55 + 8*S0^2*z^56 + 8*S0^3*z^56 + 
 2*S0^5*z^56 + 14*S0^6*z^56 + 12*S0^7*z^56 + 12*S0^9*z^56 + 2*S0^10*z^56 + 
 8*S1*z^56 + 8*S0*S1*z^56 + 4*S0^3*S1*z^56 + 2*S0^4*S1*z^56 + 
 12*S0^5*S1*z^56 + 10*S0^8*S1*z^56 + 14*S0*S1^2*z^56 + 6*S0^2*S1^2*z^56 + 
 12*S0^3*S1^2*z^56 + 8*S0^5*S1^2*z^56 + 12*S0^6*S1^2*z^56 + 2*S1^3*z^56 + 
 12*S0*S1^3*z^56 + 12*S0^4*S1^3*z^56 + 12*S0*S1^4*z^56 + 10*S0^2*S1^4*z^56 + 
 2*S1^5*z^56 + 8*S2*z^56 + 4*S0^2*S2*z^56 + 8*S0^3*S2*z^56 + 4*S0^4*S2*z^56 + 
 4*S1*S2*z^56 + 8*S0*S1*S2*z^56 + 8*S0^2*S1*S2*z^56 + 12*S1^2*S2*z^56 + 
 12*S2^2*z^56 + 8*S0*S2^2*z^56 + 8*S0^4*S2^2*z^56 + 8*S1^2*S2^2*z^56 + 
 10*S0*S3*z^56 + 2*S0^2*S3*z^56 + 4*S0^3*S3*z^56 + 8*S0^5*S3*z^56 + 
 4*S0^6*S3*z^56 + 2*S1*S3*z^56 + 12*S0*S1*S3*z^56 + 12*S0^4*S1*S3*z^56 + 
 8*S0*S1^2*S3*z^56 + 4*S0^2*S1^2*S3*z^56 + 12*S1^3*S3*z^56 + 4*S2*S3*z^56 + 
 8*S2^2*S3*z^56 + 4*S0*S3^2*z^56 + 14*S0^2*S3^2*z^56 + 14*S1*S3^2*z^56 + 
 2*S4*z^56 + 4*S0*S4*z^56 + 12*S0^2*S4*z^56 + 8*S0^4*S4*z^56 + 
 8*S0^5*S4*z^56 + 12*S1*S4*z^56 + 8*S1^2*S4*z^56 + 8*S0*S1^2*S4*z^56 + 
 8*S3*S4*z^56 + 8*S0*S3*S4*z^56 + 12*S4^2*z^56 + 14*S5*z^56 + 4*S0*S5*z^56 + 
 4*S0^4*S5*z^56 + 8*S0^2*S1*S5*z^56 + 12*S1^2*S5*z^56 + 4*S3*S5*z^56 + 
 12*S6*z^56 + 12*S0*S7*z^56 + 10*S0^2*S7*z^56 + 10*S1*S7*z^56 + 12*S8*z^56 + 
 4*S0*S8*z^56 + 2*S9*z^56 + 8*S0^2*z^57 + 8*S0^3*z^57 + 2*S0^6*z^57 + 
 14*S0^7*z^57 + 8*S0^8*z^57 + 4*S0^10*z^57 + 8*S1*z^57 + 8*S0*S1*z^57 + 
 14*S0^4*S1*z^57 + 6*S0^5*S1*z^57 + 4*S0^8*S1*z^57 + 10*S0^2*S1^2*z^57 + 
 14*S0^3*S1^2*z^57 + 8*S0^6*S1^2*z^57 + 14*S1^3*z^57 + 14*S0*S1^3*z^57 + 
 8*S0^4*S1^3*z^57 + 8*S1^4*z^57 + 4*S0^2*S1^4*z^57 + 4*S1^5*z^57 + 
 8*S2*z^57 + 8*S0^3*S2*z^57 + 10*S0^4*S2*z^57 + 8*S0*S1*S2*z^57 + 
 12*S0^2*S1*S2*z^57 + 14*S1^2*S2*z^57 + 4*S2^2*z^57 + 4*S0*S2^2*z^57 + 
 14*S0^2*S3*z^57 + 10*S0^3*S3*z^57 + 8*S0^6*S3*z^57 + 14*S1*S3*z^57 + 
 14*S0*S1*S3*z^57 + 8*S0^4*S1*S3*z^57 + 8*S0^2*S1^2*S3*z^57 + 
 8*S1^3*S3*z^57 + 10*S2*S3*z^57 + 8*S3^2*z^57 + 12*S0^2*S3^2*z^57 + 
 12*S1*S3^2*z^57 + 12*S0*S4*z^57 + 6*S0^2*S4*z^57 + 6*S1*S4*z^57 + 
 8*S4^2*z^57 + 2*S5*z^57 + 2*S0*S5*z^57 + 8*S0^4*S5*z^57 + 8*S1^2*S5*z^57 + 
 8*S3*S5*z^57 + 14*S6*z^57 + 8*S7*z^57 + 4*S0^2*S7*z^57 + 4*S1*S7*z^57 + 
 8*S0*S8*z^57 + 4*S9*z^57 + 7*S0^7*z^58 + 14*S0^8*z^58 + 13*S0^9*z^58 + 
 3*S0^5*S1*z^58 + 8*S0^6*S1*z^58 + 4*S0^7*S1*z^58 + 15*S0^3*S1^2*z^58 + 
 12*S0^4*S1^2*z^58 + 2*S0^5*S1^2*z^58 + 15*S0*S1^3*z^58 + 8*S0^2*S1^3*z^58 + 
 12*S0^3*S1^3*z^58 + 14*S1^4*z^58 + 13*S0*S1^4*z^58 + 5*S0^4*S2*z^58 + 
 4*S0^6*S2*z^58 + 14*S0^2*S1*S2*z^58 + 12*S0^4*S1*S2*z^58 + 15*S1^2*S2*z^58 + 
 4*S0^2*S1^2*S2*z^58 + 12*S1^3*S2*z^58 + 10*S0*S2^2*z^58 + 8*S0^3*S2^2*z^58 + 
 8*S0*S1*S2^2*z^58 + 8*S2^3*z^58 + 5*S0^3*S3*z^58 + 4*S0^4*S3*z^58 + 
 6*S0^5*S3*z^58 + 15*S0*S1*S3*z^58 + 8*S0^2*S1*S3*z^58 + 12*S0^3*S1*S3*z^58 + 
 12*S1^2*S3*z^58 + 10*S0*S1^2*S3*z^58 + 5*S2*S3*z^58 + 12*S0^2*S2*S3*z^58 + 
 12*S1*S2*S3*z^58 + 10*S3^2*z^58 + 15*S0*S3^2*z^58 + 3*S0^2*S4*z^58 + 
 6*S0^4*S4*z^58 + 3*S1*S4*z^58 + 4*S0^2*S1*S4*z^58 + 2*S1^2*S4*z^58 + 
 8*S0*S2*S4*z^58 + 6*S3*S4*z^58 + S0*S5*z^58 + 8*S0^2*S5*z^58 + 
 4*S0^3*S5*z^58 + 8*S1*S5*z^58 + 12*S0*S1*S5*z^58 + 4*S2*S5*z^58 + 
 7*S6*z^58 + 4*S0^2*S6*z^58 + 4*S1*S6*z^58 + 14*S7*z^58 + 5*S0*S7*z^58 + 
 13*S8*z^58 + 5*S0^9*z^59 + 15*S0^10*z^59 + 4*S0^7*S1*z^59 + 3*S0^8*S1*z^59 + 
 2*S0^5*S1^2*z^59 + 10*S0^6*S1^2*z^59 + 12*S0^3*S1^3*z^59 + 
 2*S0^4*S1^3*z^59 + 5*S0*S1^4*z^59 + 11*S0^2*S1^4*z^59 + 15*S1^5*z^59 + 
 4*S0^6*S2*z^59 + 8*S0^7*S2*z^59 + 12*S0^4*S1*S2*z^59 + 8*S0^5*S1*S2*z^59 + 
 4*S0^2*S1^2*S2*z^59 + 8*S0^3*S1^2*S2*z^59 + 12*S1^3*S2*z^59 + 
 8*S0*S1^3*S2*z^59 + 8*S0^3*S2^2*z^59 + 12*S0^4*S2^2*z^59 + 
 8*S0*S1*S2^2*z^59 + 8*S0^2*S1*S2^2*z^59 + 4*S1^2*S2^2*z^59 + 8*S2^3*z^59 + 
 6*S0^5*S3*z^59 + 14*S0^6*S3*z^59 + 12*S0^3*S1*S3*z^59 + 2*S0^4*S1*S3*z^59 + 
 10*S0*S1^2*S3*z^59 + 6*S0^2*S1^2*S3*z^59 + 2*S1^3*S3*z^59 + 
 12*S0^2*S2*S3*z^59 + 8*S0^3*S2*S3*z^59 + 12*S1*S2*S3*z^59 + 
 8*S0*S1*S2*S3*z^59 + 12*S2^2*S3*z^59 + 7*S0*S3^2*z^59 + 9*S0^2*S3^2*z^59 + 
 9*S1*S3^2*z^59 + 6*S0^4*S4*z^59 + 4*S0^5*S4*z^59 + 4*S0^2*S1*S4*z^59 + 
 8*S0^3*S1*S4*z^59 + 2*S1^2*S4*z^59 + 12*S0*S1^2*S4*z^59 + 8*S0*S2*S4*z^59 + 
 8*S0^2*S2*S4*z^59 + 8*S1*S2*S4*z^59 + 6*S3*S4*z^59 + 4*S0*S3*S4*z^59 + 
 2*S4^2*z^59 + 4*S0^3*S5*z^59 + 14*S0^4*S5*z^59 + 12*S0*S1*S5*z^59 + 
 4*S0^2*S1*S5*z^59 + 10*S1^2*S5*z^59 + 4*S2*S5*z^59 + 8*S0*S2*S5*z^59 + 
 14*S3*S5*z^59 + 4*S0^2*S6*z^59 + 8*S0^3*S6*z^59 + 4*S1*S6*z^59 + 
 8*S0*S1*S6*z^59 + 8*S2*S6*z^59 + 13*S0*S7*z^59 + 3*S0^2*S7*z^59 + 
 3*S1*S7*z^59 + 5*S8*z^59 + 6*S0*S8*z^59 + 15*S9*z^59 + 14*S0^10*z^60 + 
 6*S0^8*S1*z^60 + 4*S0^6*S1^2*z^60 + 4*S0^4*S1^3*z^60 + 6*S0^2*S1^4*z^60 + 
 14*S1^5*z^60 + 8*S0^4*S2^2*z^60 + 8*S1^2*S2^2*z^60 + 12*S0^6*S3*z^60 + 
 4*S0^4*S1*S3*z^60 + 12*S0^2*S1^2*S3*z^60 + 4*S1^3*S3*z^60 + 8*S2^2*S3*z^60 + 
 2*S0^2*S3^2*z^60 + 2*S1*S3^2*z^60 + 8*S0^5*S4*z^60 + 8*S0*S1^2*S4*z^60 + 
 8*S0*S3*S4*z^60 + 4*S4^2*z^60 + 12*S0^4*S5*z^60 + 8*S0^2*S1*S5*z^60 + 
 4*S1^2*S5*z^60 + 12*S3*S5*z^60 + 6*S0^2*S7*z^60 + 6*S1*S7*z^60 + 
 12*S0*S8*z^60 + 14*S9*z^60 + 4*S0^6*z^65 + 12*S0^4*S1*z^65 + 
 4*S0^2*S1^2*z^65 + 12*S1^3*z^65 + 8*S2^2*z^65 + 12*S0^2*S3*z^65 + 
 12*S1*S3*z^65 + 8*S0*S4*z^65 + 4*S5*z^65 + 8*S0^7*z^66 + 8*S0^5*S1*z^66 + 
 8*S0^3*S1^2*z^66 + 8*S0*S1^3*z^66 + 8*S0^4*S2*z^66 + 8*S1^2*S2*z^66 + 
 8*S0^3*S3*z^66 + 8*S0*S1*S3*z^66 + 8*S2*S3*z^66 + 8*S0^2*S4*z^66 + 
 8*S1*S4*z^66 + 8*S0*S5*z^66 + 8*S6*z^66 + 4*S0^8*z^67 + 8*S0^4*S1^2*z^67 + 
	      4*S1^4*z^67 + 8*S0^4*S3*z^67 + 8*S1^2*S3*z^67 + 12*S3^2*z^67 + 4*S7*z^67];

(*The Riccati-type differential equation from (12.3), 
  reduced modulo 8*)
DGl2a = PolynomialMod[DGl2,8];

(*applying the method modulo 8: it fails*)
Ga338a := Module[{Erg, Var, F, A0, A1, A2, A3, A4, A5, 
    a0, a1, a2, a3, a4, a5, X},
  F[z_] := 
   A0[z] + A1[z] f[z] + A2[z] f[z]^2 + A3[z] f[z]^3;
   A0[z_] := 1/z^5+1/z^3+1/z^2+2 a0[z];
   A1[z_] := 2 a1[z];
   A2[z_] := 1/z^7+1/z^4+2 a2[z];
   A3[z_] := 2 a3[z];
  Erg=F[z];

  For[k = 1, k <= 2, k++,
Print["Computation modulo ",2^(k+1),":"];

S0=Erg;

S1=Collect[Map[R8,Expand[X*D[S0,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S2=Collect[Map[R8,Expand[X*D[S1,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S3=Collect[Map[R8,Expand[X*D[S2,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S4=Collect[Map[R8,Expand[X*D[S3,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S5=Collect[Map[R8,Expand[X*D[S4,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S6=0;

S7=0;

S8=0;

S9=0;

S10=0;

S11=0;

Print["Loading the differential equation ..."];

   Gl = Expand[DGl2a];

Print["Simplification by eliminating second and higher derivatives"];
Print["  of the a_i[z] and reduction modulo 8 ..."];

   Gl = Collect[Expand[(Map[R8,Expand[X*Gl],2]/.X->1)],f[z]];

Print["Division by the minimal polynomial ..."];

   Gl = PolynomialRemainder[
     Gl, (f[z]^4 - 2 f[z]^3 + (2 z + 3) f[z]^2 + (2 z - 2) f[z] - 
        3 z^2 + 2 z), f[z]];
   
Print["Establishing the system of equations: reading of coefficients ..."];

   Gl = Table[
      Map[R2, Coefficient[Expand[X*Gl/2^(k)], f[z], i], 2], {i, 0, 
       3}] /. X -> 1;

Print["Solving the system of equations ..."];

   Var=GlSol[Gl,{a0[z],a1[z],a2[z],a3[z]}];

   Erg = Erg /. {a0[z] -> Var[[1, 2]] + 2 a0[z], 
      a1[z] -> Var[[2, 2]] + 2 a1[z], 
      a2[z] -> Var[[3, 2]] + 2 a2[z], 
      a3[z] -> Var[[4, 2]] + 2 a3[z]};
   ];
  ]

(*Program for deriving Theorem 30*)
Ga338 := Module[{Erg, Var, F, A0, A1, A2, A3, A4, A5, 
    a0, a1, a2, a3, a4, a5, X},
  F[z_] := 
   A0[z] + A1[z] f[z] + A2[z] f[z]^2 + A3[z] f[z]^3 + A4[z] f[z]^4 + 
    A5[z] f[z]^5;
  A0[z_] := 1/z^3+2 ((1+z-z^3+z^30)/z^4+2 a0[z]);
  A1[z_] := 2 ((1+z^3)/z^5+2 a1[z]);
  A2[z_] := 2 ((1+z^3)/z^6+2 a2[z]);
  A3[z_] := 2 ((1+z^3)/z^7+2 a3[z]);
  A4[z_] := (1/z^7+1/z^4+2 ((1+z-z^3-z^4+z^8)/z^6+2 a4[z]));
  A5[z_] := 2 ((1+z^3)/z^7+2 a5[z]);
  Erg=F[z];

  For[k = 2, k <= 3, k++,
Print["Computation modulo ",2^(k+1),":"];

S0=Erg;

S1=Collect[Map[R16,Expand[X*D[S0,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S2=Collect[Map[R16,Expand[X*D[S1,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S3=Collect[Map[R16,Expand[X*D[S2,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S4=Collect[Map[R16,Expand[X*D[S3,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S5=Collect[Map[R16,Expand[X*D[S4,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S6=0;

S7=0;

S8=0;

S9=0;

S10=0;

S11=0;

Print["Loading the differential equation ..."];

   Gl = Expand[DGl2a];

Print["Simplification by eliminating second and higher derivatives"];
Print["  of the a_i[z] and reduction modulo 8 ..."];

   Gl = Collect[Expand[(Map[R16,Expand[X*Gl],2]/.X->1)],f[z]];

Print["Division by the minimal polynomial ..."];

   Gl = PolynomialRemainder[
     Gl, (f[z]^4 - 2 f[z]^3 + (2 z + 3) f[z]^2 + (2 z - 2) f[z] - 
        3 z^2 + 2 z)(f[z]^2-f[z]+z), f[z]];
   
Print["Establishing the system of equations: reading of coefficients ..."];

   Gl = Table[
      Map[R2, Coefficient[Expand[X*Gl/2^(k)], f[z], i], 2], {i, 0, 
       5}] /. X -> 1;

Print["Solving the system of equations ..."];

   Var=GlSol[Gl,{a0[z],a1[z],a2[z],a3[z],a4[z],a5[z]}];

   Erg = Erg /. {a0[z] -> Var[[1, 2]] + 2 a0[z], 
      a1[z] -> Var[[2, 2]] + 2 a1[z], 
      a2[z] -> Var[[3, 2]] + 2 a2[z], 
      a3[z] -> Var[[4, 2]] + 2 a3[z], 
      a4[z] -> Var[[5, 2]] + 2 a4[z], 
      a5[z] -> Var[[6, 2]] + 2 a5[z]};
   ];
  Collect[
    Map[R8, 
     Expand[Erg*X /. {a0[z] -> 0, a1[z] -> 0, a2[z] -> 0, a3[z] -> 0, 
        a4[z] -> 0, a5[z] -> 0}], 2], f[z]] /. X -> 1
  ]

(*Program for producing the equations for determining the subgroup
 numbers of Ga_3(3) modulo 16, which then can be "handed over" to
 the procedure explained in Appendix D*)
Ga3316 := Module[{Erg, Var, F, A0, A1, A2, A3, A4, A5, X},
  Clear[a0,a1,a2,a3,a4,a5];
  F[z_] := 
   A0[z] + A1[z] f[z] + A2[z] f[z]^2 + A3[z] f[z]^3 + A4[z] f[z]^4 + 
    A5[z] f[z]^5;
  A0[z_] := 1/z^3+2 ((1+z-z^3+z^30)/z^4+2 a0[z]);
  A1[z_] := 2 ((1+z^3)/z^5+2 a1[z]);
  A2[z_] := 2 ((1+z^3)/z^6+2 a2[z]);
  A3[z_] := 2 ((1+z^3)/z^7+2 a3[z]);
  A4[z_] := (1/z^7+1/z^4+2 ((1+z-z^3-z^4+z^8)/z^6+2 a4[z]));
  A5[z_] := 2 ((1+z^3)/z^7+2 a5[z]);
  Erg=F[z];

  For[k = 2, k <= 3, k++,
Print["Computation modulo ",2^(k+1),":"];

S0=Erg;

S1=Collect[Map[R16,Expand[X*D[S0,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S2=Collect[Map[R16,Expand[X*D[S1,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S3=Collect[Map[R16,Expand[X*D[S2,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S4=Collect[Map[R16,Expand[X*D[S3,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S5=Collect[Map[R16,Expand[X*D[S4,z]/.D[f[z],z]->D[z+z^2+z^4+z^8,z]],2]/.X->1,f[z]]/.
Join[Table[D[a0[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a1[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a2[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a3[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a4[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a5[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a6[z], {z, i}] -> 0, {i, 2, 11}],
     Table[D[a7[z], {z, i}] -> 0, {i, 2, 11}]
    ];

S6=0;

S7=0;

S8=0;

S9=0;

S10=0;

S11=0;

Print["Loading the differential equation ..."];

   Gl = Expand[DGl2];

Print["Simplification by eliminating second and higher derivatives"];
Print["  of the a_i[z] and reduction modulo 8 ..."];

   Gl = Collect[Expand[(Map[R16,Expand[X*Gl],2]/.X->1)],f[z]];

Print["Division by the minimal polynomial ..."];

   Gl = PolynomialRemainder[
     Gl, (f[z]^4 - 2 f[z]^3 + (2 z + 3) f[z]^2 + (2 z - 2) f[z] - 
        3 z^2 + 2 z)(f[z]^2-f[z]+z), f[z]];
   
Print["Establishing the system of equations: reading of coefficients ..."];

   Gl = Table[
      Map[R2, Coefficient[Expand[X*Gl/2^(k)], f[z], i], 2], {i, 0, 
       5}] /. X -> 1;

   If[k==3, Return[Gl]];

Print["Solving the system of equations ..."];

   Var=GlSol[Gl,{a0[z],a1[z],a2[z],a3[z],a4[z],a5[z]}];

   Erg = Erg /. {a0[z] -> Var[[1, 2]] + 2 a0[z], 
      a1[z] -> Var[[2, 2]] + 2 a1[z], 
      a2[z] -> Var[[3, 2]] + 2 a2[z], 
      a3[z] -> Var[[4, 2]] + 2 a3[z], 
      a4[z] -> Var[[5, 2]] + 2 a4[z], 
      a5[z] -> Var[[6, 2]] + 2 a5[z]};
   ];
  ]

(*Free subgroup numbers for the lifts Gamma_m(5) of the Hecke group H(5)*)

(*The differential equation for G_m(5;z)*)
Glbeta=-G[z]+189m^4+4600m^3z*G[z]+14300m^3z^2*D[G[z],z]+1430m^2z^2G[z]^2+
8000*m^3z^3D[D[G[z],z],z]+2400m^2z^3G[z]D[G[z],z]+80m*z^3G[z]^3+
1000m^3z^4D[D[D[G[z],z],z],z]+400m^2z^4G[z]D[D[G[z],z],z]+300m^2z^4D[G[z],z]^2+
60m*z^4G[z]^2D[G[z],z]+z^4G[z]^4

(*The differential equation for F_m(5;z)*)
Gl=1 + z - 20*m*z + 130*m^2*z - 
 300*m^3*z + 189*m^4*z - 
 F[z] - 4*z*F[z] + 
 60*m*z*F[z] - 260*m^2*z*
  F[z] + 300*m^3*z*F[z] + 
 6*z*F[z]^2 - 60*m*z*F[z]^2 + 
 130*m^2*z*F[z]^2 - 
 4*z*F[z]^3 + 20*m*z*F[z]^3 + 
 z*F[z]^4 + 60*m*z^2*
  Derivative[1][F][z] - 
 1000*m^2*z^2*
  Derivative[1][F][z] + 
 4300*m^3*z^2*
  Derivative[1][F][z] - 
 120*m*z^2*F[z]*
  Derivative[1][F][z] + 
 1000*m^2*z^2*F[z]*
  Derivative[1][F][z] + 
 60*m*z^2*F[z]^2*
  Derivative[1][F][z] + 
 300*m^2*z^3*Derivative[1][F][
    z]^2 - 400*m^2*z^3*
  Derivative[2][F][z] + 
 5000*m^3*z^3*
  Derivative[2][F][z] + 
 400*m^2*z^3*F[z]*
  Derivative[2][F][z] + 
 1000*m^3*z^4*
  Derivative[3][F][z]

(*computing in Z/mZ*)
QZ[q_,m_]:=Module[{Erg,Z,N},
   If[NumberQ[q],
      Z=Numerator[q];
      N=Denominator[q];
      Erg=LinearSolve[{{N}}, {1}, Modulus -> m];
      Mod[Z*Erg[[1]],m],q]
   ]

(*Program for deriving Theorem 35*)

Gam516[m_] := 
 Module[{Erg, Var, F, A0, A1, A2, A3, A4, A5, A6, A7, 
   A8, A9, A10, A11, A12, A13, A14, A15, a0, a1, a2, a3, 
   a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15},
  F[z_] := 
   A0[z] + A1[z] f[z] + A2[z] f[z]^2 + A3[z] f[z]^3 + A4[z] f[z]^4 + 
    A5[z] f[z]^5 + A6[z] f[z]^6 + A7[z] f[z]^7 +
    A8[z] f[z]^8 + A9[z] f[z]^9 + A10[z] f[z]^10 + A11[z] f[z]^11 + 
    A12[z] f[z]^12 + A13[z] f[z]^13 + A14[z] f[z]^14 + A15[z] f[z]^15;
  A0[z_] := 1+ 2 a0[z];
  A1[z_] := 2 a1[z];
  A2[z_] := 2 a2[z];
  A3[z_] := 2 a3[z];
  A4[z_] := z^(-1/3) + 2 a4[z];
  A5[z_] := 2 a5[z];
  A6[z_] := 2 a6[z];
  A7[z_] := 2 a7[z];
  A8[z_] := 2 a8[z];
  A9[z_] := 2 a9[z];
  A10[z_] := 2 a10[z];
  A11[z_] := 2 a11[z];
  A12[z_] := 2 a12[z];
  A13[z_] := 2 a13[z];
  A14[z_] := 2 a14[z];
  A15[z_] := 2 a15[z];
  Erg = F[z];
  For[k = 1, k <= 3, k++,
   Gl = Expand[
1 + z - 20*m*z + 130*m^2*z - 
 300*m^3*z + 189*m^4*z - 
 Erg - 4*z*Erg + 
 60*m*z*Erg - 260*m^2*z*
  Erg + 300*m^3*z*Erg + 
 6*z*Erg^2 - 60*m*z*Erg^2 + 
 130*m^2*z*Erg^2 - 
 4*z*Erg^3 + 20*m*z*Erg^3 + 
 z*Erg^4 + 60*m*z^2*
  D[Erg,z] - 
 1000*m^2*z^2*
  D[Erg,z] + 
 4300*m^3*z^2*
  D[Erg,z] - 
 120*m*z^2*Erg*
  D[Erg,z] + 
 1000*m^2*z^2*Erg*
  D[Erg,z] + 
 60*m*z^2*Erg^2*
  D[Erg,z] + 
 300*m^2*z^3*D[Erg,z]^2 - 400*m^2*z^3*
  D[D[Erg,z],z] + 
 5000*m^3*z^3*
  D[D[Erg,z],z] + 
 400*m^2*z^3*Erg*
  D[D[Erg,z],z] + 
 1000*m^3*z^4*D[D[D[Erg,z],z],z] ];
   Gl = Gl /.  
        D[f[z], z] -> D[z^(1/3) + z^(4/3),z]/.
        D[D[f[z], z],z] -> D[D[z^(1/3) + z^(4/3),z],z]/.
        D[D[D[f[z], z],z],z] -> D[D[D[z^(1/3) + z^(4/3),z],z],z];
      Gl = Map[Simplify[#,Assumptions->z>0]&,Expand[Gl /. z->z^3]];
   Gl = Map[R2k[#,k+1]&, Expand[Gl*X], 2]/.X->1;
   Gl = PolynomialRemainder[
     Expand[Gl], (f[z^3]^4 + f[z^3] + z)^4, f[z^3]];
   Gl = Gl /. z->z^(1/3);
   Gl = Gl/2^k;
   Gl = Map[QZ[#,2]&, Expand[X*Gl],2]/.X->1;
   Gl = Table[
     Map[R2, Coefficient[Expand[Gl*X], f[z], i], 2]/.X->1, {i, 0, 15}];
   Var = Solve[
     Table[Gl[[ii]] == 0, {ii, 1, 16}], {a0[z], a1[z], a2[z], a3[z], 
      a4[z], a5[z], a6[z], a7[z], a8[z], a9[z], a10[z], a11[z], 
      a12[z], a13[z], a14[z], a15[z]}];
   Erg = Erg /. {a0[z] -> Var[[1, 1, 2]] + 2 a0[z], 
      a1[z] -> Var[[1, 2, 2]] + 2 a1[z], 
      a2[z] -> Var[[1, 3, 2]] + 2 a2[z], 
      a3[z] -> Var[[1, 4, 2]] + 2 a3[z], 
      a4[z] -> Var[[1, 5, 2]] + 2 a4[z], 
      a5[z] -> Var[[1, 6, 2]] + 2 a5[z], 
      a6[z] -> Var[[1, 7, 2]] + 2 a6[z], 
      a7[z] -> Var[[1, 8, 2]] + 2 a7[z],
      a8[z] -> Var[[1, 9, 2]] + 2 a8[z], 
      a9[z] -> Var[[1, 10, 2]] + 2 a9[z], 
      a10[z] -> Var[[1, 11, 2]] + 2 a10[z], 
      a11[z] -> Var[[1, 12, 2]] + 2 a11[z], 
      a12[z] -> Var[[1, 13, 2]] + 2 a12[z], 
      a13[z] -> Var[[1, 14, 2]] + 2 a13[z], 
      a14[z] -> Var[[1, 15, 2]] + 2 a14[z], 
      a15[z] -> Var[[1, 16, 2]] + 2 a15[z]};
   ];
  Collect[
   Map[QZ[#,16]&, 
    Expand[Erg*X /. {a0[z] -> 0, a1[z] -> 0, a2[z] -> 0, a3[z] -> 0, 
       a4[z] -> 0, a5[z] -> 0, a6[z] -> 0, a7[z] -> 0, 
       a8[z] -> 0, a9[z] -> 0, a10[z] -> 0, a11[z] -> 0, 
       a12[z] -> 0, a13[z] -> 0, a14[z] -> 0, a15[z] -> 0}], 2]/.X->1, f[z]]
  ]

(*Subgroup numbers of the Hecke group H(5)*)

(*Program for deriving Theorem 37*)
H516 := 
 Module[{Erg, Var, F, A0, A1, A2, A3, A4, A5, A6, A7, 
   A8, A9, A10, A11, A12, A13, A14, A15, a0, a1, a2, a3, 
   a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15},
  F[z_] := 
   A0[z] + A1[z] f[z] + A2[z] f[z]^2 + A3[z] f[z]^3 + A4[z] f[z]^4 + 
    A5[z] f[z]^5 + A6[z] f[z]^6 + A7[z] f[z]^7 +
    A8[z] f[z]^8 + A9[z] f[z]^9 + A10[z] f[z]^10 + A11[z] f[z]^11 + 
    A12[z] f[z]^12 + A13[z] f[z]^13 + A14[z] f[z]^14 + A15[z] f[z]^15;
  A0[z_] := z^-9 + 2 a0[z];
  A1[z_] := 2 a1[z];
  A2[z_] := 2 a2[z];
  A3[z_] := 2 a3[z];
  A4[z_] := z^(-13) + 2 a4[z];
  A5[z_] := 2 a5[z];
  A6[z_] := 2 a6[z];
  A7[z_] := 2 a7[z];
  A8[z_] := z^(-8) + 2 a8[z];
  A9[z_] := 2 a9[z];
  A10[z_] := 2 a10[z];
  A11[z_] := 2 a11[z];
  A12[z_] := 2 a12[z];
  A13[z_] := 2 a13[z];
  A14[z_] := 2 a14[z];
  A15[z_] := 2 a15[z];
  Erg = F[z];
  For[k = 1, k <= 3, k++,
S0=Erg;

S1=Collect[Map[R16,Expand[X*D[S0,z]/.D[f[z],z]->D[z+z^4,z]],2]/.X->1,f[z]];

S2=Collect[Map[R16,Expand[X*D[S1,z]/.D[f[z],z]->D[z+z^4,z]],2]/.X->1,f[z]];

S3=Collect[Map[R16,Expand[X*D[S2,z]/.D[f[z],z]->D[z+z^4,z]],2]/.X->1,f[z]];

S4=Collect[Map[R16,Expand[X*D[S3,z]/.D[f[z],z]->D[z+z^4,z]],2]/.X->1,f[z]];

(*The differential equation from (14.4)*)
   Gl = Expand[
1 - S0 + z^3 + 26*z^12 + 16*z^15 + 44*S0*z^15 + (5*S1*z^16)/3 - 12*z^18 + 
 14*S0*z^18 + 5*S0^2*z^18 + (2*S1*z^19)/3 + 4*z^21 + 2*S0^2*z^21 + 100*z^27 - 
 56*z^30 + 276*S0*z^30 + (1312*S1*z^31)/27 + (8*S2*z^32)/3 + 40*z^33 - 
 36*S0*z^33 + 162*S0^2*z^33 + (S3*z^33)/27 - (8*S1*z^34)/9 + 26*S0*S1*z^34 + 
 (S1^2*z^35)/3 + (4*S2*z^35)/9 + 48*S0*z^36 + 26*S0^3*z^36 + (8*S1*z^37)/3 + 
 2*S0^2*S1*z^37 + 8*S0^2*z^39 + S0^4*z^39 - 256*z^42 + 224*z^45 - 
 824*S0*z^45 - (3928*S1*z^46)/27 - (76*S2*z^47)/9 + 736*S0*z^48 - 
 488*S0^2*z^48 - (4*S3*z^48)/27 + (3688*S1*z^49)/27 - 84*S0*S1*z^49 - 
 (4*S1^2*z^50)/3 + (56*S2*z^50)/9 + 448*S0^2*z^51 - 84*S0^3*z^51 + 
 (4*S3*z^51)/27 - (32*S1*z^52)/9 + 80*S0*S1*z^52 - 8*S0^2*S1*z^52 + 
 (4*S1^2*z^53)/3 + (16*S2*z^53)/9 + 80*S0^3*z^54 - 4*S0^4*z^54 + 
 8*S0^2*S1*z^55 + 4*S0^4*z^57];

   Gl = Collect[Expand[(Map[R16,Expand[X*Gl],2]/.X->1)],f[z]]/.D[D[a0[z],z],z]->0/.D[D[D[a0[z],z],z],z]->0/.D[D[D[D[a0[z],z],z],z],z]->0/.D[D[a1[z],z],z]->0/.D[D[D[a1[z],z],z],z]->0/.D[D[D[D[a1[z],z],z],z],z]->0/.D[D[a2[z],z],z]->0/.D[D[D[a2[z],z],z],z]->0/.D[D[D[D[a2[z],z],z],z],z]->0/.D[D[a3[z],z],z]->0/.D[D[D[a3[z],z],z],z]->0/.D[D[D[D[a3[z],z],z],z],z]->0/.D[D[a4[z],z],z]->0/.D[D[D[a4[z],z],z],z]->0/.D[D[D[D[a4[z],z],z],z],z]->0/.D[D[a5[z],z],z]->0/.D[D[D[a5[z],z],z],z]->0/.D[D[D[D[a5[z],z],z],z],z]->0/.D[D[a6[z],z],z]->0/.D[D[D[a6[z],z],z],z]->0/.D[D[D[D[a6[z],z],z],z],z]->0/.
D[D[a7[z],z],z]->0/.D[D[D[a7[z],z],z],z]->0/.D[D[D[D[a7[z],z],z],z],z]->0/.
D[D[a8[z],z],z]->0/.D[D[D[a8[z],z],z],z]->0/.D[D[D[D[a8[z],z],z],z],z]->0/.
D[D[a9[z],z],z]->0/.D[D[D[a9[z],z],z],z]->0/.D[D[D[D[a9[z],z],z],z],z]->0/.
D[D[a10[z],z],z]->0/.D[D[D[a10[z],z],z],z]->0/.D[D[D[D[a10[z],z],z],z],z]->0/.
D[D[a11[z],z],z]->0/.D[D[D[a11[z],z],z],z]->0/.D[D[D[D[a11[z],z],z],z],z]->0/.
D[D[a12[z],z],z]->0/.D[D[D[a12[z],z],z],z]->0/.D[D[D[D[a12[z],z],z],z],z]->0/.
D[D[a13[z],z],z]->0/.D[D[D[a13[z],z],z],z]->0/.D[D[D[D[a13[z],z],z],z],z]->0/.
D[D[a14[z],z],z]->0/.D[D[D[a14[z],z],z],z]->0/.D[D[D[D[a14[z],z],z],z],z]->0/.
D[D[a15[z],z],z]->0/.D[D[D[a15[z],z],z],z]->0/.D[D[D[D[a15[z],z],z],z],z]->0;

   Gl = Map[QZ[#,16]&, Expand[Gl*X], 2]/.X->1;
   Gl = PolynomialRemainder[
     Expand[Gl], (f[z]^4 + f[z] + z)^4, f[z]];
   Gl = Table[
      Map[R2, Coefficient[Expand[X*Gl/2^(k)], f[z], i], 2], {i, 0, 
       15}] /. X -> 1;
   
   Var=GlSol[Gl,{a0[z],a1[z],a2[z],a3[z],a4[z],a5[z],a6[z],a7[z],
                 a8[z],a9[z],a10[z],a11[z],a12[z],a13[z],a14[z],a15[z]}];
   Erg = Erg /. {a0[z] -> Var[[1, 2]] + 2 a0[z], 
      a1[z] -> Var[[2, 2]] + 2 a1[z], 
      a2[z] -> Var[[3, 2]] + 2 a2[z], 
      a3[z] -> Var[[4, 2]] + 2 a3[z], 
      a4[z] -> Var[[5, 2]] + 2 a4[z], 
      a5[z] -> Var[[6, 2]] + 2 a5[z],
      a6[z] -> Var[[7, 2]] + 2 a6[z],
      a7[z] -> Var[[8, 2]] + 2 a7[z],
      a8[z] -> Var[[9, 2]] + 2 a8[z],
      a9[z] -> Var[[10, 2]] + 2 a9[z],
      a10[z] -> Var[[11, 2]] + 2 a10[z],
      a11[z] -> Var[[12, 2]] + 2 a11[z],
      a12[z] -> Var[[13, 2]] + 2 a12[z],
      a13[z] -> Var[[14, 2]] + 2 a13[z],
      a14[z] -> Var[[15, 2]] + 2 a14[z],
      a15[z] -> Var[[16, 2]] + 2 a15[z]};
   ];
  Collect[
   Map[R16, 
    Expand[Erg*X /. {a0[z] -> 0, a1[z] -> 0, a2[z] -> 0, a3[z] -> 0, 
       a4[z] -> 0, a5[z] -> 0, a6[z] -> 0, a7[z] -> 0, 
       a8[z] -> 0, a9[z] -> 0, a10[z] -> 0, a11[z] -> 0, 
	   a12[z] -> 0, a13[z] -> 0, a14[z] -> 0, a15[z] -> 0}], 2]/.X->1, f[z]]/.f[z]->f[z^3]/.z->z^(1/3)
  ]







