/*
===find equations for modular curve X_H(l)===

steps:
1. Attach("FindEquationXHl.m");

2. ModularCurveXH(ell,d);

ell level of modular curve should be one of {29,31,37,41,43,61}

d  =[G:H], G=(Z/ell*Z)^*

3. polynomials are written in FXY.txt

*/

intrinsic ModularCurveXH(ell::RngIntElt,index_h::RngIntElt)->BoolElt
{X_H(ell), [(Z/lZ)^*:H]=index_h}

R<x,y>:=PolynomialRing(Rationals(),2);

r:=(x^2*y-x*y+y-1)/(x*(x*y-1));
s:=(x*y-y+1)/(x*y);
b:=r*s*(r-1);
c:=s*(r-1);
f:=[];
f[2-1] := b/(16*b^2+(1-20*c-8*c^2)*b+c*(c-1)^3);
f[3-1] := b;
f[4-1] := c;
f[5-1] := b-c;
f[6-1] := s-1;
f[7-1] := s-r;
f[8-1] := r*s-2*r+1;
f[9-1] := s^2-s-r+1;
f[10-1] := x-y+1;
f[11-1] := x^2*y-x*y^2+y-1;
f[12-1] := x-y;
f[13-1] := x^3*y-x^2*y^2-x^2*y+x*y^2-y+1;
f[14-1] := x^2*y-x*y^2-x*y+y^2-1;
f[15-1] := x^2*y-x^2-x*y^2+x*y-x+y-1;
f[16-1] := x^2*y^2-2*x^2*y-x*y^3+2*x*y^2-y+1;
f[17-1] := x^4*y-x^3*y^3-x^3*y+x^2*y^4+x^2*y-x^2-x*y^4+x*y^3-x*y^2+x*y+y^3-2*y^2+y;
f[18-1] := x^4*y-3*x^3*y^2+x^3*y+2*x^2*y^3+x^2*y^2-2*x^2*y-2*x*y^3+2*x*y^2+y^2-2*y+1;
f[19-1] := x^5*y^2-3*x^4*y^3+3*x^3*y^4+2*x^3*y^2-2*x^3*y-x^2*y^5-x^2*y^4-x^2*y^3+x^2*y^2+x^2*y+x*y^5-x*y^4+2*x*y^3-2*x*y^2-x*y+x-y^4+2*y^3-y^2;
f[20-1] := x^4*y-2*x^3*y^2-x^3*y+x^2*y^3+x^2*y^2+2*x^2*y-x^2-2*x*y^2+x*y+y-1;
f[21-1] := x^5*y^2-3*x^4*y^3-x^4*y^2+3*x^3*y^4+3*x^3*y^3-x^2*y^5-3*x^2*y^4-2*x^2*y^2+3*x^2*y+x*y^5+3*x*y^3-4*x*y^2-y^4+y^3+y-1;
f[22-1] := x^5*y^2-x^5*y-2*x^4*y^3+2*x^4*y+x^3*y^4+3*x^3*y^3-4*x^3*y^2+x^3-2*x^2*y^4+x^2*y^3+x^2*y^2-x^2*y+x*y^4-x*y^3+x*y^2-x*y-y^3+2*y^2-y;
f[23-1]:=x^7*y^4 - 2*x^7*y^3 + x^7*y^2 - 3*x^6*y^5 + 4*x^6*y^4 + 3*x^5*y^6 - 5*x^5*y^4 - 
    3*x^5*y^3 + 3*x^5*y^2 - x^5*y - x^4*y^7 - 4*x^4*y^6 + 5*x^4*y^5 + 6*x^4*y^4 
    - x^4*y^3 - x^4*y^2 - x^4*y + 2*x^3*y^7 - 3*x^3*y^5 - 6*x^3*y^4 + 2*x^3*y^3 
    + 5*x^3*y^2 - x^3*y - x^2*y^7 + 3*x^2*y^5 + 2*x^2*y^4 - x^2*y^3 - 7*x^2*y^2 
    + 4*x^2*y + x*y^6 - 2*x*y^5 - 3*x*y^4 + 8*x*y^3 - 4*x*y^2 + y^3 - 3*y^2 + 
    3*y - 1;
f[24-1]:=x^5*y^4 - 3*x^5*y^3 + 3*x^5*y^2 - 2*x^4*y^5 + 5*x^4*y^4 - 5*x^4*y^3 + x^3*y^6 - 
    x^3*y^5 + x^3*y^4 - x^3*y^3 + 4*x^3*y^2 - 3*x^3*y - x^2*y^6 + x^2*y^5 - 
    x^2*y^4 + x^2*y^3 - x^2*y^2 + x^2*y + 2*x*y^5 - 5*x*y^4 + 5*x*y^3 - 2*x*y^2 
    - x*y + x - y^4 + 3*y^3 - 3*y^2 + y;
f[25-1]:=x^8*y^2 + x^7*y^5 - 4*x^7*y^4 - x^7*y^2 - 3*x^6*y^6 + 11*x^6*y^5 - 2*x^6*y^4 + 
    2*x^6*y^2 - 2*x^6*y + 3*x^5*y^7 - 9*x^5*y^6 - 4*x^5*y^5 + 4*x^5*y^4 - 
    2*x^5*y^3 + 4*x^5*y^2 - x^4*y^8 + x^4*y^7 + 9*x^4*y^6 - 5*x^4*y^5 + 
    6*x^4*y^4 - 15*x^4*y^3 + 7*x^4*y^2 - 2*x^4*y + x^4 + x^3*y^8 - 4*x^3*y^7 + 
    3*x^3*y^6 - 14*x^3*y^5 + 26*x^3*y^4 - 15*x^3*y^3 + 7*x^3*y^2 - 5*x^3*y + x^3
    - x^2*y^7 + 8*x^2*y^6 - 13*x^2*y^5 + 12*x^2*y^4 - 18*x^2*y^3 + 19*x^2*y^2 - 
    8*x^2*y + x^2 - 4*x*y^5 + 13*x*y^4 - 16*x*y^3 + 10*x*y^2 - 4*x*y + x + y^4 -
    4*y^3 + 6*y^2 - 4*y + 1;
f[26-1]:=x^6*y^2 - 5*x^5*y^3 + 2*x^5*y^2 + x^4*y^5 + 5*x^4*y^4 - 2*x^4*y^2 - x^4*y - 
    2*x^3*y^6 - 4*x^3*y^4 + 9*x^3*y^2 - 4*x^3*y + x^2*y^7 + 5*x^2*y^4 - 
    11*x^2*y^3 + 4*x^2*y^2 + x^2*y - x*y^7 + 2*x*y^6 - 4*x*y^5 + 6*x*y^4 - 
    3*x*y^3 + x*y^2 - 2*x*y + x + y^6 - 3*y^5 + 3*y^4 - y^3;
f[27-1]:=x^10*y^3 - 6*x^9*y^4 + 15*x^8*y^5 + 3*x^8*y^3 - 3*x^8*y^2 - 19*x^7*y^6 - 
    6*x^7*y^5 - 3*x^7*y^4 + 5*x^7*y^3 + 3*x^7*y^2 + 12*x^6*y^7 + 18*x^6*y^6 - 
    6*x^6*y^5 + 3*x^6*y^4 - 12*x^6*y^3 - 3*x^6*y^2 + 3*x^6*y - 3*x^5*y^8 - 
    18*x^5*y^7 + 6*x^5*y^6 - 12*x^5*y^5 + 27*x^5*y^4 - 3*x^5*y^3 - x^5*y^2 - 
    2*x^5*y + 6*x^4*y^8 + 3*x^4*y^7 + 10*x^4*y^6 - 24*x^4*y^5 + 3*x^4*y^4 - 
    2*x^4*y^3 + 5*x^4*y^2 + x^4*y - x^4 - 3*x^3*y^8 - 3*x^3*y^7 + 15*x^3*y^5 - 
    6*x^3*y^4 - 3*x^3*y^3 - x^3*y^2 + x^3*y + 6*x^2*y^7 - 12*x^2*y^6 + 
    10*x^2*y^5 - 13*x^2*y^4 + 15*x^2*y^3 - 7*x^2*y^2 + x^2*y - 4*x*y^6 + 
    13*x*y^5 - 16*x*y^4 + 10*x*y^3 - 4*x*y^2 + x*y + y^5 - 4*y^4 + 6*y^3 - 4*y^2
    + y;
f[28-1]:=x^8*y^2 - 5*x^7*y^3 + 10*x^6*y^4 + 2*x^6*y^2 - x^6*y - 10*x^5*y^5 - 10*x^5*y^3 +
    8*x^5*y^2 - x^5*y + 5*x^4*y^6 + x^4*y^5 + 13*x^4*y^4 - 9*x^4*y^3 - x^4*y^2 -
    x^4*y - x^3*y^7 - 2*x^3*y^6 - 4*x^3*y^5 - 4*x^3*y^4 + 8*x^3*y^3 + 2*x^3*y^2 
    - x^3*y + x^2*y^7 - x^2*y^6 + 8*x^2*y^5 - 11*x^2*y^4 + 8*x^2*y^3 - 
    10*x^2*y^2 + 5*x^2*y - 2*x*y^6 + 5*x*y^5 - 10*x*y^4 + 14*x*y^3 - 8*x*y^2 + 
    x*y + y^5 - 3*y^4 + 4*y^3 - 4*y^2 + 3*y - 1;
f[29-1]:=x^12*y^5 - x^12*y^4 - 6*x^11*y^6 + 4*x^11*y^5 + 2*x^11*y^4 + 15*x^10*y^7 - 
    3*x^10*y^6 - 10*x^10*y^5 - 3*x^10*y^4 + x^10*y^3 - 20*x^9*y^8 - 10*x^9*y^7 +
    18*x^9*y^6 + 14*x^9*y^5 + 4*x^9*y^4 - 7*x^9*y^3 + 15*x^8*y^9 + 25*x^8*y^8 - 
    10*x^8*y^7 - 27*x^8*y^6 - 23*x^8*y^5 + 18*x^8*y^4 + 6*x^8*y^3 - 6*x^7*y^10 -
    24*x^7*y^9 - 9*x^7*y^8 + 21*x^7*y^7 + 46*x^7*y^6 - 17*x^7*y^5 - 7*x^7*y^4 - 
    20*x^7*y^3 + 10*x^7*y^2 + x^6*y^11 + 11*x^6*y^10 + 15*x^6*y^9 + 4*x^6*y^8 - 
    51*x^6*y^7 + 8*x^6*y^6 - 15*x^6*y^5 + 54*x^6*y^4 - 18*x^6*y^3 - 5*x^6*y^2 - 
    2*x^5*y^11 - 7*x^5*y^10 - 15*x^5*y^9 + 26*x^5*y^8 + 39*x^5*y^6 - 63*x^5*y^5 
    + 14*x^5*y^4 + 12*x^5*y^2 - 5*x^5*y + x^4*y^11 + 6*x^4*y^10 + x^4*y^9 - 
    4*x^4*y^8 - 29*x^4*y^7 + 26*x^4*y^6 + 6*x^4*y^5 + x^4*y^4 - 12*x^4*y^3 + 
    2*x^4*y^2 + 2*x^4*y - 4*x^3*y^10 + 2*x^3*y^9 + 21*x^3*y^7 - 33*x^3*y^6 + 
    20*x^3*y^5 - 13*x^3*y^4 + 11*x^3*y^3 - 3*x^3*y^2 - 2*x^3*y + x^3 + 6*x^2*y^9
    - 18*x^2*y^8 + 25*x^2*y^7 - 33*x^2*y^6 + 42*x^2*y^5 - 34*x^2*y^4 + 
    15*x^2*y^3 - 3*x^2*y^2 - 4*x*y^8 + 17*x*y^7 - 30*x*y^6 + 30*x*y^5 - 20*x*y^4
    + 9*x*y^3 - 2*x*y^2 + y^7 - 5*y^6 + 10*y^5 - 10*y^4 + 5*y^3 - y^2;
f[30-1]:=x^8*y^4 - x^8*y^3 - 4*x^7*y^5 + x^7*y^4 + 4*x^7*y^3 + 6*x^6*y^6 + 5*x^6*y^5 - 
    11*x^6*y^4 - 7*x^6*y^3 + 3*x^6*y^2 - 4*x^5*y^7 - 11*x^5*y^6 + 9*x^5*y^5 + 
    15*x^5*y^4 + 6*x^5*y^3 - 9*x^5*y^2 + x^4*y^8 + 8*x^4*y^7 - 9*x^4*y^5 - 
    20*x^4*y^4 + 6*x^4*y^3 + 13*x^4*y^2 - 3*x^4*y - 2*x^3*y^8 - 3*x^3*y^7 + 
    x^3*y^6 + 9*x^3*y^5 + 15*x^3*y^4 - 17*x^3*y^3 - 8*x^3*y^2 + 6*x^3*y + 
    x^2*y^8 + 3*x^2*y^6 - 14*x^2*y^5 + 5*x^2*y^4 + 6*x^2*y^3 + 5*x^2*y^2 - 
    7*x^2*y + x^2 - x*y^7 + 2*x*y^6 - x*y^5 + 5*x*y^4 - 10*x*y^3 + 4*x*y^2 + 
    2*x*y - x - y^3 + 3*y^2 - 3*y + 1;
f[31-1]:=x^13*y^7 - 3*x^13*y^6 + 3*x^13*y^5 - x^13*y^4 - 6*x^12*y^8 + 15*x^12*y^7 - 
    10*x^12*y^6 + 15*x^11*y^9 - 27*x^11*y^8 + 12*x^11*y^6 + 12*x^11*y^5 - 
    8*x^11*y^4 + 2*x^11*y^3 - 20*x^10*y^10 + 15*x^10*y^9 + 42*x^10*y^8 - 
    23*x^10*y^7 - 45*x^10*y^6 + 12*x^10*y^5 + 2*x^10*y^4 + 2*x^10*y^3 + 
    15*x^9*y^11 + 15*x^9*y^10 - 70*x^9*y^9 + 6*x^9*y^8 + 49*x^9*y^7 + 42*x^9*y^6
    - 15*x^9*y^5 - 28*x^9*y^4 + 7*x^9*y^3 - x^9*y^2 - 6*x^8*y^12 - 27*x^8*y^11 +
    42*x^8*y^10 + 21*x^8*y^9 + 9*x^8*y^8 - 111*x^8*y^7 - 3*x^8*y^6 + 51*x^8*y^5 
    + 24*x^8*y^4 - 13*x^8*y^3 - 2*x^8*y^2 + x^7*y^13 + 15*x^7*y^12 - 20*x^7*y^10
    - 45*x^7*y^9 + 60*x^7*y^8 + 71*x^7*y^7 - 16*x^7*y^6 - 96*x^7*y^5 + 
    13*x^7*y^4 + 26*x^7*y^3 - 3*x^7*y^2 - 3*x^6*y^13 - 10*x^6*y^12 + 3*x^6*y^11 
    + 14*x^6*y^10 + 50*x^6*y^9 - 111*x^6*y^8 + 3*x^6*y^7 + 47*x^6*y^6 + 
    47*x^6*y^5 - 14*x^6*y^4 - 44*x^6*y^3 + 17*x^6*y^2 + 3*x^5*y^13 + 3*x^5*y^12 
    + 12*x^5*y^11 - 58*x^5*y^10 + 64*x^5*y^9 - 42*x^5*y^8 + 87*x^5*y^7 - 
    97*x^5*y^6 - 32*x^5*y^5 + 87*x^5*y^4 - 22*x^5*y^3 - 5*x^5*y^2 - x^4*y^13 - 
    6*x^4*y^12 + 9*x^4*y^11 - 4*x^4*y^10 + 32*x^4*y^9 - 69*x^4*y^8 + 34*x^4*y^7 
    + 43*x^4*y^6 - 51*x^4*y^5 + 23*x^4*y^4 - 30*x^4*y^3 + 27*x^4*y^2 - 7*x^4*y +
    4*x^3*y^12 - 6*x^3*y^11 + 4*x^3*y^10 - 24*x^3*y^9 + 59*x^3*y^8 - 70*x^3*y^7 
    + 60*x^3*y^6 - 59*x^3*y^5 + 59*x^3*y^4 - 34*x^3*y^3 + 6*x^3*y^2 + x^3*y - 
    6*x^2*y^11 + 24*x^2*y^10 - 46*x^2*y^9 + 70*x^2*y^8 - 96*x^2*y^7 + 
    100*x^2*y^6 - 70*x^2*y^5 + 31*x^2*y^4 - 10*x^2*y^3 + 6*x^2*y^2 - 4*x^2*y + 
    x^2 + 4*x*y^10 - 21*x*y^9 + 48*x*y^8 - 65*x*y^7 + 60*x*y^6 - 39*x*y^5 + 
    16*x*y^4 - 3*x*y^3 - y^9 + 6*y^8 - 15*y^7 + 20*y^6 - 15*y^5 + 6*y^4 - y^3;
f[37-1]:=x^19*y^8 - 2*x^19*y^7 + x^19*y^6 - 10*x^18*y^9 + 17*x^18*y^8 - 4*x^18*y^7 - 
    3*x^18*y^6 + 45*x^17*y^10 - 60*x^17*y^9 - 10*x^17*y^8 + 18*x^17*y^7 + 
    9*x^17*y^6 - 2*x^17*y^5 - 120*x^16*y^11 + 105*x^16*y^10 + 100*x^16*y^9 - 
    24*x^16*y^8 - 61*x^16*y^7 - 13*x^16*y^6 + 14*x^16*y^5 + 210*x^15*y^12 - 
    60*x^15*y^11 - 285*x^15*y^10 - 100*x^15*y^9 + 171*x^15*y^8 + 129*x^15*y^7 - 
    48*x^15*y^6 - 26*x^15*y^5 + x^15*y^4 - 252*x^14*y^13 - 127*x^14*y^12 + 
    419*x^14*y^11 + 440*x^14*y^10 - 130*x^14*y^9 - 484*x^14*y^8 + 38*x^14*y^7 + 
    71*x^14*y^6 + 84*x^14*y^5 - 31*x^14*y^4 + 210*x^13*y^14 + 342*x^13*y^13 - 
    317*x^13*y^12 - 715*x^13*y^11 - 475*x^13*y^10 + 1010*x^13*y^9 + 156*x^13*y^8
    + 27*x^13*y^7 - 392*x^13*y^6 + 53*x^13*y^5 + 45*x^13*y^4 - 120*x^12*y^15 - 
    405*x^12*y^14 + 39*x^12*y^13 + 520*x^12*y^12 + 1427*x^12*y^11 - 
    1036*x^12*y^10 - 575*x^12*y^9 - 569*x^12*y^8 + 877*x^12*y^7 + 50*x^12*y^6 - 
    46*x^12*y^5 - 127*x^12*y^4 + 35*x^12*y^3 + 45*x^11*y^16 + 290*x^11*y^15 + 
    170*x^11*y^14 - 37*x^11*y^13 - 1632*x^11*y^12 - x^11*y^11 + 837*x^11*y^10 + 
    1462*x^11*y^9 - 930*x^11*y^8 - 422*x^11*y^7 - 186*x^11*y^6 + 411*x^11*y^5 - 
    21*x^11*y^4 - 42*x^11*y^3 - 10*x^10*y^17 - 130*x^10*y^16 - 195*x^10*y^15 - 
    205*x^10*y^14 + 773*x^10*y^13 + 1202*x^10*y^12 - 541*x^10*y^11 - 
    1508*x^10*y^10 - 470*x^10*y^9 + 1085*x^10*y^8 + 634*x^10*y^7 - 561*x^10*y^6 
    - 140*x^10*y^5 + 31*x^10*y^4 + 84*x^10*y^3 - 21*x^10*y^2 + x^9*y^18 + 
    34*x^9*y^17 + 115*x^9*y^16 + 145*x^9*y^15 + 65*x^9*y^14 - 1261*x^9*y^13 + 
    31*x^9*y^12 + 130*x^9*y^11 + 2377*x^9*y^10 - 1173*x^9*y^9 - 819*x^9*y^8 - 
    189*x^9*y^7 + 695*x^9*y^6 - 25*x^9*y^5 - 145*x^9*y^4 - 10*x^9*y^3 + 
    21*x^9*y^2 - 4*x^8*y^18 - 39*x^8*y^17 - 52*x^8*y^16 - 210*x^8*y^15 + 
    505*x^8*y^14 + 189*x^8*y^13 + 883*x^8*y^12 - 2109*x^8*y^11 + 88*x^8*y^10 + 
    46*x^8*y^9 + 1928*x^8*y^8 - 1433*x^8*y^7 + 190*x^8*y^6 - 105*x^8*y^5 + 
    175*x^8*y^4 - 32*x^8*y^3 - 26*x^8*y^2 + 7*x^8*y + 6*x^7*y^18 + 17*x^7*y^17 +
    69*x^7*y^16 - 12*x^7*y^15 - 165*x^7*y^14 - 476*x^7*y^13 + 193*x^7*y^12 + 
    890*x^7*y^11 + 700*x^7*y^10 - 2097*x^7*y^9 + 946*x^7*y^8 - 601*x^7*y^7 + 
    1090*x^7*y^6 - 728*x^7*y^5 + 165*x^7*y^4 + 5*x^7*y^3 + 2*x^7*y^2 - 4*x^7*y -
    4*x^6*y^18 - 7*x^6*y^17 - 46*x^6*y^16 + 79*x^6*y^15 - 57*x^6*y^14 + 
    600*x^6*y^13 - 768*x^6*y^12 - 174*x^6*y^11 + 18*x^6*y^10 + 407*x^6*y^9 + 
    943*x^6*y^8 - 1700*x^6*y^7 + 868*x^6*y^6 - 212*x^6*y^5 + 85*x^6*y^4 - 
    40*x^6*y^3 + 6*x^6*y^2 + 3*x^6*y - x^6 + x^5*y^18 + 9*x^5*y^17 - 11*x^5*y^16
    + 59*x^5*y^15 - 231*x^5*y^14 + 230*x^5*y^13 - 324*x^5*y^12 + 904*x^5*y^11 - 
    660*x^5*y^10 - 339*x^5*y^9 + 210*x^5*y^8 + 336*x^5*y^7 - 73*x^5*y^6 - 
    209*x^5*y^5 + 119*x^5*y^4 - 23*x^5*y^3 + x^5*y^2 + x^5*y - 4*x^4*y^17 + 
    4*x^4*y^16 - 6*x^4*y^15 + 24*x^4*y^14 + 64*x^4*y^13 - 174*x^4*y^12 + 
    78*x^4*y^11 - 320*x^4*y^10 + 1040*x^4*y^9 - 1154*x^4*y^8 + 658*x^4*y^7 - 
    453*x^4*y^6 + 401*x^4*y^5 - 194*x^4*y^4 + 40*x^4*y^3 - 5*x^4*y^2 + x^4*y + 
    6*x^3*y^16 - 26*x^3*y^15 + 64*x^3*y^14 - 137*x^3*y^13 + 159*x^3*y^12 + 
    48*x^3*y^11 - 366*x^3*y^10 + 621*x^3*y^9 - 997*x^3*y^8 + 1322*x^3*y^7 - 
    1095*x^3*y^6 + 527*x^3*y^5 - 160*x^3*y^4 + 44*x^3*y^3 - 11*x^3*y^2 + x^3*y -
    4*x^2*y^15 + 24*x^2*y^14 - 67*x^2*y^13 + 122*x^2*y^12 - 129*x^2*y^11 - 
    52*x^2*y^10 + 444*x^2*y^9 - 767*x^2*y^8 + 795*x^2*y^7 - 647*x^2*y^6 + 
    466*x^2*y^5 - 263*x^2*y^4 + 94*x^2*y^3 - 17*x^2*y^2 + x^2*y + x*y^14 - 
    7*x*y^13 + 21*x*y^12 - 35*x*y^11 + 26*x*y^10 + 43*x*y^9 - 190*x*y^8 + 
    342*x*y^7 - 371*x*y^6 + 259*x*y^5 - 119*x*y^4 + 37*x*y^3 - 8*x*y^2 + x*y + 
    y^9 - 8*y^8 + 28*y^7 - 56*y^6 + 70*y^5 - 56*y^4 + 28*y^3 - 8*y^2 + y;
f[41-1]:=x^23*y^7 + x^22*y^12 - 6*x^22*y^11 + 15*x^22*y^10 - 20*x^22*y^9 - 3*x^22*y^7 - 
    10*x^21*y^13 + 55*x^21*y^12 - 123*x^21*y^11 + 143*x^21*y^10 + 10*x^21*y^9 + 
    8*x^21*y^7 - 5*x^21*y^6 + 45*x^20*y^14 - 220*x^20*y^13 + 415*x^20*y^12 - 
    384*x^20*y^11 - 204*x^20*y^10 + 13*x^20*y^9 + 30*x^20*y^8 + 9*x^20*y^7 + 
    10*x^20*y^6 - 120*x^19*y^15 + 495*x^19*y^14 - 685*x^19*y^13 + 355*x^19*y^12 
    + 901*x^19*y^11 + 210*x^19*y^10 - 284*x^19*y^9 - 167*x^19*y^8 + 25*x^19*y^7 
    - 25*x^19*y^6 + 10*x^19*y^5 + 210*x^18*y^16 - 660*x^18*y^15 + 360*x^18*y^14 
    + 400*x^18*y^13 - 1887*x^18*y^12 - 1090*x^18*y^11 + 274*x^18*y^10 + 
    1299*x^18*y^9 - 130*x^18*y^8 - 8*x^18*y^7 - 45*x^18*y^6 - 10*x^18*y^5 - 
    252*x^17*y^17 + 462*x^17*y^16 + 690*x^17*y^15 - 1260*x^17*y^14 + 
    2140*x^17*y^13 + 2066*x^17*y^12 + 1608*x^17*y^11 - 3833*x^17*y^10 - 
    518*x^17*y^9 + 72*x^17*y^8 + 617*x^17*y^7 - 96*x^17*y^6 + 30*x^17*y^5 - 
    10*x^17*y^4 + 210*x^16*y^18 - 1554*x^16*y^16 + 864*x^16*y^15 - 
    1335*x^16*y^14 - 1620*x^16*y^13 - 5026*x^16*y^12 + 5108*x^16*y^11 + 
    2854*x^16*y^10 + 1494*x^16*y^9 - 2876*x^16*y^8 + 34*x^16*y^7 + 50*x^16*y^6 +
    81*x^16*y^5 - 120*x^15*y^19 - 330*x^15*y^18 + 1350*x^15*y^17 + 678*x^15*y^16
    + 723*x^15*y^15 + 84*x^15*y^14 + 5650*x^15*y^13 - 2108*x^15*y^12 - 
    4637*x^15*y^11 - 6325*x^15*y^10 + 4970*x^15*y^9 + 1985*x^15*y^8 + 
    246*x^15*y^7 - 1023*x^15*y^6 + 159*x^15*y^5 - 20*x^15*y^4 + 5*x^15*y^3 + 
    45*x^14*y^20 + 330*x^14*y^19 - 465*x^14*y^18 - 1620*x^14*y^17 - 
    1102*x^14*y^16 + 105*x^14*y^15 - 1647*x^14*y^14 - 1806*x^14*y^13 + 
    2730*x^14*y^12 + 9615*x^14*y^11 - 939*x^14*y^10 - 6205*x^14*y^9 - 
    2820*x^14*y^8 + 2859*x^14*y^7 + 425*x^14*y^6 - 159*x^14*y^5 - 66*x^14*y^4 + 
    5*x^14*y^3 - 10*x^13*y^21 - 165*x^13*y^20 - 135*x^13*y^19 + 1175*x^13*y^18 +
    1506*x^13*y^17 + 1379*x^13*y^16 - 1829*x^13*y^15 + 1176*x^13*y^14 - 
    146*x^13*y^13 - 4479*x^13*y^12 - 8463*x^13*y^11 + 8466*x^13*y^10 + 
    5371*x^13*y^9 - 319*x^13*y^8 - 3794*x^13*y^7 - 230*x^13*y^6 + 908*x^13*y^5 -
    134*x^13*y^4 + 10*x^13*y^3 - x^13*y^2 + x^12*y^22 + 44*x^12*y^21 + 
    195*x^12*y^20 - 320*x^12*y^19 - 1090*x^12*y^18 - 2157*x^12*y^17 + 
    935*x^12*y^16 + 1783*x^12*y^15 + 1548*x^12*y^14 - 3917*x^12*y^13 + 
    12434*x^12*y^12 - 7683*x^12*y^11 + 3*x^12*y^10 - 10042*x^12*y^9 + 
    7873*x^12*y^8 + 2083*x^12*y^7 - 1256*x^12*y^6 - 725*x^12*y^5 + 190*x^12*y^4 
    + 25*x^12*y^3 - 2*x^12*y^2 - 5*x^11*y^22 - 73*x^11*y^21 - 57*x^11*y^20 + 
    375*x^11*y^19 + 1355*x^11*y^18 + 1203*x^11*y^17 - 1902*x^11*y^16 - 
    3961*x^11*y^15 + 4746*x^11*y^14 - 7589*x^11*y^13 + 8104*x^11*y^12 - 
    10131*x^11*y^11 + 16906*x^11*y^10 - 7130*x^11*y^9 - 1905*x^11*y^8 - 
    2805*x^11*y^7 + 3155*x^11*y^6 + 135*x^11*y^5 - 455*x^11*y^4 + 50*x^11*y^3 - 
    3*x^11*y^2 + 10*x^10*y^22 + 56*x^10*y^21 - 19*x^10*y^20 - 352*x^10*y^19 - 
    1335*x^10*y^18 + 59*x^10*y^17 + 2922*x^10*y^16 + 31*x^10*y^15 + 
    2603*x^10*y^14 - 7955*x^10*y^13 + 9137*x^10*y^12 - 8423*x^10*y^11 + 
    1039*x^10*y^10 - 573*x^10*y^9 + 6595*x^10*y^8 - 3124*x^10*y^7 - 
    1079*x^10*y^6 - 94*x^10*y^5 + 640*x^10*y^4 - 135*x^10*y^3 - 4*x^10*y^2 - 
    10*x^9*y^22 - 24*x^9*y^21 - 5*x^9*y^20 + 441*x^9*y^19 + 638*x^9*y^18 - 
    500*x^9*y^17 - 1875*x^9*y^16 - 1516*x^9*y^15 + 2911*x^9*y^14 + 2718*x^9*y^13
    - 5723*x^9*y^12 + 6944*x^9*y^11 - 4648*x^9*y^10 + 1439*x^9*y^9 - 
    3058*x^9*y^8 + 1604*x^9*y^7 + 2091*x^9*y^6 - 1538*x^9*y^5 - 14*x^9*y^4 + 
    130*x^9*y^3 - 5*x^9*y^2 + 5*x^8*y^22 + 16*x^8*y^21 - 15*x^8*y^20 - 
    280*x^8*y^19 - 304*x^8*y^18 + 567*x^8*y^17 + 1058*x^8*y^16 + 2029*x^8*y^15 -
    8016*x^8*y^14 + 9710*x^8*y^13 - 12848*x^8*y^12 + 16752*x^8*y^11 - 
    15945*x^8*y^10 + 11762*x^8*y^9 - 4722*x^8*y^8 - 297*x^8*y^7 + 258*x^8*y^6 + 
    162*x^8*y^5 + 367*x^8*y^4 - 319*x^8*y^3 + 60*x^8*y^2 - x^7*y^22 - 
    13*x^7*y^21 + 25*x^7*y^20 + 105*x^7*y^19 + 180*x^7*y^18 - 211*x^7*y^17 - 
    1971*x^7*y^16 + 3627*x^7*y^15 - 4958*x^7*y^14 + 11322*x^7*y^13 - 
    17498*x^7*y^12 + 17311*x^7*y^11 - 14209*x^7*y^10 + 9998*x^7*y^9 - 
    5677*x^7*y^8 + 2696*x^7*y^7 - 265*x^7*y^6 - 936*x^7*y^5 + 537*x^7*y^4 - 
    43*x^7*y^3 - 19*x^7*y^2 + 4*x^6*y^21 + 2*x^6*y^20 - 70*x^6*y^19 - 
    75*x^6*y^18 + 322*x^6*y^17 + 21*x^6*y^16 + 868*x^6*y^15 - 3910*x^6*y^14 + 
    5210*x^6*y^13 - 4945*x^6*y^12 + 6395*x^6*y^11 - 6995*x^6*y^10 + 4855*x^6*y^9
    - 2228*x^6*y^8 + 315*x^6*y^7 + 507*x^6*y^6 - 375*x^6*y^5 + 190*x^6*y^4 - 
    152*x^6*y^3 + 73*x^6*y^2 - 12*x^6*y - 6*x^5*y^20 + 22*x^5*y^19 + 65*x^5*y^18
    - 213*x^5*y^17 + 136*x^5*y^16 - 628*x^5*y^15 + 2358*x^5*y^14 - 3465*x^5*y^13
    + 3459*x^5*y^12 - 4401*x^5*y^11 + 5397*x^5*y^10 - 4475*x^5*y^9 + 
    2796*x^5*y^8 - 1672*x^5*y^7 + 958*x^5*y^6 - 513*x^5*y^5 + 255*x^5*y^4 - 
    81*x^5*y^3 + 6*x^5*y^2 + 2*x^5*y + 4*x^4*y^19 - 23*x^4*y^18 - 61*x^4*y^17 + 
    541*x^4*y^16 - 1433*x^4*y^15 + 2777*x^4*y^14 - 5327*x^4*y^13 + 8741*x^4*y^12
    - 10719*x^4*y^11 + 10274*x^4*y^10 - 8543*x^4*y^9 + 6220*x^4*y^8 - 
    3625*x^4*y^7 + 1589*x^4*y^6 - 527*x^4*y^5 + 137*x^4*y^4 - 35*x^4*y^3 + 
    15*x^4*y^2 - 6*x^4*y + x^4 - x^3*y^18 + 7*x^3*y^17 + 63*x^3*y^16 - 
    553*x^3*y^15 + 1837*x^3*y^14 - 3778*x^3*y^13 + 5974*x^3*y^12 - 8100*x^3*y^11
    + 9285*x^3*y^10 - 8477*x^3*y^9 + 5999*x^3*y^8 - 3321*x^3*y^7 + 1447*x^3*y^6 
    - 472*x^3*y^5 + 100*x^3*y^4 - 10*x^3*y^3 - 36*x^2*y^15 + 297*x^2*y^14 - 
    1108*x^2*y^13 + 2508*x^2*y^12 - 3942*x^2*y^11 + 4710*x^2*y^10 - 4536*x^2*y^9
    + 3564*x^2*y^8 - 2208*x^2*y^7 + 1017*x^2*y^6 - 324*x^2*y^5 + 64*x^2*y^4 - 
    6*x^2*y^3 + 9*x*y^14 - 83*x*y^13 + 345*x*y^12 - 855*x*y^11 + 1410*x*y^10 - 
    1638*x*y^9 + 1386*x*y^8 - 870*x*y^7 + 405*x*y^6 - 135*x*y^5 + 29*x*y^4 - 
    3*x*y^3 - y^13 + 10*y^12 - 45*y^11 + 120*y^10 - 210*y^9 + 252*y^8 - 210*y^7 
    + 120*y^6 - 45*y^5 + 10*y^4 - y^3;
f[43-1]:=x^26*y^9 - x^26*y^8 - 15*x^25*y^10 + 14*x^25*y^9 + x^25*y^8 + 105*x^24*y^11 - 
    90*x^24*y^10 - 8*x^24*y^9 - 14*x^24*y^8 + 7*x^24*y^7 + x^23*y^14 - 
    9*x^23*y^13 - 419*x^23*y^12 + 266*x^23*y^11 + 126*x^23*y^10 + 90*x^23*y^9 - 
    40*x^23*y^8 - 15*x^23*y^7 - 10*x^22*y^15 + 85*x^22*y^14 + 1044*x^22*y^13 - 
    196*x^22*y^12 - 776*x^22*y^11 - 441*x^22*y^10 + 175*x^22*y^9 + 77*x^22*y^8 +
    63*x^22*y^7 - 21*x^22*y^6 + 45*x^21*y^16 - 355*x^21*y^15 - 1762*x^21*y^14 - 
    970*x^21*y^13 + 2140*x^21*y^12 + 1975*x^21*y^11 - 290*x^21*y^10 - 
    595*x^21*y^9 - 266*x^21*y^8 + 28*x^21*y^7 + 49*x^21*y^6 - 120*x^20*y^17 + 
    855*x^20*y^16 + 2330*x^20*y^15 + 3267*x^20*y^14 - 2524*x^20*y^13 - 
    5978*x^20*y^12 - 1390*x^20*y^11 + 2820*x^20*y^10 + 988*x^20*y^9 + 
    77*x^20*y^8 - 224*x^20*y^7 - 126*x^20*y^6 + 35*x^20*y^5 + 210*x^19*y^18 - 
    1290*x^19*y^17 - 3060*x^19*y^16 - 4850*x^19*y^15 - 684*x^19*y^14 + 
    11096*x^19*y^13 + 8126*x^19*y^12 - 5618*x^19*y^11 - 4470*x^19*y^10 - 
    1260*x^19*y^9 + 1412*x^19*y^8 + 406*x^19*y^7 + 7*x^19*y^6 - 70*x^19*y^5 - 
    252*x^18*y^19 + 1218*x^18*y^18 + 4233*x^18*y^17 + 4413*x^18*y^16 + 
    6178*x^18*y^15 - 12206*x^18*y^14 - 18638*x^18*y^13 + 1752*x^18*y^12 + 
    11620*x^18*y^11 + 8332*x^18*y^10 - 4833*x^18*y^9 - 1821*x^18*y^8 - 
    261*x^18*y^7 + 287*x^18*y^6 + 133*x^18*y^5 - 35*x^18*y^4 + 210*x^17*y^20 - 
    630*x^17*y^19 - 4963*x^17*y^18 - 3638*x^17*y^17 - 8718*x^17*y^16 + 
    6667*x^17*y^15 + 24875*x^17*y^14 + 11509*x^17*y^13 - 12830*x^17*y^12 - 
    25067*x^17*y^11 + 3669*x^17*y^10 + 8242*x^17*y^9 + 2544*x^17*y^8 - 
    1719*x^17*y^7 - 424*x^17*y^6 + 14*x^17*y^5 + 49*x^17*y^4 - 120*x^16*y^21 + 
    30*x^16*y^20 + 4101*x^16*y^19 + 4228*x^16*y^18 + 6680*x^16*y^17 + 
    1065*x^16*y^16 - 22845*x^16*y^15 - 20839*x^16*y^14 - 2906*x^16*y^13 + 
    39108*x^16*y^12 + 14454*x^16*y^11 - 15513*x^16*y^10 - 12860*x^16*y^9 + 
    2714*x^16*y^8 + 3369*x^16*y^7 - 194*x^16*y^6 - 164*x^16*y^5 - 77*x^16*y^4 + 
    21*x^16*y^3 + 45*x^15*y^22 + 195*x^15*y^21 - 2115*x^15*y^20 - 4746*x^15*y^19
    - 3970*x^15*y^18 - 5494*x^15*y^17 + 17480*x^15*y^16 + 15935*x^15*y^15 + 
    23523*x^15*y^14 - 31710*x^15*y^13 - 38105*x^15*y^12 + 4316*x^15*y^11 + 
    27152*x^15*y^10 + 10144*x^15*y^9 - 12630*x^15*y^8 - 1599*x^15*y^7 + 
    1080*x^15*y^6 + 357*x^15*y^5 - 54*x^15*y^4 - 14*x^15*y^3 - 10*x^14*y^23 - 
    135*x^14*y^22 + 530*x^14*y^21 + 3490*x^14*y^20 + 3012*x^14*y^19 + 
    6075*x^14*y^18 - 11813*x^14*y^17 - 8034*x^14*y^16 - 26235*x^14*y^15 + 
    8962*x^14*y^14 + 38670*x^14*y^13 + 23070*x^14*y^12 - 20667*x^14*y^11 - 
    40151*x^14*y^10 + 15841*x^14*y^9 + 8672*x^14*y^8 + 2516*x^14*y^7 - 
    4388*x^14*y^6 + 696*x^14*y^5 + 2*x^14*y^4 + 24*x^14*y^3 - 7*x^14*y^2 + 
    x^13*y^24 + 41*x^13*y^23 + 36*x^13*y^22 - 1454*x^13*y^21 - 2404*x^13*y^20 - 
    4683*x^13*y^19 + 4736*x^13*y^18 + 7651*x^13*y^17 + 13335*x^13*y^16 + 
    7796*x^13*y^15 - 22718*x^13*y^14 - 28419*x^13*y^13 - 13064*x^13*y^12 + 
    55378*x^13*y^11 + 973*x^13*y^10 - 6941*x^13*y^9 - 22488*x^13*y^8 + 
    12293*x^13*y^7 + 420*x^13*y^6 - 359*x^13*y^5 - 214*x^13*y^4 + 40*x^13*y^3 - 
    x^13*y^2 - 5*x^12*y^24 - 56*x^12*y^23 + 259*x^12*y^22 + 1244*x^12*y^21 + 
    2624*x^12*y^20 + 1100*x^12*y^19 - 7935*x^12*y^18 - 3460*x^12*y^17 - 
    13504*x^12*y^16 + 17166*x^12*y^15 + 3761*x^12*y^14 + 40508*x^12*y^13 - 
    41397*x^12*y^12 - 10021*x^12*y^11 - 20668*x^12*y^10 + 43839*x^12*y^9 - 
    8137*x^12*y^8 - 3982*x^12*y^7 - 3954*x^12*y^6 + 3124*x^12*y^5 - 536*x^12*y^4
    + 44*x^12*y^3 - 5*x^12*y^2 + x^12*y + 10*x^11*y^24 + 18*x^11*y^23 - 
    320*x^11*y^22 - 940*x^11*y^21 - 2390*x^11*y^20 + 3714*x^11*y^19 + 
    1247*x^11*y^18 + 12800*x^11*y^17 - 15895*x^11*y^16 + 11851*x^11*y^15 - 
    39111*x^11*y^14 + 27557*x^11*y^13 - 10786*x^11*y^12 + 47254*x^11*y^11 - 
    34500*x^11*y^10 - 8896*x^11*y^9 - 403*x^11*y^8 + 13887*x^11*y^7 - 
    4429*x^11*y^6 - 899*x^11*y^5 + 149*x^11*y^4 + 91*x^11*y^3 - 11*x^11*y^2 + 
    x^11*y - 10*x^10*y^24 + 18*x^10*y^23 + 172*x^10*y^22 + 1060*x^10*y^21 + 
    5*x^10*y^20 - 756*x^10*y^19 - 7267*x^10*y^18 + 5429*x^10*y^17 - 
    4624*x^10*y^16 + 21096*x^10*y^15 - 17894*x^10*y^14 + 19751*x^10*y^13 - 
    33986*x^10*y^12 + 4688*x^10*y^11 + 15678*x^10*y^10 + 6465*x^10*y^9 - 
    7386*x^10*y^8 - 7308*x^10*y^7 + 4110*x^10*y^6 + 1867*x^10*y^5 - 
    1276*x^10*y^4 + 184*x^10*y^3 - 17*x^10*y^2 + x^10*y + 5*x^9*y^24 - 
    7*x^9*y^23 - 145*x^9*y^22 - 553*x^9*y^21 + 65*x^9*y^20 + 1463*x^9*y^19 + 
    3148*x^9*y^18 - 3031*x^9*y^17 - 3640*x^9*y^16 - 2528*x^9*y^15 + 
    5071*x^9*y^14 - 4688*x^9*y^13 + 21557*x^9*y^12 - 23107*x^9*y^11 + 
    12572*x^9*y^10 - 22352*x^9*y^9 + 23779*x^9*y^8 - 6053*x^9*y^7 - 1756*x^9*y^6
    - 639*x^9*y^5 + 993*x^9*y^4 - 132*x^9*y^3 - 23*x^9*y^2 + x^9*y - x^8*y^24 - 
    8*x^8*y^23 + 122*x^8*y^22 + 110*x^8*y^21 + 447*x^8*y^20 - 2604*x^8*y^19 + 
    2130*x^8*y^18 - 4195*x^8*y^17 + 14810*x^8*y^16 - 21381*x^8*y^15 + 
    27161*x^8*y^14 - 40768*x^8*y^13 + 46115*x^8*y^12 - 46077*x^8*y^11 + 
    47004*x^8*y^10 - 32761*x^8*y^9 + 13928*x^8*y^8 - 9223*x^8*y^7 + 7821*x^8*y^6
    - 2540*x^8*y^5 - 360*x^8*y^4 + 298*x^8*y^3 - 29*x^8*y^2 + x^8*y + 4*x^7*y^23
    - 28*x^7*y^22 - 178*x^7*y^21 + 280*x^7*y^20 - 153*x^7*y^19 + 2868*x^7*y^18 -
    7799*x^7*y^17 + 11450*x^7*y^16 - 20871*x^7*y^15 + 37132*x^7*y^14 - 
    47503*x^7*y^13 + 50801*x^7*y^12 - 48458*x^7*y^11 + 36834*x^7*y^10 - 
    25174*x^7*y^9 + 18902*x^7*y^8 - 11029*x^7*y^7 + 3320*x^7*y^6 - 923*x^7*y^5 +
    915*x^7*y^4 - 461*x^7*y^3 + 70*x^7*y^2 + x^7*y - 6*x^6*y^22 + 102*x^6*y^21 -
    93*x^6*y^20 - 264*x^6*y^19 + 104*x^6*y^18 - 553*x^6*y^17 + 5165*x^6*y^16 - 
    11636*x^6*y^15 + 16058*x^6*y^14 - 21163*x^6*y^13 + 25518*x^6*y^12 - 
    23652*x^6*y^11 + 17982*x^6*y^10 - 12076*x^6*y^9 + 6419*x^6*y^8 - 
    3448*x^6*y^7 + 3084*x^6*y^6 - 2203*x^6*y^5 + 707*x^6*y^4 - 20*x^6*y^3 - 
    26*x^6*y^2 + x^6*y + 4*x^5*y^21 - 148*x^5*y^20 + 565*x^5*y^19 - 926*x^5*y^18
    + 1535*x^5*y^17 - 3578*x^5*y^16 + 5680*x^5*y^15 - 5546*x^5*y^14 + 
    5335*x^5*y^13 - 7017*x^5*y^12 + 7965*x^5*y^11 - 6773*x^5*y^10 + 4679*x^5*y^9
    - 2222*x^5*y^8 + 194*x^5*y^7 + 518*x^5*y^6 - 499*x^5*y^5 + 437*x^5*y^4 - 
    292*x^5*y^3 + 103*x^5*y^2 - 14*x^5*y - x^4*y^20 + 133*x^4*y^19 - 
    819*x^4*y^18 + 2357*x^4*y^17 - 4745*x^4*y^16 + 8692*x^4*y^15 - 
    14705*x^4*y^14 + 20527*x^4*y^13 - 23075*x^4*y^12 + 22036*x^4*y^11 - 
    18506*x^4*y^10 + 13206*x^4*y^9 - 7517*x^4*y^8 + 3134*x^4*y^7 - 667*x^4*y^6 -
    235*x^4*y^5 + 266*x^4*y^4 - 91*x^4*y^3 + 9*x^4*y^2 + x^4*y - 84*x^3*y^18 + 
    672*x^3*y^17 - 2478*x^3*y^16 + 5815*x^3*y^15 - 10310*x^3*y^14 + 
    15307*x^3*y^13 - 19456*x^3*y^12 + 20558*x^3*y^11 - 17584*x^3*y^10 + 
    12110*x^3*y^9 - 6717*x^3*y^8 + 2931*x^3*y^7 - 922*x^3*y^6 + 143*x^3*y^5 + 
    50*x^3*y^4 - 56*x^3*y^3 + 28*x^3*y^2 - 8*x^3*y + x^3 + 36*x^2*y^17 - 
    333*x^2*y^16 + 1412*x^2*y^15 - 3680*x^2*y^14 + 6715*x^2*y^13 - 9312*x^2*y^12
    + 10356*x^2*y^11 - 9444*x^2*y^10 + 6990*x^2*y^9 - 4065*x^2*y^8 + 
    1776*x^2*y^7 - 548*x^2*y^6 + 107*x^2*y^5 - 10*x^2*y^4 - 9*x*y^16 + 92*x*y^15
    - 429*x*y^14 + 1210*x*y^13 - 2310*x*y^12 + 3168*x*y^11 - 3234*x*y^10 + 
    2508*x*y^9 - 1485*x*y^8 + 660*x*y^7 - 209*x*y^6 + 42*x*y^5 - 4*x*y^4 + y^15 
    - 11*y^14 + 55*y^13 - 165*y^12 + 330*y^11 - 462*y^10 + 462*y^9 - 330*y^8 + 
    165*y^7 - 55*y^6 + 11*y^5 - y^4;
f[61-1]:=x^51*y^21 - 5*x^51*y^20 + 10*x^51*y^19 - 10*x^51*y^18 + 5*x^51*y^17 - x^51*y^16 
    - 28*x^50*y^22 + 134*x^50*y^21 - 250*x^50*y^20 + 220*x^50*y^19 - 
    80*x^50*y^18 - 2*x^50*y^17 + 6*x^50*y^16 + 378*x^49*y^23 - 1722*x^49*y^22 + 
    2962*x^49*y^21 - 2217*x^49*y^20 + 465*x^49*y^19 + 172*x^49*y^18 + 
    12*x^49*y^17 - 57*x^49*y^16 + 7*x^49*y^15 - 3276*x^48*y^24 + 14112*x^48*y^23
    - 22036*x^48*y^22 + 13294*x^48*y^21 - 482*x^48*y^20 - 809*x^48*y^19 - 
    1648*x^48*y^18 + 761*x^48*y^17 + 146*x^48*y^16 - 63*x^48*y^15 + 
    20475*x^47*y^25 - 82719*x^47*y^24 + 114786*x^47*y^23 - 50708*x^47*y^22 - 
    7453*x^47*y^21 - 9247*x^47*y^20 + 20701*x^47*y^19 - 3167*x^47*y^18 - 
    3026*x^47*y^17 + 48*x^47*y^16 + 357*x^47*y^15 - 21*x^47*y^14 + x^46*y^28 - 
    17*x^46*y^27 - 98144*x^46*y^26 + 367870*x^46*y^25 - 438242*x^46*y^24 + 
    108724*x^46*y^23 + 39452*x^46*y^22 + 132540*x^46*y^21 - 119849*x^46*y^20 - 
    19908*x^46*y^19 + 23548*x^46*y^18 + 7614*x^46*y^17 - 2724*x^46*y^16 - 
    1526*x^46*y^15 + 336*x^46*y^14 - 21*x^45*y^29 + 347*x^45*y^28 + 
    374044*x^45*y^27 - 1280930*x^45*y^26 + 1224910*x^45*y^25 + 40057*x^45*y^24 -
    55811*x^45*y^23 - 773458*x^45*y^22 + 303238*x^45*y^21 + 308138*x^45*y^20 - 
    59410*x^45*y^19 - 96035*x^45*y^18 - 1214*x^45*y^17 + 19501*x^45*y^16 + 
    749*x^45*y^15 - 1540*x^45*y^14 + 35*x^45*y^13 + 210*x^44*y^30 - 
    3360*x^44*y^29 - 1158794*x^44*y^28 + 3541237*x^44*y^27 - 2309642*x^44*y^26 -
    1418441*x^44*y^25 - 275846*x^44*y^24 + 2651053*x^44*y^23 + 416598*x^44*y^22 
    - 1694250*x^44*y^21 - 348894*x^44*y^20 + 513205*x^44*y^19 + 223202*x^44*y^18
    - 129502*x^44*y^17 - 32114*x^44*y^16 + 4039*x^44*y^15 + 7504*x^44*y^14 - 
    1155*x^44*y^13 - 1330*x^43*y^31 + 20510*x^43*y^30 + 2959859*x^43*y^29 - 
    7766959*x^43*y^28 + 1719085*x^43*y^27 + 6614945*x^43*y^26 + 
    2139440*x^43*y^25 - 5446132*x^43*y^24 - 6491731*x^43*y^23 + 
    5023169*x^43*y^22 + 3507102*x^43*y^21 - 763993*x^43*y^20 - 2098435*x^43*y^19
    + 340395*x^43*y^18 + 313333*x^43*y^17 + 69957*x^43*y^16 - 71867*x^43*y^15 - 
    6237*x^43*y^14 + 4704*x^43*y^13 - 35*x^43*y^12 + 5985*x^42*y^32 - 
    88445*x^42*y^31 - 6296080*x^42*y^30 + 13252106*x^42*y^29 + 6170595*x^42*y^28
    - 18937916*x^42*y^27 - 8932850*x^42*y^26 + 4168350*x^42*y^25 + 
    27679859*x^42*y^24 - 6509953*x^42*y^23 - 13830816*x^42*y^22 - 
    5854351*x^42*y^21 + 9459272*x^42*y^20 + 1494906*x^42*y^19 - 
    1398440*x^42*y^18 - 1081048*x^42*y^17 + 378095*x^42*y^16 + 108298*x^42*y^15 
    + 1684*x^42*y^14 - 22253*x^42*y^13 + 2772*x^42*y^12 - 20349*x^41*y^33 + 
    286083*x^41*y^32 + 11252066*x^41*y^31 - 16541140*x^41*y^30 - 
    29868412*x^41*y^29 + 36394096*x^41*y^28 + 28560438*x^41*y^27 + 
    14978079*x^41*y^26 - 72996815*x^41*y^25 - 11993584*x^41*y^24 + 
    29589641*x^41*y^23 + 41557200*x^41*y^22 - 20772508*x^41*y^21 - 
    15930271*x^41*y^20 + 108014*x^41*y^19 + 7495881*x^41*y^18 - 519738*x^41*y^17
    - 813599*x^41*y^16 - 290254*x^41*y^15 + 171902*x^41*y^14 + 21360*x^41*y^13 -
    10311*x^41*y^12 + 21*x^41*y^11 + 54264*x^40*y^34 - 718998*x^40*y^33 - 
    17074806*x^40*y^32 + 11872245*x^40*y^31 + 73449460*x^40*y^30 - 
    40929231*x^40*y^29 - 71977366*x^40*y^28 - 75304895*x^40*y^27 + 
    130493190*x^40*y^26 + 89249673*x^40*y^25 - 23241596*x^40*y^24 - 
    135234922*x^40*y^23 - 2153608*x^40*y^22 + 60339209*x^40*y^21 + 
    28459326*x^40*y^20 - 25977470*x^40*y^19 - 7816698*x^40*y^18 + 
    2829228*x^40*y^17 + 3057296*x^40*y^16 - 694989*x^40*y^15 - 263072*x^40*y^14 
    - 18042*x^40*y^13 + 44378*x^40*y^12 - 4851*x^40*y^11 - 116280*x^39*y^35 + 
    1434120*x^39*y^34 + 22353861*x^39*y^33 + 4885527*x^39*y^32 - 
    125136907*x^39*y^31 - 3482591*x^39*y^30 + 136835524*x^39*y^29 + 
    203109971*x^39*y^28 - 140354448*x^39*y^27 - 268519438*x^39*y^26 - 
    72056761*x^39*y^25 + 264780215*x^39*y^24 + 167573247*x^39*y^23 - 
    115165395*x^39*y^22 - 145244989*x^39*y^21 + 26253013*x^39*y^20 + 
    55872932*x^39*y^19 + 5745046*x^39*y^18 - 17019823*x^39*y^17 - 
    672884*x^39*y^16 + 1732051*x^39*y^15 + 631379*x^39*y^14 - 285556*x^39*y^13 -
    43774*x^39*y^12 + 16517*x^39*y^11 - 7*x^39*y^10 + 203490*x^38*y^36 - 
    2296530*x^38*y^35 - 25876176*x^38*y^34 - 31120404*x^38*y^33 + 
    155216415*x^38*y^32 + 124555450*x^38*y^31 - 177835420*x^38*y^30 - 
    406215943*x^38*y^29 - 10166619*x^38*y^28 + 539296084*x^38*y^27 + 
    346422169*x^38*y^26 - 280283737*x^38*y^25 - 603168500*x^38*y^24 + 
    43788907*x^38*y^23 + 372520525*x^38*y^22 + 148096118*x^38*y^21 - 
    165809896*x^38*y^20 - 90835475*x^38*y^19 + 41003353*x^38*y^18 + 
    26184454*x^38*y^17 - 4541317*x^38*y^16 - 5736165*x^38*y^15 + 
    847539*x^38*y^14 + 462042*x^38*y^13 + 34489*x^38*y^12 - 62966*x^38*y^11 + 
    6378*x^38*y^10 - 293930*x^37*y^37 + 2961910*x^37*y^36 + 27351640*x^37*y^35 +
    57045676*x^37*y^34 - 135004310*x^37*y^33 - 296372336*x^37*y^32 + 
    104652950*x^37*y^31 + 631691475*x^37*y^30 + 428601670*x^37*y^29 - 
    744508322*x^37*y^28 - 860311504*x^37*y^27 - 88558818*x^37*y^26 + 
    1271028398*x^37*y^25 + 408961586*x^37*y^24 - 502997673*x^37*y^23 - 
    756778875*x^37*y^22 + 183074222*x^37*y^21 + 362488394*x^37*y^20 + 
    40953542*x^37*y^19 - 130978299*x^37*y^18 - 22850044*x^37*y^17 + 
    26426503*x^37*y^16 + 4653980*x^37*y^15 - 3036096*x^37*y^14 - 
    861115*x^37*y^13 + 345955*x^37*y^12 + 59167*x^37*y^11 - 19587*x^37*y^10 + 
    x^37*y^9 + 352716*x^36*y^38 - 3056872*x^36*y^37 - 27141044*x^36*y^36 - 
    72368150*x^36*y^35 + 64882948*x^36*y^34 + 428473066*x^36*y^33 + 
    145878808*x^36*y^32 - 736901681*x^36*y^31 - 1085210810*x^36*y^30 + 
    552408404*x^36*y^29 + 1529516089*x^36*y^28 + 1088331149*x^36*y^27 - 
    1768950489*x^36*y^26 - 1440797299*x^36*y^25 + 41023995*x^36*y^24 + 
    1787598650*x^36*y^23 + 383196119*x^36*y^22 - 724733282*x^36*y^21 - 
    563634547*x^36*y^20 + 258030907*x^36*y^19 + 209011259*x^36*y^18 - 
    30010942*x^36*y^17 - 57639893*x^36*y^16 + 5533390*x^36*y^15 + 
    7836701*x^36*y^14 - 716996*x^36*y^13 - 595342*x^36*y^12 - 33504*x^36*y^11 + 
    65376*x^36*y^10 - 6426*x^36*y^9 - 352716*x^35*y^39 + 2469012*x^35*y^38 + 
    25366159*x^35*y^37 + 73946005*x^35*y^36 + 19967860*x^35*y^35 - 
    428721776*x^35*y^34 - 506634221*x^35*y^33 + 553499260*x^35*y^32 + 
    1705564070*x^35*y^31 + 330479448*x^35*y^30 - 1955646528*x^35*y^29 - 
    2707332840*x^35*y^28 + 1344388485*x^35*y^27 + 2911571787*x^35*y^26 + 
    1461730534*x^35*y^25 - 2469042122*x^35*y^24 - 2077902635*x^35*y^23 + 
    555068631*x^35*y^22 + 1712940542*x^35*y^21 + 126592997*x^35*y^20 - 
    659409899*x^35*y^19 - 233723875*x^35*y^18 + 206199572*x^35*y^17 + 
    54786501*x^35*y^16 - 29301440*x^35*y^15 - 10810700*x^35*y^14 + 
    4295347*x^35*y^13 + 767243*x^35*y^12 - 317815*x^35*y^11 - 53491*x^35*y^10 + 
    17205*x^35*y^9 + 293930*x^34*y^40 - 1469650*x^34*y^39 - 21709324*x^34*y^38 -
    66224158*x^34*y^37 - 77842772*x^34*y^36 + 290022764*x^34*y^35 + 
    781191764*x^34*y^34 - 52535779*x^34*y^33 - 1873838653*x^34*y^32 - 
    1735792253*x^34*y^31 + 1462482029*x^34*y^30 + 4412531679*x^34*y^29 + 
    694390274*x^34*y^28 - 4069451689*x^34*y^27 - 3932881192*x^34*y^26 + 
    1413627530*x^34*y^25 + 4759039843*x^34*y^24 + 966278312*x^34*y^23 - 
    2616978151*x^34*y^22 - 1968115100*x^34*y^21 + 922829886*x^34*y^20 + 
    1173168250*x^34*y^19 - 170813930*x^34*y^18 - 352775259*x^34*y^17 - 
    22840379*x^34*y^16 + 88983614*x^34*y^15 - 3665868*x^34*y^14 - 
    8601986*x^34*y^13 + 513486*x^34*y^12 + 554940*x^34*y^11 + 15308*x^34*y^10 - 
    50171*x^34*y^9 + 5005*x^34*y^8 - 203490*x^33*y^41 + 520030*x^33*y^40 + 
    16252334*x^33*y^39 + 54990446*x^33*y^38 + 93473730*x^33*y^37 - 
    101218985*x^33*y^36 - 798993035*x^33*y^35 - 553201759*x^33*y^34 + 
    1372351397*x^33*y^33 + 2882566244*x^33*y^32 + 321154279*x^33*y^31 - 
    5097325502*x^33*y^30 - 4165359136*x^33*y^29 + 3520310495*x^33*y^28 + 
    6535616519*x^33*y^27 + 2418234095*x^33*y^26 - 7097994594*x^33*y^25 - 
    3899795560*x^33*y^24 + 1286253170*x^33*y^23 + 5382217274*x^33*y^22 + 
    214584919*x^33*y^21 - 2414475057*x^33*y^20 - 1009113598*x^33*y^19 + 
    810399591*x^33*y^18 + 513953836*x^33*y^17 - 215620821*x^33*y^16 - 
    97009159*x^33*y^15 + 24371886*x^33*y^14 + 15666666*x^33*y^13 - 
    4682691*x^33*y^12 - 445208*x^33*y^11 + 228317*x^33*y^10 + 30538*x^33*y^9 - 
    11011*x^33*y^8 + 116280*x^32*y^42 + 58140*x^32*y^41 - 10130440*x^32*y^40 - 
    42724174*x^32*y^39 - 80972500*x^32*y^38 - 35249816*x^32*y^37 + 
    571135530*x^32*y^36 + 940206960*x^32*y^35 - 438887244*x^32*y^34 - 
    2940113317*x^32*y^33 - 2718547525*x^32*y^32 + 3721367907*x^32*y^31 + 
    7410898243*x^32*y^30 - 130619966*x^32*y^29 - 7563388556*x^32*y^28 - 
    8568937345*x^32*y^27 + 6777215516*x^32*y^26 + 7217623386*x^32*y^25 + 
    3560685695*x^32*y^24 - 8351781025*x^32*y^23 - 3563899897*x^32*y^22 + 
    2004049917*x^32*y^21 + 3966114708*x^32*y^20 - 341696682*x^32*y^19 - 
    1677647806*x^32*y^18 - 156330418*x^32*y^17 + 444477190*x^32*y^16 + 
    94739646*x^32*y^15 - 97562838*x^32*y^14 - 3191150*x^32*y^13 + 
    8498354*x^32*y^12 - 491926*x^32*y^11 - 352478*x^32*y^10 + 507*x^32*y^9 + 
    28392*x^32*y^8 - 3003*x^32*y^7 - 54264*x^31*y^43 - 240312*x^31*y^42 + 
    4972461*x^31*y^41 + 29835015*x^31*y^40 + 60962548*x^31*y^39 + 
    83914686*x^31*y^38 - 266649397*x^31*y^37 - 941562146*x^31*y^36 - 
    398793075*x^31*y^35 + 1855823587*x^31*y^34 + 4217262545*x^31*y^33 - 
    486683353*x^31*y^32 - 8090337621*x^31*y^31 - 5157196979*x^31*y^30 + 
    4963134158*x^31*y^29 + 14347526419*x^31*y^28 - 1639839372*x^31*y^27 - 
    9145119522*x^31*y^26 - 10692587943*x^31*y^25 + 7365021435*x^31*y^24 + 
    8316612349*x^31*y^23 + 1745146243*x^31*y^22 - 6739093185*x^31*y^21 - 
    2700138564*x^31*y^20 + 2400072411*x^31*y^19 + 1951790329*x^31*y^18 - 
    591490028*x^31*y^17 - 715748054*x^31*y^16 + 119189622*x^31*y^15 + 
    136281980*x^31*y^14 - 16716770*x^31*y^13 - 15953242*x^31*y^12 + 
    3732552*x^31*y^11 + 185114*x^31*y^10 - 131801*x^31*y^9 - 8190*x^31*y^8 + 
    4914*x^31*y^7 + 20349*x^30*y^44 + 196707*x^30*y^43 - 1749936*x^30*y^42 - 
    17631570*x^30*y^41 - 43103740*x^30*y^40 - 75155456*x^30*y^39 + 
    47638444*x^30*y^38 + 660935005*x^30*y^37 + 770040705*x^30*y^36 - 
    438174982*x^30*y^35 - 3833382569*x^30*y^34 - 2827930981*x^30*y^33 + 
    5349839008*x^30*y^32 + 8912960468*x^30*y^31 + 1550413332*x^30*y^30 - 
    15533898131*x^30*y^29 - 7680875853*x^30*y^28 + 7156129055*x^30*y^27 + 
    16591178163*x^30*y^26 + 304836765*x^30*y^25 - 12580400705*x^30*y^24 - 
    7265860632*x^30*y^23 + 4892531184*x^30*y^22 + 8390677458*x^30*y^21 - 
    707265971*x^30*y^20 - 4354064665*x^30*y^19 - 1035979671*x^30*y^18 + 
    1673512793*x^30*y^17 + 584310677*x^30*y^16 - 434588335*x^30*y^15 - 
    135835703*x^30*y^14 + 73142415*x^30*y^13 + 13341538*x^30*y^12 - 
    8075680*x^30*y^11 + 595667*x^30*y^10 + 125648*x^30*y^9 - 2702*x^30*y^8 - 
    11739*x^30*y^7 + 1365*x^30*y^6 - 5985*x^29*y^45 - 101745*x^29*y^44 + 
    322476*x^29*y^43 + 8300022*x^29*y^42 + 27953898*x^29*y^41 + 
    51139969*x^29*y^40 + 42638249*x^29*y^39 - 329749489*x^29*y^38 - 
    699333478*x^29*y^37 - 455539268*x^29*y^36 + 2095012054*x^29*y^35 + 
    4278879263*x^29*y^34 - 1012027323*x^29*y^33 - 8148400095*x^29*y^32 - 
    8586136782*x^29*y^31 + 9704145171*x^29*y^30 + 15775159524*x^29*y^29 + 
    512579051*x^29*y^28 - 16732457796*x^29*y^27 - 13843302918*x^29*y^26 + 
    13657984165*x^29*y^25 + 10672238429*x^29*y^24 + 4500788522*x^29*y^23 - 
    14505249864*x^29*y^22 - 2896176049*x^29*y^21 + 3443976782*x^29*y^20 + 
    5470218336*x^29*y^19 - 1414740726*x^29*y^18 - 2360176731*x^29*y^17 + 
    167567978*x^29*y^16 + 664854831*x^29*y^15 + 43649973*x^29*y^14 - 
    154077147*x^29*y^13 + 10644124*x^29*y^12 + 12201685*x^29*y^11 - 
    2074980*x^29*y^10 - 106090*x^29*y^9 + 63236*x^29*y^8 - 2107*x^29*y^7 - 
    1365*x^29*y^6 + 1330*x^28*y^46 + 37240*x^28*y^45 + 61054*x^28*y^44 - 
    2897279*x^28*y^43 - 15364490*x^28*y^42 - 31467005*x^28*y^41 - 
    51532270*x^28*y^40 + 104087790*x^28*y^39 + 443260618*x^28*y^38 + 
    628492844*x^28*y^37 - 390325821*x^28*y^36 - 3508049292*x^28*y^35 - 
    2075570757*x^28*y^34 + 3704732923*x^28*y^33 + 11213880974*x^28*y^32 + 
    244262635*x^28*y^31 - 16006918064*x^28*y^30 - 10749837167*x^28*y^29 + 
    8014324105*x^28*y^28 + 26487699022*x^28*y^27 - 7940825475*x^28*y^26 - 
    9107231857*x^28*y^25 - 19366970178*x^28*y^24 + 17628148912*x^28*y^23 + 
    5199324330*x^28*y^22 + 3749824581*x^28*y^21 - 10638448127*x^28*y^20 - 
    1227048320*x^28*y^19 + 3244686813*x^28*y^18 + 1884500689*x^28*y^17 - 
    964568381*x^28*y^16 - 890256212*x^28*y^15 + 342723411*x^28*y^14 + 
    123881356*x^28*y^13 - 33108807*x^28*y^12 - 20161080*x^28*y^11 + 
    7009697*x^28*y^10 - 595793*x^28*y^9 + 4131*x^28*y^8 - 1390*x^28*y^7 + 
    3535*x^28*y^6 - 455*x^28*y^5 - 210*x^27*y^47 - 9730*x^27*y^46 - 
    70595*x^27*y^45 + 648991*x^27*y^44 + 6608245*x^27*y^43 + 17812969*x^27*y^42 
    + 34977130*x^27*y^41 - 3790485*x^27*y^40 - 213116783*x^27*y^39 - 
    426635137*x^27*y^38 - 418896516*x^27*y^37 + 1762609307*x^27*y^36 + 
    2698381198*x^27*y^35 + 617152162*x^27*y^34 - 8014549244*x^27*y^33 - 
    7721248375*x^27*y^32 + 8017086506*x^27*y^31 + 15540419626*x^27*y^30 + 
    6775279663*x^27*y^29 - 28233018420*x^27*y^28 - 4345241931*x^27*y^27 + 
    1152988003*x^27*y^26 + 32117920783*x^27*y^25 - 12903295911*x^27*y^24 - 
    5424115325*x^27*y^23 - 13850508985*x^27*y^22 + 11885649984*x^27*y^21 + 
    5036595053*x^27*y^20 - 642847292*x^27*y^19 - 4815977050*x^27*y^18 - 
    532856620*x^27*y^17 + 2228024377*x^27*y^16 + 96970658*x^27*y^15 - 
    401984850*x^27*y^14 - 163787940*x^27*y^13 + 135174268*x^27*y^12 - 
    5499493*x^27*y^11 - 7641893*x^27*y^10 + 779997*x^27*y^9 + 103031*x^27*y^8 - 
    26491*x^27*y^7 + 2965*x^27*y^6 + 140*x^27*y^5 + 21*x^26*y^48 + 
    1743*x^26*y^47 + 27160*x^26*y^46 - 41090*x^26*y^45 - 2050517*x^26*y^44 - 
    8520764*x^26*y^43 - 19141922*x^26*y^42 - 20827325*x^26*y^41 + 
    75829585*x^26*y^40 + 206140875*x^26*y^39 + 459566091*x^26*y^38 - 
    403751970*x^26*y^37 - 1779494233*x^26*y^36 - 2205589054*x^26*y^35 + 
    2503460586*x^26*y^34 + 8768292353*x^26*y^33 + 1060734422*x^26*y^32 - 
    10390172397*x^26*y^31 - 18190062593*x^26*y^30 + 16111234660*x^26*y^29 + 
    14081082476*x^26*y^28 + 11982987944*x^26*y^27 - 32122254529*x^26*y^26 - 
    2926881239*x^26*y^25 + 5527667641*x^26*y^24 + 18509355892*x^26*y^23 - 
    3881333848*x^26*y^22 - 10019023299*x^26*y^21 - 2842991094*x^26*y^20 + 
    4295931296*x^26*y^19 + 4410723465*x^26*y^18 - 2439617232*x^26*y^17 - 
    1390051284*x^26*y^16 + 43439976*x^26*y^15 + 878404362*x^26*y^14 - 
    205708776*x^26*y^13 - 86212292*x^26*y^12 + 4582816*x^26*y^11 + 
    18866854*x^26*y^10 - 5019206*x^26*y^9 + 429496*x^26*y^8 - 32259*x^26*y^7 + 
    2964*x^26*y^6 - 810*x^26*y^5 + 105*x^26*y^4 - x^25*y^49 - 193*x^25*y^48 - 
    6058*x^25*y^47 - 28384*x^25*y^46 + 396760*x^25*y^45 + 3108434*x^25*y^44 + 
    8931524*x^25*y^43 + 17192192*x^25*y^42 - 13956181*x^25*y^41 - 
    82204462*x^25*y^40 - 248612145*x^25*y^39 - 147870522*x^25*y^38 + 
    736696791*x^25*y^37 + 1593383149*x^25*y^36 + 1068280915*x^25*y^35 - 
    5284954650*x^25*y^34 - 4700885151*x^25*y^33 + 576858724*x^25*y^32 + 
    18450205094*x^25*y^31 + 160446243*x^25*y^30 - 11561584637*x^25*y^29 - 
    22375383454*x^25*y^28 + 14532004702*x^25*y^27 + 22454272019*x^25*y^26 - 
    4865530687*x^25*y^25 - 10096208988*x^25*y^24 - 16946433484*x^25*y^23 + 
    19190010087*x^25*y^22 - 47733068*x^25*y^21 + 4274694335*x^25*y^20 - 
    10341718378*x^25*y^19 + 1888005803*x^25*y^18 + 1317423034*x^25*y^17 + 
    1984382433*x^25*y^16 - 1614497061*x^25*y^15 - 174471450*x^25*y^14 + 
    159761648*x^25*y^13 + 167915392*x^25*y^12 - 86337263*x^25*y^11 + 
    343894*x^25*y^10 + 4398727*x^25*y^9 - 223115*x^25*y^8 - 78848*x^25*y^7 + 
    10148*x^25*y^6 - 1313*x^25*y^5 + 45*x^25*y^4 + 10*x^24*y^49 + 778*x^24*y^48 
    + 10969*x^24*y^47 - 23164*x^24*y^46 - 776359*x^24*y^45 - 3354946*x^24*y^44 -
    8948716*x^24*y^43 - 5232730*x^24*y^42 + 27351089*x^24*y^41 + 
    92178177*x^24*y^40 + 194448277*x^24*y^39 - 173464515*x^24*y^38 - 
    590621246*x^24*y^37 - 1680825072*x^24*y^36 + 1572212702*x^24*y^35 + 
    3282341810*x^24*y^34 + 5149045400*x^24*y^33 - 9797278631*x^24*y^32 - 
    8460896986*x^24*y^31 + 530408339*x^24*y^30 + 19825243698*x^24*y^29 + 
    10523842003*x^24*y^28 - 30062225977*x^24*y^27 + 3269686103*x^24*y^26 - 
    12639285204*x^24*y^25 + 43822622702*x^24*y^24 - 29663577814*x^24*y^23 + 
    12001897010*x^24*y^22 - 21549204659*x^24*y^21 + 19003308041*x^24*y^20 - 
    4513157918*x^24*y^19 + 3157608655*x^24*y^18 - 5422421371*x^24*y^17 + 
    1599852020*x^24*y^16 + 628576911*x^24*y^15 + 329358204*x^24*y^14 - 
    553441928*x^24*y^13 + 65116192*x^24*y^12 + 55198313*x^24*y^11 + 
    3905100*x^24*y^10 - 12045403*x^24*y^9 + 2774330*x^24*y^8 - 222222*x^24*y^7 +
    19320*x^24*y^6 - 1764*x^24*y^5 + 162*x^24*y^4 - 15*x^24*y^3 - 45*x^23*y^49 -
    1791*x^23*y^48 - 9579*x^23*y^47 + 107301*x^23*y^46 + 916142*x^23*y^45 + 
    3374858*x^23*y^44 + 6185942*x^23*y^43 - 4843342*x^23*y^42 - 
    26704357*x^23*y^41 - 104995419*x^23*y^40 - 11859828*x^23*y^39 + 
    98187966*x^23*y^38 + 914232294*x^23*y^37 + 205671525*x^23*y^36 - 
    981660609*x^23*y^35 - 4470875929*x^23*y^34 + 962064670*x^23*y^33 + 
    7266770260*x^23*y^32 + 6007977146*x^23*y^31 - 5160304552*x^23*y^30 - 
    25307939695*x^23*y^29 + 21688118125*x^23*y^28 - 6462043447*x^23*y^27 + 
    38490944735*x^23*y^26 - 56287359153*x^23*y^25 + 30554059901*x^23*y^24 - 
    26558336581*x^23*y^23 + 39302626423*x^23*y^22 - 26016112843*x^23*y^21 + 
    9991121213*x^23*y^20 - 10816200723*x^23*y^19 + 8889465987*x^23*y^18 - 
    1646736207*x^23*y^17 + 227417057*x^23*y^16 - 1499928807*x^23*y^15 + 
    642235593*x^23*y^14 + 229065139*x^23*y^13 - 66707334*x^23*y^12 - 
    95264949*x^23*y^11 + 36820717*x^23*y^10 + 2827974*x^23*y^9 - 
    2430954*x^23*y^8 + 89649*x^23*y^7 + 38669*x^23*y^6 - 3427*x^23*y^5 + 
    329*x^23*y^4 - 18*x^23*y^3 + 120*x^22*y^49 + 2559*x^22*y^48 - 318*x^22*y^47 
    - 155932*x^22*y^46 - 900678*x^22*y^45 - 2959533*x^22*y^44 - 
    1853170*x^22*y^43 + 5617184*x^22*y^42 + 37491404*x^22*y^41 + 
    41378131*x^22*y^40 + 4939551*x^22*y^39 - 247573577*x^22*y^38 - 
    479715625*x^22*y^37 + 25443161*x^22*y^36 + 1477100846*x^22*y^35 + 
    2713323196*x^22*y^34 - 3327208740*x^22*y^33 - 3406940935*x^22*y^32 - 
    8550890561*x^22*y^31 + 23274307263*x^22*y^30 - 10431130709*x^22*y^29 + 
    16191868373*x^22*y^28 - 47850995020*x^22*y^27 + 40750696567*x^22*y^26 - 
    18526735863*x^22*y^25 + 31823320839*x^22*y^24 - 38266386029*x^22*y^23 + 
    16833497369*x^22*y^22 - 8362275310*x^22*y^21 + 13587676573*x^22*y^20 - 
    8372450474*x^22*y^19 + 1087969209*x^22*y^18 - 1620433247*x^22*y^17 + 
    2055576335*x^22*y^16 + 22629503*x^22*y^15 - 523643399*x^22*y^14 - 
    130848634*x^22*y^13 + 181045946*x^22*y^12 + 21452658*x^22*y^11 - 
    34175613*x^22*y^10 - 2454876*x^22*y^9 + 5466571*x^22*y^8 - 1152108*x^22*y^7 
    + 83032*x^22*y^6 - 6542*x^22*y^5 + 530*x^22*y^4 - 29*x^22*y^3 + x^22*y^2 - 
    210*x^21*y^49 - 2298*x^21*y^48 + 10116*x^21*y^47 + 153284*x^21*y^46 + 
    838714*x^21*y^45 + 1798116*x^21*y^44 + 206884*x^21*y^43 - 8557906*x^21*y^42 
    - 27483481*x^21*y^41 - 8287748*x^21*y^40 + 9723538*x^21*y^39 + 
    277738432*x^21*y^38 + 38182561*x^21*y^37 + 196437983*x^21*y^36 - 
    2297923828*x^21*y^35 + 1150255135*x^21*y^34 - 1391765977*x^21*y^33 + 
    11448886000*x^21*y^32 - 12775644023*x^21*y^31 + 6067345586*x^21*y^30 - 
    21604257424*x^21*y^29 + 32414905947*x^21*y^28 - 9950467989*x^21*y^27 + 
    2415585190*x^21*y^26 - 17191323271*x^21*y^25 + 5334996859*x^21*y^24 + 
    15536363907*x^21*y^23 - 9451168215*x^21*y^22 + 687515153*x^21*y^21 - 
    5945458044*x^21*y^20 + 7031126449*x^21*y^19 - 1644439897*x^21*y^18 + 
    612527810*x^21*y^17 - 1850364171*x^21*y^16 + 883091971*x^21*y^15 + 
    96752399*x^21*y^14 + 107587899*x^21*y^13 - 234585188*x^21*y^12 + 
    49875846*x^21*y^11 + 30354314*x^21*y^10 - 8719605*x^21*y^9 - 
    2930716*x^21*y^8 + 1185909*x^21*y^7 - 54812*x^21*y^6 - 12009*x^21*y^5 + 
    858*x^21*y^4 - 50*x^21*y^3 + 2*x^21*y^2 + 252*x^20*y^49 + 1260*x^20*y^48 - 
    12102*x^20*y^47 - 136278*x^20*y^46 - 638190*x^20*y^45 - 877626*x^20*y^44 + 
    391742*x^20*y^43 + 10260728*x^20*y^42 + 7576574*x^20*y^41 + 
    18934889*x^20*y^40 - 96861704*x^20*y^39 - 3602519*x^20*y^38 - 
    346711302*x^20*y^37 + 916264550*x^20*y^36 - 408435799*x^20*y^35 + 
    2426624496*x^20*y^34 - 6261427386*x^20*y^33 + 3639432705*x^20*y^32 - 
    4285373335*x^20*y^31 + 13635699417*x^20*y^30 - 5623341249*x^20*y^29 - 
    13545843395*x^20*y^28 + 12103393660*x^20*y^27 - 14926254665*x^20*y^26 + 
    41869090984*x^20*y^25 - 52356442915*x^20*y^24 + 38926176980*x^20*y^23 - 
    35575421165*x^20*y^22 + 37937981159*x^20*y^21 - 27374166841*x^20*y^20 + 
    14851171825*x^20*y^19 - 10411053681*x^20*y^18 + 7442850915*x^20*y^17 - 
    3355496883*x^20*y^16 + 1398095676*x^20*y^15 - 1077836673*x^20*y^14 + 
    559956175*x^20*y^13 - 78271071*x^20*y^12 + 3850992*x^20*y^11 - 
    35992901*x^20*y^10 + 17368830*x^20*y^9 + 554484*x^20*y^8 - 1815959*x^20*y^7 
    + 355670*x^20*y^6 - 21655*x^20*y^5 + 1409*x^20*y^4 - 81*x^20*y^3 + 
    3*x^20*y^2 - 210*x^19*y^49 - 462*x^19*y^48 + 9324*x^19*y^47 + 
    111552*x^19*y^46 + 373638*x^19*y^45 + 570486*x^19*y^44 - 1668644*x^19*y^43 -
    4898080*x^19*y^42 - 9066563*x^19*y^41 + 15305264*x^19*y^40 + 
    19053552*x^19*y^39 + 106155024*x^19*y^38 - 124043031*x^19*y^37 + 
    651446*x^19*y^36 - 887102672*x^19*y^35 + 927261622*x^19*y^34 + 
    1046567499*x^19*y^33 + 250051165*x^19*y^32 + 467182425*x^19*y^31 - 
    12921232335*x^19*y^30 + 22428150470*x^19*y^29 - 24759687718*x^19*y^28 + 
    43638634918*x^19*y^27 - 67541407786*x^19*y^26 + 67529313484*x^19*y^25 - 
    62495611884*x^19*y^24 + 69491749590*x^19*y^23 - 66124355950*x^19*y^22 + 
    47774023367*x^19*y^21 - 34278467270*x^19*y^20 + 27336579049*x^19*y^19 - 
    18346321677*x^19*y^18 + 9760193405*x^19*y^17 - 5428618046*x^19*y^16 + 
    3200387824*x^19*y^15 - 1386746144*x^19*y^14 + 462013358*x^19*y^13 - 
    254617549*x^19*y^12 + 142219839*x^19*y^11 - 29695815*x^19*y^10 - 
    4308315*x^19*y^9 + 115177*x^19*y^8 + 1611489*x^19*y^7 - 464519*x^19*y^6 + 
    27542*x^19*y^5 + 2279*x^19*y^4 - 122*x^19*y^3 + 4*x^19*y^2 + 120*x^18*y^49 +
    291*x^18*y^48 - 6885*x^18*y^47 - 71268*x^18*y^46 - 223994*x^18*y^45 - 
    232469*x^18*y^44 + 1422689*x^18*y^43 + 2759766*x^18*y^42 + 4572333*x^18*y^41
    - 17471832*x^18*y^40 - 1444829*x^18*y^39 - 72829824*x^18*y^38 + 
    168332783*x^18*y^37 - 184836008*x^18*y^36 + 982493178*x^18*y^35 - 
    2166004679*x^18*y^34 + 3033865675*x^18*y^33 - 7758127904*x^18*y^32 + 
    16088556669*x^18*y^31 - 21025803544*x^18*y^30 + 29504059446*x^18*y^29 - 
    47711460538*x^18*y^28 + 57422944757*x^18*y^27 - 55009825375*x^18*y^26 + 
    60797152303*x^18*y^25 - 68158880946*x^18*y^24 + 58887013858*x^18*y^23 - 
    45707991733*x^18*y^22 + 41507170252*x^18*y^21 - 36105723811*x^18*y^20 + 
    24939226238*x^18*y^19 - 15792693992*x^18*y^18 + 10732112289*x^18*y^17 - 
    6598624288*x^18*y^16 + 3206634182*x^18*y^15 - 1473164776*x^18*y^14 + 
    746640862*x^18*y^13 - 298333000*x^18*y^12 + 70869280*x^18*y^11 - 
    24350925*x^18*y^10 + 18139186*x^18*y^9 - 6227043*x^18*y^8 - 3798*x^18*y^7 + 
    444305*x^18*y^6 - 80397*x^18*y^5 + 3564*x^18*y^4 - 173*x^18*y^3 + 5*x^18*y^2
    - 45*x^17*y^49 - 309*x^17*y^48 + 4578*x^17*y^47 + 36128*x^17*y^46 + 
    147401*x^17*y^45 - 35593*x^17*y^44 - 513260*x^17*y^43 - 3186982*x^17*y^42 + 
    4245791*x^17*y^41 - 5070897*x^17*y^40 + 47831850*x^17*y^39 - 
    102251997*x^17*y^38 + 236002314*x^17*y^37 - 709465870*x^17*y^36 + 
    1376423963*x^17*y^35 - 2707924336*x^17*y^34 + 5971742278*x^17*y^33 - 
    9668221133*x^17*y^32 + 13195462590*x^17*y^31 - 20623366019*x^17*y^30 + 
    28157587777*x^17*y^29 - 27470409482*x^17*y^28 + 26069405735*x^17*y^27 - 
    29860087477*x^17*y^26 + 26176050343*x^17*y^25 - 15049158604*x^17*y^24 + 
    12649596401*x^17*y^23 - 16589930738*x^17*y^22 + 14724979791*x^17*y^21 - 
    10541085036*x^17*y^20 + 10122762543*x^17*y^19 - 9791339861*x^17*y^18 + 
    6888863794*x^17*y^17 - 3904093826*x^17*y^16 + 2254287072*x^17*y^15 - 
    1242302886*x^17*y^14 + 526439545*x^17*y^13 - 195292555*x^17*y^12 + 
    95977175*x^17*y^11 - 43206930*x^17*y^10 + 9199319*x^17*y^9 - 349261*x^17*y^8
    + 691711*x^17*y^7 - 573632*x^17*y^6 + 138448*x^17*y^5 - 9590*x^17*y^4 - 
    234*x^17*y^3 + 6*x^17*y^2 + 10*x^16*y^49 + 202*x^16*y^48 - 1859*x^16*y^47 - 
    19444*x^16*y^46 - 68373*x^16*y^45 - 8002*x^16*y^44 + 556765*x^16*y^43 + 
    746008*x^16*y^42 + 492942*x^16*y^41 - 10024084*x^16*y^40 + 
    14046838*x^16*y^39 - 49606450*x^16*y^38 + 169732347*x^16*y^37 - 
    351441203*x^16*y^36 + 826793056*x^16*y^35 - 1711435119*x^16*y^34 + 
    2491583389*x^16*y^33 - 3686763086*x^16*y^32 + 5468707158*x^16*y^31 - 
    4389525978*x^16*y^30 - 164890435*x^16*y^29 + 3989126521*x^16*y^28 - 
    10152085941*x^16*y^27 + 22944842271*x^16*y^26 - 32916081299*x^16*y^25 + 
    33314295901*x^16*y^24 - 32150374059*x^16*y^23 + 31673248529*x^16*y^22 - 
    25045865222*x^16*y^21 + 14473912908*x^16*y^20 - 7506026978*x^16*y^19 + 
    4297148862*x^16*y^18 - 1824813393*x^16*y^17 + 95209170*x^16*y^16 + 
    335235349*x^16*y^15 - 201064448*x^16*y^14 + 119510944*x^16*y^13 - 
    85987861*x^16*y^12 + 38992962*x^16*y^11 - 11710405*x^16*y^10 + 
    7066490*x^16*y^9 - 4863609*x^16*y^8 + 1512214*x^16*y^7 - 39349*x^16*y^6 - 
    76904*x^16*y^5 + 12963*x^16*y^4 - 305*x^16*y^3 + 7*x^16*y^2 - x^15*y^49 - 
    67*x^15*y^48 + 185*x^15*y^47 + 10437*x^15*y^46 + 25005*x^15*y^45 + 
    38367*x^15*y^44 - 431179*x^15*y^43 + 18289*x^15*y^42 - 879520*x^15*y^41 + 
    7194283*x^15*y^40 - 10304934*x^15*y^39 + 20389614*x^15*y^38 - 
    68017740*x^15*y^37 + 137630287*x^15*y^36 - 328010799*x^15*y^35 + 
    830306337*x^15*y^34 - 1680960964*x^15*y^33 + 3585270442*x^15*y^32 - 
    7670104464*x^15*y^31 + 13370885122*x^15*y^30 - 20705669194*x^15*y^29 + 
    32093260269*x^15*y^28 - 45450508010*x^15*y^27 + 54764995676*x^15*y^26 - 
    60807307358*x^15*y^25 + 66187309444*x^15*y^24 - 65616493426*x^15*y^23 + 
    56378300616*x^15*y^22 - 44987897370*x^15*y^21 + 35366514461*x^15*y^20 - 
    25532713869*x^15*y^19 + 15822076233*x^15*y^18 - 8878569335*x^15*y^17 + 
    4911532101*x^15*y^16 - 2533193501*x^15*y^15 + 1082759589*x^15*y^14 - 
    381645571*x^15*y^13 + 122061804*x^15*y^12 - 29995085*x^15*y^11 - 
    956151*x^15*y^10 + 4249882*x^15*y^9 - 1336803*x^15*y^8 + 329316*x^15*y^7 - 
    273482*x^15*y^6 + 138598*x^15*y^5 - 29756*x^15*y^4 + 2214*x^15*y^3 + 
    8*x^15*y^2 + 9*x^14*y^48 + 132*x^14*y^47 - 3288*x^14*y^46 - 17594*x^14*y^45 
    + 12460*x^14*y^44 + 45822*x^14*y^43 + 689932*x^14*y^42 - 2245433*x^14*y^41 +
    4867481*x^14*y^40 - 20255378*x^14*y^39 + 64358896*x^14*y^38 - 
    160182229*x^14*y^37 + 401092115*x^14*y^36 - 935593699*x^14*y^35 + 
    1978511900*x^14*y^34 - 3974642468*x^14*y^33 + 7291809703*x^14*y^32 - 
    12063452348*x^14*y^31 + 18944036930*x^14*y^30 - 28018152640*x^14*y^29 + 
    37171817333*x^14*y^28 - 45215118668*x^14*y^27 + 53203909291*x^14*y^26 - 
    59222853073*x^14*y^25 + 59717271790*x^14*y^24 - 56503305848*x^14*y^23 + 
    52885944672*x^14*y^22 - 47255278106*x^14*y^21 + 38211263038*x^14*y^20 - 
    28586299129*x^14*y^19 + 20626238039*x^14*y^18 - 13906270234*x^14*y^17 + 
    8243140590*x^14*y^16 - 4270298800*x^14*y^15 + 2009044058*x^14*y^14 - 
    861472630*x^14*y^13 + 316658177*x^14*y^12 - 93831886*x^14*y^11 + 
    22110477*x^14*y^10 - 3465288*x^14*y^9 - 657501*x^14*y^8 + 807206*x^14*y^7 - 
    255860*x^14*y^6 + 14815*x^14*y^5 + 8677*x^14*y^4 - 1452*x^14*y^3 + 
    9*x^14*y^2 - 36*x^13*y^47 + 212*x^13*y^46 + 9862*x^13*y^45 - 4928*x^13*y^44 
    - 38178*x^13*y^43 - 134508*x^13*y^42 - 47140*x^13*y^41 + 2733328*x^13*y^40 -
    9082139*x^13*y^39 + 28847480*x^13*y^38 - 97154690*x^13*y^37 + 
    267828624*x^13*y^36 - 639407288*x^13*y^35 + 1395956555*x^13*y^34 - 
    2738718093*x^13*y^33 + 4894083891*x^13*y^32 - 8061257622*x^13*y^31 + 
    11920175693*x^13*y^30 - 15840043678*x^13*y^29 + 19771027784*x^13*y^28 - 
    23295658590*x^13*y^27 + 24970043895*x^13*y^26 - 25067421465*x^13*y^25 + 
    25796355495*x^13*y^24 - 27086368490*x^13*y^23 + 27001114426*x^13*y^22 - 
    25798846763*x^13*y^21 + 24510638370*x^13*y^20 - 22086554339*x^13*y^19 + 
    17642179194*x^13*y^18 - 12432396455*x^13*y^17 + 7979260877*x^13*y^16 - 
    4669047934*x^13*y^15 + 2394929565*x^13*y^14 - 1044068818*x^13*y^13 + 
    388114316*x^13*y^12 - 124340170*x^13*y^11 + 32927259*x^13*y^10 - 
    6190951*x^13*y^9 + 479601*x^13*y^8 + 137261*x^13*y^7 - 101888*x^13*y^6 + 
    58575*x^13*y^5 - 22030*x^13*y^4 + 4245*x^13*y^3 - 315*x^13*y^2 + 
    84*x^12*y^46 - 1778*x^12*y^45 - 12880*x^12*y^44 + 67984*x^12*y^43 - 
    117904*x^12*y^42 + 528633*x^12*y^41 - 2216472*x^12*y^40 + 4601759*x^12*y^39 
    - 7220030*x^12*y^38 + 12921476*x^12*y^37 - 14989614*x^12*y^36 - 
    8258928*x^12*y^35 + 71925386*x^12*y^34 - 182967849*x^12*y^33 + 
    304045088*x^12*y^32 - 286818129*x^12*y^31 - 33390702*x^12*y^30 + 
    860442145*x^12*y^29 - 2621542979*x^12*y^28 + 5329499040*x^12*y^27 - 
    7901490895*x^12*y^26 + 9312791480*x^12*y^25 - 9459240494*x^12*y^24 + 
    7849267326*x^12*y^23 - 3770376776*x^12*y^22 - 1557212703*x^12*y^21 + 
    5708256085*x^12*y^20 - 7747133888*x^12*y^19 + 8135316475*x^12*y^18 - 
    7217205371*x^12*y^17 + 5343839828*x^12*y^16 - 3302376489*x^12*y^15 + 
    1755961574*x^12*y^14 - 826369395*x^12*y^13 + 340597667*x^12*y^12 - 
    117897826*x^12*y^11 + 32892599*x^12*y^10 - 7071377*x^12*y^9 + 
    951178*x^12*y^8 + 84065*x^12*y^7 - 105078*x^12*y^6 + 30755*x^12*y^5 - 
    2575*x^12*y^4 - 610*x^12*y^3 + 115*x^12*y^2 - 126*x^11*y^45 + 4998*x^11*y^44
    - 2142*x^11*y^43 - 101906*x^11*y^42 + 434962*x^11*y^41 - 1559429*x^11*y^40 +
    6273690*x^11*y^39 - 20690886*x^11*y^38 + 55657793*x^11*y^37 - 
    137618416*x^11*y^36 + 321174119*x^11*y^35 - 689872275*x^11*y^34 + 
    1367244097*x^11*y^33 - 2530322630*x^11*y^32 + 4390238900*x^11*y^31 - 
    7164077034*x^11*y^30 + 10954385463*x^11*y^29 - 15514859292*x^11*y^28 + 
    20298123775*x^11*y^27 - 24688234037*x^11*y^26 + 27757700395*x^11*y^25 - 
    28275236305*x^11*y^24 + 25813075718*x^11*y^23 - 21239045606*x^11*y^22 + 
    15619157693*x^11*y^21 - 9699779485*x^11*y^20 + 4509963059*x^11*y^19 - 
    1065754085*x^11*y^18 - 561456959*x^11*y^17 + 1047331064*x^11*y^16 - 
    987243488*x^11*y^15 + 694342474*x^11*y^14 - 378425965*x^11*y^13 + 
    163308248*x^11*y^12 - 57768001*x^11*y^11 + 16987983*x^11*y^10 - 
    3890569*x^11*y^9 + 535124*x^11*y^8 + 30012*x^11*y^7 - 44516*x^11*y^6 + 
    18790*x^11*y^5 - 6885*x^11*y^4 + 2006*x^11*y^3 - 352*x^11*y^2 + 26*x^11*y + 
    126*x^10*y^44 - 9100*x^10*y^43 + 44224*x^10*y^42 - 27179*x^10*y^41 - 
    359420*x^10*y^40 + 1997015*x^10*y^39 - 8611258*x^10*y^38 + 
    31926825*x^10*y^37 - 97390490*x^10*y^36 + 254250135*x^10*y^35 - 
    595259090*x^10*y^34 + 1268478515*x^10*y^33 - 2462088291*x^10*y^32 + 
    4366029564*x^10*y^31 - 7105319732*x^10*y^30 + 10664194127*x^10*y^29 - 
    14837204482*x^10*y^28 + 19159851820*x^10*y^27 - 22906744844*x^10*y^26 + 
    25397078014*x^10*y^25 - 26312786682*x^10*y^24 + 25543817772*x^10*y^23 - 
    23051468840*x^10*y^22 + 19223078005*x^10*y^21 - 14912043285*x^10*y^20 + 
    10817130174*x^10*y^19 - 7215594002*x^10*y^18 + 4300771054*x^10*y^17 - 
    2268902403*x^10*y^16 + 1078701306*x^10*y^15 - 465208748*x^10*y^14 + 
    172878461*x^10*y^13 - 50533382*x^10*y^12 + 11089070*x^10*y^11 - 
    2335128*x^10*y^10 + 846249*x^10*y^9 - 389588*x^10*y^8 + 150791*x^10*y^7 - 
    47118*x^10*y^6 + 11710*x^10*y^5 - 2071*x^10*y^4 + 157*x^10*y^3 + 24*x^10*y^2
    - 5*x^10*y - 84*x^9*y^43 + 12388*x^9*y^42 - 102757*x^9*y^41 + 
    376074*x^9*y^40 - 795565*x^9*y^39 + 933262*x^9*y^38 + 1287039*x^9*y^37 - 
    14459650*x^9*y^36 + 61735031*x^9*y^35 - 188005610*x^9*y^34 + 
    466762189*x^9*y^33 - 1003400590*x^9*y^32 + 1916217692*x^9*y^31 - 
    3286539458*x^9*y^30 + 5098560782*x^9*y^29 - 7207054076*x^9*y^28 + 
    9377536973*x^9*y^27 - 11374574577*x^9*y^26 + 12993819522*x^9*y^25 - 
    14065515459*x^9*y^24 + 14539012651*x^9*y^23 - 14489050173*x^9*y^22 + 
    13910675538*x^9*y^21 - 12655758998*x^9*y^20 + 10711146620*x^9*y^19 - 
    8365321634*x^9*y^18 + 6006607086*x^9*y^17 - 3918331893*x^9*y^16 + 
    2277368554*x^9*y^15 - 1163476596*x^9*y^14 + 523515246*x^9*y^13 - 
    209721148*x^9*y^12 + 74848457*x^9*y^11 - 23381017*x^9*y^10 + 6281723*x^9*y^9
    - 1461635*x^9*y^8 + 301628*x^9*y^7 - 55323*x^9*y^6 + 9043*x^9*y^5 - 
    1520*x^9*y^4 + 331*x^9*y^3 - 78*x^9*y^2 + 13*x^9*y - x^9 + 36*x^8*y^42 - 
    13347*x^8*y^41 + 148968*x^8*y^40 - 798018*x^8*y^39 + 2830008*x^8*y^38 - 
    7878794*x^8*y^37 + 18855004*x^8*y^36 - 39249314*x^8*y^35 + 69224648*x^8*y^34
    - 101030549*x^8*y^33 + 118677562*x^8*y^32 - 101116134*x^8*y^31 + 
    26824166*x^8*y^30 + 118389341*x^8*y^29 - 335066842*x^8*y^28 + 
    618310742*x^8*y^27 - 989696794*x^8*y^26 + 1536110571*x^8*y^25 - 
    2387245600*x^8*y^24 + 3589052744*x^8*y^23 - 4987285176*x^8*y^22 + 
    6267688850*x^8*y^21 - 7092926824*x^8*y^20 + 7206031640*x^8*y^19 - 
    6525622156*x^8*y^18 + 5233767575*x^8*y^17 - 3714872394*x^8*y^16 + 
    2341287548*x^8*y^15 - 1310874082*x^8*y^14 + 647083731*x^8*y^13 - 
    277911238*x^8*y^12 + 102751064*x^8*y^11 - 32641430*x^8*y^10 + 
    8941702*x^8*y^9 - 2104472*x^8*y^8 + 416668*x^8*y^7 - 67124*x^8*y^6 + 
    8440*x^8*y^5 - 756*x^8*y^4 + 36*x^8*y^3 - 9*x^7*y^41 + 11573*x^7*y^40 - 
    156523*x^7*y^39 + 1027085*x^7*y^38 - 4456151*x^7*y^37 + 14810565*x^7*y^36 - 
    41164919*x^7*y^35 + 100184801*x^7*y^34 - 217376608*x^7*y^33 + 
    423983955*x^7*y^32 - 750266288*x^7*y^31 + 1216542456*x^7*y^30 - 
    1819189660*x^7*y^29 + 2510416128*x^7*y^28 - 3180866685*x^7*y^27 + 
    3661742247*x^7*y^26 - 3758516504*x^7*y^25 + 3310904407*x^7*y^24 - 
    2261667016*x^7*y^23 + 719848972*x^7*y^22 + 1014900616*x^7*y^21 - 
    2529179014*x^7*y^20 + 3472530267*x^7*y^19 - 3710266833*x^7*y^18 + 
    3340413324*x^7*y^17 - 2602913651*x^7*y^16 + 1768783468*x^7*y^15 - 
    1049406820*x^7*y^14 + 544107560*x^7*y^13 - 246869368*x^7*y^12 + 
    97775229*x^7*y^11 - 33439255*x^7*y^10 + 9685941*x^7*y^9 - 2322844*x^7*y^8 + 
    451703*x^7*y^7 - 69709*x^7*y^6 + 8195*x^7*y^5 - 663*x^7*y^4 + 28*x^7*y^3 + 
    x^6*y^40 - 8024*x^6*y^39 + 123880*x^6*y^38 - 926940*x^6*y^37 + 
    4541208*x^6*y^36 - 16658688*x^6*y^35 + 49563376*x^6*y^34 - 
    125724211*x^6*y^33 + 279807214*x^6*y^32 - 554587716*x^6*y^31 + 
    987259352*x^6*y^30 - 1588300856*x^6*y^29 + 2320030255*x^6*y^28 - 
    3083341254*x^6*y^27 + 3722176668*x^6*y^26 - 4055055523*x^6*y^25 + 
    3933798368*x^6*y^24 - 3309475718*x^6*y^23 + 2269302656*x^6*y^22 - 
    1019064868*x^6*y^21 - 180106523*x^6*y^20 + 1091875033*x^6*y^19 - 
    1577893032*x^6*y^18 + 1638858111*x^6*y^17 - 1395857134*x^6*y^16 + 
    1018046396*x^6*y^15 - 646579448*x^6*y^14 + 358727344*x^6*y^13 - 
    172920479*x^6*y^12 + 71742432*x^6*y^11 - 25369220*x^6*y^10 + 7574967*x^6*y^9
    - 1886289*x^6*y^8 + 382942*x^6*y^7 - 60840*x^6*y^6 + 7080*x^6*y^5 - 
    541*x^6*y^4 + 21*x^6*y^3 + 4368*x^5*y^38 - 74256*x^5*y^37 + 610148*x^5*y^36 
    - 3254500*x^5*y^35 + 12791856*x^5*y^34 - 39891832*x^5*y^33 + 
    103605326*x^5*y^32 - 231396535*x^5*y^31 + 453473310*x^5*y^30 - 
    789118263*x^5*y^29 + 1227949891*x^5*y^28 - 1716110373*x^5*y^27 + 
    2158933440*x^5*y^26 - 2444239900*x^5*y^25 + 2479241262*x^5*y^24 - 
    2226580335*x^5*y^23 + 1724059814*x^5*y^22 - 1077238611*x^5*y^21 + 
    424564785*x^5*y^20 + 110179957*x^5*y^19 - 454371696*x^5*y^18 + 
    597057576*x^5*y^17 - 576990262*x^5*y^16 + 459811275*x^5*y^15 - 
    312733158*x^5*y^14 + 183841475*x^5*y^13 - 93810771*x^5*y^12 + 
    41484309*x^5*y^11 - 15759680*x^5*y^10 + 5056876*x^5*y^9 - 1336886*x^5*y^8 + 
    282059*x^5*y^7 - 45614*x^5*y^6 + 5335*x^5*y^5 - 405*x^5*y^4 + 15*x^5*y^3 - 
    1820*x^4*y^37 + 33320*x^4*y^36 - 293980*x^4*y^35 + 1672440*x^4*y^34 - 
    6932547*x^4*y^33 + 22447780*x^4*y^32 - 59435719*x^4*y^31 + 
    132848776*x^4*y^30 - 256301105*x^4*y^29 + 433183492*x^4*y^28 - 
    647377097*x^4*y^27 + 860076428*x^4*y^26 - 1018440808*x^4*y^25 + 
    1074951620*x^4*y^24 - 1007741813*x^4*y^23 + 830002868*x^4*y^22 - 
    583746937*x^4*y^21 + 323155762*x^4*y^20 - 96874160*x^4*y^19 - 
    64185728*x^4*y^18 + 151234553*x^4*y^17 - 174477292*x^4*y^16 + 
    154917827*x^4*y^15 - 115295840*x^4*y^14 + 73646297*x^4*y^13 - 
    40483552*x^4*y^12 + 19036483*x^4*y^11 - 7584708*x^4*y^10 + 2531690*x^4*y^9 -
    697836*x^4*y^8 + 155393*x^4*y^7 - 26908*x^4*y^6 + 3381*x^4*y^5 - 270*x^4*y^4
    + 10*x^4*y^3 + 560*x^3*y^36 - 10880*x^3*y^35 + 101576*x^3*y^34 - 
    608246*x^3*y^33 + 2632287*x^3*y^32 - 8799396*x^3*y^31 + 23720380*x^3*y^30 - 
    53142544*x^3*y^29 + 101141769*x^3*y^28 - 166133758*x^3*y^27 + 
    238104964*x^3*y^26 - 299809310*x^3*y^25 + 332819185*x^3*y^24 - 
    325887640*x^3*y^23 + 280565432*x^3*y^22 - 210175796*x^3*y^21 + 
    132928655*x^3*y^20 - 64156350*x^3*y^19 + 12377360*x^3*y^18 + 
    20189182*x^3*y^17 - 35340311*x^3*y^16 + 37143820*x^3*y^15 - 
    30813460*x^3*y^14 + 21452360*x^3*y^13 - 12775313*x^3*y^12 + 6530774*x^3*y^11
    - 2848860*x^3*y^10 + 1045494*x^3*y^9 - 315609*x^3*y^8 + 75920*x^3*y^7 - 
    13920*x^3*y^6 + 1820*x^3*y^5 - 151*x^3*y^4 + 6*x^3*y^3 - 120*x^2*y^35 + 
    2448*x^2*y^34 - 23935*x^2*y^33 + 149477*x^2*y^32 - 670576*x^2*y^31 + 
    2304690*x^2*y^30 - 6320787*x^2*y^29 + 14227485*x^2*y^28 - 26823858*x^2*y^27 
    + 43000344*x^2*y^26 - 59254325*x^2*y^25 + 70712595*x^2*y^24 - 
    73393707*x^2*y^23 + 66329282*x^2*y^22 - 52059411*x^2*y^21 + 
    35147055*x^2*y^20 - 19811205*x^2*y^19 + 8307408*x^2*y^18 - 869193*x^2*y^17 -
    3299021*x^2*y^16 + 5081610*x^2*y^15 - 5167530*x^2*y^14 + 4193543*x^2*y^13 - 
    2818413*x^2*y^12 + 1579404*x^2*y^11 - 736440*x^2*y^10 + 283917*x^2*y^9 - 
    89547*x^2*y^8 + 22705*x^2*y^7 - 4490*x^2*y^6 + 655*x^2*y^5 - 63*x^2*y^4 + 
    3*x^2*y^3 + 16*x*y^34 - 340*x*y^33 + 3455*x*y^32 - 22351*x*y^31 + 
    103390*x*y^30 - 364154*x*y^29 + 1015455*x*y^28 - 2301375*x*y^27 + 
    4317864*x*y^26 - 6795920*x*y^25 + 9057565*x*y^24 - 10287529*x*y^23 + 
    9993410*x*y^22 - 8310106*x*y^21 + 5901685*x*y^20 - 3551385*x*y^19 + 
    1767456*x*y^18 - 657780*x*y^17 + 65569*x*y^16 + 219415*x*y^15 - 
    336910*x*y^14 + 350306*x*y^13 - 293695*x*y^12 + 203479*x*y^11 - 
    116280*x*y^10 + 54264*x*y^9 - 20349*x*y^8 + 5985*x*y^7 - 1330*x*y^6 + 
    210*x*y^5 - 21*x*y^4 + x*y^3 - y^33 + 22*y^32 - 231*y^31 + 1540*y^30 - 
    7315*y^29 + 26334*y^28 - 74613*y^27 + 170544*y^26 - 319770*y^25 + 
    497420*y^24 - 646646*y^23 + 705432*y^22 - 646646*y^21 + 497420*y^20 - 
    319770*y^19 + 170544*y^18 - 74613*y^17 + 26334*y^16 - 7315*y^15 + 1540*y^14 
    - 231*y^13 + 22*y^12 - y^11;

if ell eq 29 then
div_fk:=[
       [-1,-25,-21,-17,-13, -9, -5,-1, 3, 7, 11, 15, 19, 23, 27 ],
       [ 0,  1,  2,  3,  4,  5,  6, 7, 8, 9,  7, -1, -9,-17,-25 ],
       [ 0,  1,  2,  3,  4,  5,  6, 7, 5, 2, -1, -4, -7,-10,-13 ],
       [ 0,  2,  4,  6,  8, 10, 11, 8, 5, 2, -1, -4, -9,-17,-25 ],
       [ 0,  1,  2,  3,  4,  4,  0, 0, 0, 0, -1, -4, -5, -3, -1 ],
       [ 0,  2,  4,  6,  8,  4,  0, 0, 3, 2, -1, -4, -5, -7,-12 ],
       [ 0,  3,  6,  9,  9,  4,  0, 0, 0, 0,  0, -1, -7,-10,-13 ],
       [ 0,  4,  8, 12,  9,  4,  1, 1, 0, 0, -2, -8,-10, -7,-12 ],
       [ 0,  0,  0, -1, -1,  0, -1,-1, 6, 6, -1, -3,  0, -3, -1 ],
       [ 0, -1, -2, -7, -2,  5, -2,-2, 8, 4,  1,  0,  0, -2,  0 ],
       [ 0,  2,  4, -1, -1,  4, -1,-1, 0, 0, -1, -3,  2, -3, -1 ],
       [ 0,  0,  0,-10, -3,  4, -1, 0, 6, 8, -1, -2,  0, -2,  1 ],
       [ 0,  2,  4, -7, -2,  0,  0,-1, 6, 4,  2,  0,  0, -6, -2 ],
       [ 0,  3,  5, -7, -1,  0, -2,-2, 8, 4, -2, -6,  0, -2,  2 ]
    ];
cusp_degree:=[14, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ];        
elif ell eq 31 then
div_fk:=[
       [-1,-27,-23,-19,-15,-11, -7, -3, 1, 5,  9, 13, 17, 21, 25, 29 ],
       [ 0,  1,  2,  3,  4,  5,  6,  7, 8, 9, 10,  5, -3,-11,-19,-27 ],
       [ 0,  1,  2,  3,  4,  5,  6,  7, 7, 4,  1, -2, -5, -8,-11,-14 ],
       [ 0,  2,  4,  6,  8, 10, 12, 10, 7, 4,  1, -2, -5,-11,-19,-27 ],
       [ 0,  1,  2,  3,  4,  5,  1,  0, 0, 0,  0, -2, -5, -5, -3, -1 ],
       [ 0,  2,  4,  6,  8,  6,  1,  0, 1, 4,  1, -2, -5, -5, -8,-13 ],
       [ 0,  3,  6,  9, 11,  6,  1,  0, 0, 0,  0,  0, -3, -8,-11,-14 ],
       [ 0,  4,  8, 12, 11,  6,  1,  3, 0, 0,  0, -4,-10,-10, -8,-13 ],
       [ 0,  0,  0,  0, -3,  0,  0, -3, 2, 9,  3, -2, -2,  0, -3, -1 ],
       [ 0, -1, -2, -5, -6,  4,  2, -6, 3, 8,  2,  2,  0,  0, -1,  0 ],
       [ 0,  2,  4,  1, -3,  4,  1, -3, 0, 0,  0, -2, -2,  2, -3, -1 ],
       [ 0,  0,  0, -8, -9,  5,  1, -2, 2, 9,  4, -2,  0,  0, -1,  1 ],
       [ 0,  2,  4, -5, -6,  0,  0, -3, 2, 8,  2,  4,  0,  0, -6, -2 ],
       [ 0,  3,  6, -5, -5,  0,  0, -6, 4, 8,  2, -4, -4,  0, -1,  2 ],
       [ 0,  3,  5, -8, -6,  4,  3, -9, 2, 9,  5,  0,  0,  0, -6, -2 ]
    ];
cusp_degree:=[15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ];    
elif ell eq 37 then
div_fk:=[
       [-1,-33,-29,-25,-21,-17,-13, -9, -5, -1,  3,  7, 11, 15, 19, 23, 27, 31, 35 ],
       [ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12,  7, -1, -9,-17,-25,-33 ],
       [ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  7,  4,  1, -2, -5, -8,-11,-14,-17 ],
       [ 0,  2,  4,  6,  8, 10, 12, 14, 13, 10,  7,  4,  1, -2, -5, -9,-17,-25,-33 ],
       [ 0,  1,  2,  3,  4,  5,  6,  2,  0,  0,  0,  0,  0, -2, -5, -7, -5, -3, -1 ],
       [ 0,  2,  4,  6,  8, 10,  7,  2,  0,  0,  3,  4,  1, -2, -5, -7, -6,-11,-16 ],
       [ 0,  3,  6,  9, 12, 12,  7,  2,  0,  0,  0,  0,  0,  0, -1, -8,-11,-14,-17 ],
       [ 0,  4,  8, 12, 16, 12,  7,  2,  3,  1,  0,  0,  0, -4,-10,-14,-10,-11,-16 ],
       [ 0,  0,  0,  0, -3, -2,  0,  0, -3, -1,  6, 11,  3, -2, -4,  0, -1, -3, -1 ],
       [ 0, -1, -2, -3,-11, -4,  5,  4, -6, -2,  9,  8,  2,  2,  0,  0, -1,  0,  0 ],
       [ 0,  2,  4,  6, -3, -2,  5,  2, -3, -1,  0,  0,  0, -2, -4,  1, -1, -3, -1 ],
       [ 0,  0,  0, -2,-15, -6,  6,  2, -3,  0,  6, 11,  4, -2, -3,  0, -1,  2,  1 ],
       [ 0,  2,  4,  1,-11, -4,  0,  0, -1, -1,  6,  8,  2,  4,  0,  0, -2, -6, -2 ],
       [ 0,  3,  6,  1,-11, -2,  0,  0, -6, -2, 10,  8,  2, -4, -8,  0, -1,  2,  2 ],
       [ 0,  3,  6, -2,-15, -4,  5,  6, -9, -3,  6, 11,  5,  0,  0,  0, -1, -6, -2 ],
       [ 0,  2,  4, -8,-23, -8, 10,  6, -9, -1, 12, 20,  5,  2, -8,  2, -3, -4,  1 ],
       [ 0,  4,  8, -5,-19, -8, 10,  4, -6, -2, 15, 16,  4, -4, -7,  0, -2, -6, -2 ],
       [ 0,  4,  7, -8,-25,-10, 12,  4,-10, -4, 16, 19,  8,  0, -4,  1, -4, -7,  1 ]
    ];
cusp_degree:=[18, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ];    
elif ell eq 41 then
div_fk:=[
       [-1,-37,-33,-29,-25,-21,-17,-13, -9, -5, -1,  3,  7, 11, 15, 19, 23, 27, 31, 35, 39 ],
       [ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 11,  3, -5,-13,-21,-29,-37 ],
       [ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10,  8,  5,  2, -1, -4, -7,-10,-13,-16,-19 ],
       [ 0,  2,  4,  6,  8, 10, 12, 14, 16, 14, 11,  8,  5,  2, -1, -4, -7,-13,-21,-29,-37 ],
       [ 0,  1,  2,  3,  4,  5,  6,  6,  1,  0,  0,  0,  0,  0, -1, -4, -7, -7, -5, -3, -1 ],
       [ 0,  2,  4,  6,  8, 10, 11,  6,  1,  0,  0,  3,  5,  2, -1, -4, -7, -7, -8,-13,-18 ],
       [ 0,  3,  6,  9, 12, 15, 11,  6,  1,  0,  0,  0,  0,  0,  0,  0, -5,-10,-13,-16,-19 ],
       [ 0,  4,  8, 12, 16, 16, 11,  6,  1,  4,  1,  0,  0,  0, -2, -8,-14,-14,-10,-13,-18 ],
       [ 0,  0,  0,  0,  0, -5,  0,  0,  0, -4, -1,  6, 12,  6, -1, -4, -2,  0, -3, -3, -1 ],
       [ 0, -1, -2, -3, -7,-11,  1,  7,  2, -8, -2,  9, 10,  4,  1,  3,  0,  0, -3,  0,  0 ],
       [ 0,  2,  4,  6,  1, -5,  1,  6,  1, -4, -1,  0,  0,  0, -1, -4, -2,  3, -3, -3, -1 ],
       [ 0,  0,  0,  0,-11,-16,  2,  6,  1, -4,  0,  6, 12,  8, -1, -4,  0,  0, -3,  3,  1 ],
       [ 0,  2,  4,  5, -7,-11,  0,  0,  0, -3, -1,  6, 10,  4,  2,  3,  0,  0, -6, -6, -2 ],
       [ 0,  3,  6,  5, -7,-11,  0,  0,  0, -8, -2, 11, 10,  4, -2, -8, -4,  0, -3,  4,  2 ],
       [ 0,  3,  6,  2,-11,-12,  1,  7,  3,-12, -3,  6, 12, 10,  0,  0,  0,  0, -4, -6, -2 ],
       [ 0,  2,  4, -4,-19,-21,  2, 14,  3,-12, -1, 12, 24, 10,  1, -5, -4,  4, -9, -2,  1 ],
       [ 0,  4,  8, -1,-15,-21,  2, 12,  2, -8, -2, 15, 20,  8, -2, -8,  0,  0, -6, -6, -2 ],
       [ 0,  4,  8, -4,-19,-27,  3, 12,  2,-15, -4, 17, 22, 16,  0,  0, -2,  3,-12, -5,  1 ],
       [ 0,  7, 14,  2,-11,-21,  3,  6,  1,-12, -3,  6, 12,  6,  2, -5, -4,  0, -3,  0,  0 ],
       [ 0,  8, 15,  2,-13,-27,  1,  7,  4,-16, -1, 12, 20,  8, -1, -4,  0,  0,-12, -5,  2 ]
    ];
    cusp_degree:=[20, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ];
elif ell eq 43 then
div_fk:=[
       [-1,-39,-35,-31,-27,-23,-19,-15,-11, -7, -3,  1,  5,  9, 13, 17, 21, 25, 29, 33, 37, 41 ],
       [ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,  9,  1, -7,-15,-23,-31,-39 ],
       [ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 10,  7,  4,  1, -2, -5, -8,-11,-14,-17,-20 ],
       [ 0,  2,  4,  6,  8, 10, 12, 14, 16, 16, 13, 10,  7,  4,  1, -2, -5, -8,-15,-23,-31,-39 ],
       [ 0,  1,  2,  3,  4,  5,  6,  7,  3,  0,  0,  0,  0,  0,  0, -2, -5, -8, -7, -5, -3, -1 ],
       [ 0,  2,  4,  6,  8, 10, 12,  8,  3,  0,  0,  1,  5,  4,  1, -2, -5, -8, -7, -9,-14,-19 ],
       [ 0,  3,  6,  9, 12, 15, 13,  8,  3,  0,  0,  0,  0,  0,  0,  0,  0, -7,-11,-14,-17,-20 ],
       [ 0,  4,  8, 12, 16, 18, 13,  8,  3,  2,  3,  0,  0,  0,  0, -4,-10,-16,-14,-10,-14,-19 ],
       [ 0,  0,  0,  0,  0, -5, -1,  0,  0, -2, -3,  2, 10, 12,  3, -2, -5, -1,  0, -4, -3, -1 ],
       [ 0, -1, -2, -3, -5,-13, -2,  6,  6, -4, -6,  3, 12,  8,  2,  2,  1,  0,  0, -4,  0,  0 ],
       [ 0,  2,  4,  6,  3, -5, -1,  6,  3, -2, -3,  0,  0,  0,  0, -2, -5, -1,  3, -4, -3, -1 ],
       [ 0,  0,  0,  0, -9,-18, -3,  7,  3, -2,  0,  2, 10, 13,  4, -2, -5,  0,  0, -4,  3,  1 ],
       [ 0,  2,  4,  6, -5,-13, -2,  0,  0,  0, -3,  2, 10,  8,  2,  4,  1,  0,  0, -8, -6, -2 ],
       [ 0,  3,  6,  7, -5,-13, -1,  0,  0, -4, -6,  4, 12,  8,  2, -4,-10, -2,  0, -4,  5,  2 ],
       [ 0,  3,  6,  4, -9,-16, -2,  6,  8, -6, -9,  2, 10, 13,  5,  0,  0,  0,  0, -7, -6, -2 ],
       [ 0,  2,  4, -2,-17,-24, -4, 12,  9, -6, -5,  4, 20, 20,  5,  2, -9, -2,  3,-12, -1,  1 ],
       [ 0,  4,  8,  1,-13,-23, -4, 12,  6, -4, -6,  5, 24, 16,  4, -4,-10,  0,  0, -8, -6, -2 ],
       [ 0,  4,  8, -2,-17,-31, -5, 14,  6, -4,-12,  7, 22, 21,  8,  0, -3, -1,  4,-16, -4,  1 ],
       [ 0,  7, 14,  4, -9,-23, -4,  7,  3, -6, -9,  2, 10, 12,  3,  4, -9, -2,  0, -4,  0,  0 ],
       [ 0,  8, 16,  4, -9,-31, -5,  6,  8, -8, -8,  4, 20, 16,  4, -2, -5,  0,  0,-16, -4,  2 ],
       [ 0,  8, 15,  1,-14,-31, -3,  6,  6, -4, -3,  5, 22, 21,  9, -4,-14, -3,  3,-12, -6, -2 ]
    ];
cusp_degree:=[21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ];    
elif ell eq 61 then
div_fk:=[
       [-1,-57,-53,-49,-45,-41,-37, -33,-29,-25,-21,-17,-13, -9, -5, -1,  3,  7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51, 55, 59 ],
       [ 0,  1,  2,  3,  4,  5,  6,   7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 15,  7, -1, -9,-17,-25,-33,-41,-49,-57 ],
       [ 0,  1,  2,  3,  4,  5,  6,   7,  8,  9, 10, 11, 12, 13, 14, 15, 13, 10,  7,  4,  1, -2, -5, -8,-11,-14,-17,-20,-23,-26,-29 ],
       [ 0,  2,  4,  6,  8, 10, 12,  14, 16, 18, 20, 22, 24, 22, 19, 16, 13, 10,  7,  4,  1, -2, -5, -8,-11,-17,-25,-33,-41,-49,-57 ],
       [ 0,  1,  2,  3,  4,  5,  6,   7,  8,  9, 10,  6,  1,  0,  0,  0,  0,  0,  0,  0,  0, -2, -5, -8,-11,-11, -9, -7, -5, -3, -1 ],
       [ 0,  2,  4,  6,  8, 10, 12,  14, 16, 16, 11,  6,  1,  0,  0,  0,  3,  7,  7,  4,  1, -2, -5, -8,-11,-11, -9,-13,-18,-23,-28 ],
       [ 0,  3,  6,  9, 12, 15, 18,  21, 21, 16, 11,  6,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, -1, -9,-14,-17,-20,-23,-26,-29 ],
       [ 0,  4,  8, 12, 16, 20, 24,  26, 21, 16, 11,  6,  1,  4,  5,  1,  0,  0,  0,  0,  0, -4,-10,-16,-22,-22,-18,-14,-18,-23,-28 ],
       [ 0,  0,  0,  0,  0,  0,  0,  -7, -5,  0,  0,  0,  0, -4, -5, -1,  6, 14, 18, 12,  3, -2, -5, -7, -2,  0,  0, -6, -5, -3, -1 ],
       [ 0, -1, -2, -3, -4, -5,-11, -19,-10,  2,  9, 11,  2, -8,-10, -2,  9, 17, 14,  8,  2,  2,  5,  0,  0,  0,  0, -6,  0,  0,  0 ],
       [ 0,  2,  4,  6,  8, 10,  1,  -7, -5,  2,  9,  6,  1, -4, -5, -1,  0,  0,  0,  0,  0, -2, -5, -7, -2,  3,  1, -6, -5, -3, -1 ],
       [ 0,  0,  0,  0,  0, -4,-17, -26,-15,  4, 10,  6,  1, -4, -1,  0,  6, 14, 18, 16,  4, -2, -5, -6,  0,  0,  0, -6,  3,  3,  1 ],
       [ 0,  2,  4,  6,  8,  1,-11, -19,-10,  0,  0,  0,  0,  0, -5, -1,  6, 14, 14,  8,  2,  4,  7,  0,  0,  0,  0,-12,-10, -6, -2 ],
       [ 0,  3,  6,  9, 12,  1,-11, -19, -7,  0,  0,  0,  0, -8,-10, -2, 12, 17, 14,  8,  2, -4,-10,-14, -4,  0,  0, -6,  3,  6,  2 ],
       [ 0,  3,  6,  9,  9, -4,-17, -24,-10,  2,  9, 11,  3,-12,-15, -3,  6, 14, 18, 19,  5,  0,  0,  0,  0,  0,  0,-11,-10, -6, -2 ],
       [ 0,  2,  4,  6,  1,-14,-29, -36,-20,  4, 18, 18,  3,-12,-11, -1, 12, 28, 35, 20,  5,  2, -3,-14, -4,  6,  1,-18, -7,  3,  1 ],
       [ 0,  4,  8, 12,  5, -9,-23, -33,-20,  4, 18, 12,  2, -8,-10, -2, 15, 34, 28, 16,  4, -4,-10,-13,  0,  0,  0,-12,-10, -6, -2 ],
       [ 0,  4,  8, 12,  1,-14,-29, -45,-25,  6, 20, 12,  2,-11,-20, -4, 21, 31, 32, 27,  8,  0,  0, -7, -2,  3,  2,-24,-12,  3,  1 ],
       [ 0,  7, 14, 21,  9, -4,-17, -33,-20,  6, 10,  6,  1,-12,-15, -3,  6, 14, 18, 12,  3,  4, -3,-14, -4,  0,  0, -6,  0,  0,  0 ],
       [ 0,  8, 16, 22,  9, -4,-21, -45,-25,  2,  9, 11,  4,-16,-16, -1, 12, 28, 28, 16,  4, -2, -5, -5,  0,  0,  0,-24,-12,  5,  2 ],
       [ 0,  8, 16, 19,  5, -9,-28, -45,-22,  2,  9, 11,  2, -8, -5, -1, 15, 31, 32, 27,  9, -4,-10,-21, -6,  8,  1,-18,-10, -6, -2 ],
       [ 0,  8, 16, 16,  1,-14,-45, -69,-30,  6, 27, 24,  4,-16,-25, -5, 28, 45, 50, 36,  9,  4, -8,-20,  0,  0,  0,-29,-17,  2,  2 ],
       [ 0,  9, 18, 16,  1,-14,-40, -55,-25,  4, 18, 12,  2,-15,-25, -5, 18, 42, 49, 28,  7, -2, -5, -7, -2,  3,  1,-24, -5, -3, -1 ],
       [ 0, 11, 22, 19,  5,-12,-51, -74,-40,  8, 30, 18,  3,-28,-31, -3, 27, 63, 60, 43, 14, -2, -6,-28, -8,  0,  0,-28,-17,  2,  3 ],
       [ 0, 12, 24, 19,  5,-13,-40, -53,-30,  6, 19, 17,  6,-24,-26, -5, 27, 48, 46, 32,  8,  8, -3,-13, -2,  3,  3,-36,-22,-12, -4 ],
       [ 0, 14, 28, 22,  9,-17,-57, -85,-50, 12, 28, 28,  6,-24,-30, -6, 34, 59, 68, 40, 10, -6,-15,-28, -8,  8,  1,-30,-17,  2,  4 ],
       [ 0, 15, 30, 22,  9,-13,-40, -66,-40,  6, 27, 30,  5,-20,-30, -6, 18, 42, 46, 35, 13, -4,-13,-27,  0,  0,  0,-30, -9,  0,  0 ],
       [ 0, 16, 32, 22,  9,-27,-69,-109,-57,  8, 36, 30,  5,-31,-41, -4, 36, 79, 78, 60, 15,  6,-13,-25, -6,  9,  2,-42,-22, -1,  4 ],
       [ 0, 17, 34, 22,  9,-18,-46, -76,-37,  8, 36, 24,  4,-24,-22, -3, 24, 45, 50, 32,  8,  0,  0,-14, -4,  0,  0,-35,-22, -9, -3 ],
       [ 0, 19, 37, 25, 11,-32,-78,-126,-60, 12, 49, 35, 10,-40,-45, -9, 46, 87, 95, 63, 21,  0,-11,-33, -4,  6,  3,-54,-27, -4,  4 ]
    ];
cusp_degree:=[30, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ];    

else
	error"ell not in [29,31,37,41,43,61]";
end if;
    

d:=PrimitiveElement(GF(ell))^index_h;//diamond operator

donntusef2:=0;

n:=(ell div 2) +1;

//check div_fk
tmpc:=0;
for i:=1 to #div_fk do
	for j:=1 to #div_fk[i] do	
	 tmpc:=tmpc+div_fk[i][j]*cusp_degree[j];
	end for;
	if tmpc ne 0 then error"";end if;
end for;

//end of check

H:=[];
for i:=1 to ell do
	di:=(Integers()!(GF(ell)!d^i)) mod ell;
	
	if di gt (ell div 2) then di:=ell-(di);end if;
	
	if di in H eq false then Append(~H,di);end if;
end for;

"H",H;

"degree of projection X_1(",ell,")->X_H(",ell,") is",#H;

tmp:=[];
// compute the matrix M_d such that <d>(f_2,...,f_{n+1})^t=M_d*(f_2,...,f_{n+1})^t	
//<d>(f_2,...,f_{n+1})^t=d_div_fk*(C_0,...,C_n)^t
for d in H do
d_div_fk:=ZeroMatrix(Integers(),(ell div 2) ,(ell div 2) +1);
if d ne 1 then	
	for i:=1 to NumberOfColumns(d_div_fk) do
		for j:=1 to NumberOfRows(d_div_fk) do
			di:=(i-1)*d mod ell;
			if di ge ((ell div 2)+1) then di:=ell-di;end if;
			
			d_div_fk[j][di+1]:=d_div_fk[j][di+1]+div_fk[j][i];
		end for;
	end for;
	
	//X*div_fk=d_div_fk
	wx:=Solution(Matrix(Integers(),div_fk), (d_div_fk));
	//wx;
	//<d>(f_2,...,f_{n+1})^t=wx*(f_2,...,f_{n+1})^t
	
	M_d:=Matrix(Integers(),wx)-DiagonalMatrix(Integers(),[1:i in[2..n]]);
	Append(~tmp,M_d);
end if;	
end for;
	
M_HsubI:=BlockMatrix(1,#tmp,tmp);

NumberOfColumns(M_HsubI);

wM:=Nullspace(M_HsubI);
//wM;

//subspace wM*(f_2,...,f_{n+1})^t is H-invariant

L:=Lattice(wM);
"rank  of lattice",Rank(L);
BasisofL,TB:=LLL(L);
if Rank(L) le 1 then 
 	error"does not form a basis";
end if;

new_units2_deg:=[];

new_basis:=[];

for i:=1 to Rank(L) do
	tmp:=1;
	tmp_deg:=Vector([0: k in[1..(ell div 2)+1]]);
	
	for j:=1 to (ell div 2) do
		if (BasisofL.i)[j] ne 0 then
		
			div_fk_withdegree:=[div_fk[j][u]*cusp_degree[u]:u in[1..(ell div 2)+1]];
			
			tmp_deg:=tmp_deg+(BasisofL.i)[j]*Vector(div_fk_withdegree);
		end if;
	end for;
	
	//"tmp_deg",tmp_deg;
	Append(~new_basis,tmp_deg);

end for;

nL:=Lattice(Matrix(new_basis));

//B:=ShortVectors(nL,500);//
B,TB:=LLL(nL);
//B;

//if #B lt 2 then "incrase searching range";end if;

//select the first two vector
B1:=B.1;

B2:=[];//first coefficient should divide degree(C0) 
B2[1]:=(B.2)[1] div cusp_degree[1];
for i:=2 to (ell div 2)+1 do
	B2[i]:=(B.2)[i];
end for;

"B1=[C0,...]*",B1;
"B2=[C0,...]*",B2;

b1:=Solution(Matrix(div_fk), Vector(B1));

"b1=[f2,...]*",b1;
	
b2:=Solution(Matrix(div_fk), Vector(B2));

"b2=[f2,...]*",b2;

d1:=0;
tmpd1:=0;
for j:=1 to (ell div 2)+1 do
		tmpd1:=tmpd1+(B1)[j]*cusp_degree[j];
		if (B1)[j] gt 0 then
			d1:=d1+(B1)[j]*cusp_degree[j];
		end if;
end for;
if tmpd1 ne 0 then error"2240-1";end if;

d2:=0;
tmpd2:=0;
for j:=1 to (ell div 2)+1 do
		tmpd2:=tmpd2+(B2)[j]*cusp_degree[j];
		if (B2)[j] gt 0 then
			d2:=d2+(B2)[j]*cusp_degree[j];
		end if;
end for;
if tmpd2 ne 0 then error"2240-2";end if;


"============== polynomial relation between b1 and b2 ===============";

X:=Eltseq(b1);
Y:=Eltseq(b2);				 
//"--";
"try X=",X;
"try Y=",Y;

"big d1 (in X1(l))",d1;
"big d2 (in X1(l))",d2;

if (d1 mod #H) ne 0 then error"(#H) not divide d1";end if;
if (d2 mod #H) ne 0 then error"(#H) not divide d2";end if;

d1:=d1 div #H;

d2:=d2 div #H;

m:=d1+d2;//how to decide?

"small d1 in XH(l)=",d1;
"small d2 in XH(l)=",d2;
"Total Degree=",m;		


"X,Y";
		
tf,FXY:=SmarterRecoverFXYoverQ(Numerator(f[ell-1]),f,X,Y,[d2,d1,m]);

if tf then

        outfname:="FXY.txt";
        
        outfilept:=Open(outfname,"a+");
        
        Puts(outfilept,"F(X,Y)=");
        coess,mons:=CoefficientsAndMonomials(FXY);
        for iii:=1 to #coess do
        	if iii ne #coess then
        		fprintf outfilept,"%o* X^%o*Y^%o+",coess[iii],Degree(mons[iii],Parent(FXY).1),Degree(mons[iii],Parent(FXY).2);
        	else
        		fprintf outfilept,"%o* X^%o*Y^%o;\n",coess[iii],Degree(mons[iii],Parent(FXY).1),Degree(mons[iii],Parent(FXY).2);
        	end if;
        end for;
        
        fprintf outfilept,"(Total Degree, deg_X,deg_Y)=(%o,%o,%o)\n",Degree(FXY),Degree(FXY,Parent(FXY).1),Degree(FXY,Parent(FXY).2);
        
        fprintf outfilept,"X=[";
        
        for iii:=1 to #X do
        	
        	if iii ne #X then
        		fprintf outfilept,"%o,",X[iii];
        	else
        		fprintf outfilept,"%o]\n",X[iii];
        	end if;	
        end for;
        
        fprintf outfilept,"Y=[";
        
        for iii:=1 to #Y do
        	
        	if iii ne #Y then
        		fprintf outfilept,"%o,",Y[iii];
        	else
        		fprintf outfilept,"%o]\n",Y[iii];
        	end if;	
        end for;
        
        delete outfilept;			 
				
	"X: [f2,...,f(ell div 2+1)] combination coefficients",X;
	"Y: [f2,...,f(ell div 2+1)] combination coefficients",Y;

end if;		



return true;

end intrinsic;


intrinsic SmarterRecoverFXYoverQ(fxy::RngMPolElt,f_N::SeqEnum,X::SeqEnum,Y::SeqEnum,d1d2m::SeqEnum)->BoolElt,RngMPolElt
{try to recover FXY of total degree ttdeg}

d1:=d1d2m[1];
d2:=d1d2m[2];
m:=d1d2m[3];
 
N_Column:=0;//number of X^i*Y^j terms  
xy_i:=[];
for i:=0 to d1 do
	//(i+j)<=m
	for j:=0 to d2 do
		if (i+j) le m then			
			Append(~xy_i,[i,j]);
			N_Column:=N_Column+1;
		end if;		
	end for;
end for;

N_Row:=2*N_Column;

Mtx_all:=[];

x0:=1;	
while true do
	x0:=x0+2;
	if IsIrreducible(UnivariatePolynomial(Evaluate(fxy,1,x0))) then
	
		K<alpha>:=NumberField(UnivariatePolynomial(Evaluate(fxy,1,x0)));
		d:=Degree(K);
		X0:=1;
		Y0:=1;
		
		for i:=1 to #X do
			if X[i] ne 0 then
				X0:=X0*Evaluate(f_N[i],[x0,alpha])^X[i];
			end if;
		end for;
		for i:=1 to #Y do
			if Y[i] ne 0 then
				Y0:=Y0*Evaluate(f_N[i],[x0,alpha])^Y[i];
			end if;
		end for;		


			
		for j:=1 to d do
			tmp:=[];
			for i1:=0 to d1 do				
				for j1:=0 to d2 do
					//(i1+j1)<=m
					if (i1+j1) le m then			
						Append(~tmp,(X0^(i1)*Y0^(j1))[j]);						
					end if;		
				end for;
			end for;						
			
			if tmp notin Mtx_all then
				Append(~Mtx_all,tmp);
			end if;
		end for;	
		if #Mtx_all gt  N_Row then break;end if;
	end if;
end while;

M1:=Matrix(Rationals(),#Mtx_all,N_Column,Mtx_all);		
KerM1:=NullspaceOfTranspose(M1);

"KerM1",KerM1;

R2<U,V>:=PolynomialRing(Rationals(),2);
F1:=R2!0;
	
if Dimension(KerM1) eq 1 then//save this
	V1:=KerM1.1; 
	for i:=1 to #xy_i do
			x_i:=xy_i[i][1];
			y_i:=xy_i[i][2];
			//"V[i]",V[i];			
			//tf,a:=RationalReconstruction(Integers(p)!V[i]);
			//if tf eq false then error"RationalReconstruction error";end if;
			//"a",a;
			//"x_i",x_i;
			//"y_i",y_i;
			F1:=F1+V1[i]*(U^x_i)*(V^y_i);
	end for;
	"X",X;
	"Y",Y;
	"F1",F1;
	//"V1:=",V1;
	"Degree(F1,U)",Degree(F1,U);
	"Degree(F1,V)",Degree(F1,V);
	"Degree(F1)",Degree(F1);
	return true,F1;
else
	return false,F1;		
end if;

end intrinsic;
