// CANONICAL LIFTING -- CHARACTERISTIC p = 3

a1 := 0;

x1 := 2*a0^2 + a0*x0 + (1 + 2*a0)*x0^3 + x0^4;

P1 := x0^2;

a2 := a0^9 + a0^12;

x2 := 2*a0^5 + 2*a0^9 + (a0^4 + 2*a0^5)*x0 + a0^4*x0^2 + (a0^3 + a0^4 + a0^5 + 2*a0^6)*x0^3 + 2*a0^2*x0^5 + 
    (2*a0^2 + a0^3 + a0^4)*x0^6 + a0^2*x0^7 + a0*x0^8 + (2*a0 + a0^2 +
    a0^3)*x0^9 + 2*a0^2*x0^10 + (2 + a0)*x0^11 +
    (2*a0 + 2*a0^3)*x0^12 + x0^13;

P2 := 2*a0^4 + a0^7 + a0^6*x0^2 + (2*a0^4 + a0^6)*x0^3 + 2*a0^2*x0^4 +
     (a0^2 + 2*a0^3)*x0^5 + (2*a0^2 + 2*a0^3 + a0^4)*x0^6 +
     a0*x0^7 + (a0 + a0^3)*x0^8 + (2*a0 + a0^3 + a0^4)*x0^9 + 2*x0^10
     + (2 + a0^3)*x0^11 + (1 + 2*a0 + a0^3)*x0^12 + 2*x0^14 +
     2*x0^15;

a3 := 2*a0^27 + 2*a0^33 + a0^36 + 2*a0^45;

x3 := 2*a0^14 + a0^19 + a0^21 + a0^23 + a0^24 + (a0^13 + 2*a0^14 +
    a0^15 + 2*a0^17 + a0^18 + 2*a0^19 + 2*a0^22 + a0^23)*x0 +
    (a0^13 + a0^15 + a0^16 + a0^17 + 2*a0^18 + a0^19 + 2*a0^22)*x0^2 + 
    (a0^12 + a0^13 + 2*a0^14 + a0^15 + a0^17 + 2*a0^18 + a0^19 +
    2*a0^20 + a0^21 + 2*a0^22 + 2*a0^23 + a0^24)*x0^3 +
    (2*a0^12 + a0^14 + a0^15 + a0^16 + a0^17 + 2*a0^19 + 2*a0^20)*x0^4 + 
    (2*a0^11 + a0^13 + a0^15 + 2*a0^16 + 2*a0^17 + 2*a0^18 + a0^19 + a0^20)*x0^5 + 
    (2*a0^11 + 2*a0^12 + a0^13 + a0^14 + 2*a0^16 + 2*a0^17 + a0^18 + 2*a0^19 + 2*a0^20 + 2*a0^22)*x0^6 + 
    (a0^10 + a0^12 + a0^13 + a0^14 + 2*a0^16 + a0^17 + a0^18 +
    2*a0^20)*x0^7 + (a0^10 + a0^11 + a0^14 + a0^15 + a0^17 + 2*a0^19)*
     x0^8 + (2*a0^10 + a0^12 + a0^13 + a0^14 + a0^15 + a0^18 + 2*a0^19 + 2*a0^20)*x0^9 + 
    (a0^9 + a0^12 + 2*a0^13 + a0^14 + a0^15 + a0^16 + 2*a0^17 + a0^20)*x0^10 + 
    (2*a0^8 + 2*a0^10 + 2*a0^11 + 2*a0^12 + 2*a0^13 + a0^15 + 2*a0^16 + a0^18 + 2*a0^19)*x0^11 + 
    (2*a0^8 + 2*a0^9 + 2*a0^10 + 2*a0^12 + a0^16 + a0^19 + a0^21)*x0^12 + 
    (a0^7 + a0^8 + a0^9 + 2*a0^11 + 2*a0^13 + a0^14 + 2*a0^15 + 2*a0^16 + a0^17 + 2*a0^18)*x0^13 + 
    (2*a0^7 + a0^9 + 2*a0^10 + 2*a0^11 + 2*a0^12 + a0^13 + 2*a0^14 + a0^15 + 2*a0^16)*x0^14 + 
    (a0^6 + a0^7 + 2*a0^8 + 2*a0^9 + a0^10 + a0^11 + 2*a0^15 + 2*a0^16 + a0^17 + 2*a0^18)*x0^15 + 
    (2*a0^7 + 2*a0^9 + a0^10 + 2*a0^11 + 2*a0^14 + 2*a0^15)*x0^16 +
    (a0^5 + a0^8 + a0^10 + 2*a0^11 + 2*a0^12 + a0^14)*x0^17 +
    (a0^5 + 2*a0^6 + 2*a0^7 + 2*a0^8 + a0^9 + 2*a0^10 + 2*a0^11 + a0^12 + 2*a0^13 + a0^15 + a0^16)*x0^18 + 
    (2*a0^4 + 2*a0^6 + a0^7 + 2*a0^9 + a0^10 + 2*a0^11 + 2*a0^14)*x0^19 + 
    (2*a0^6 + 2*a0^7 + 2*a0^8 + a0^9 + a0^10 + 2*a0^11 + a0^13)*x0^20 + 
    (a0^3 + 2*a0^5 + 2*a0^6 + a0^8 + a0^11 + 2*a0^12 + a0^13 + a0^14 + a0^15)*x0^21 + 
    (a0^3 + 2*a0^4 + a0^5 + 2*a0^6 + 2*a0^7 + 2*a0^8 + 2*a0^9 + a0^12 + 2*a0^14)*x0^22 + 
    (2*a0^2 + a0^3 + 2*a0^4 + a0^8 + a0^10 + 2*a0^11 + 2*a0^12 + a0^13)*x0^23 + 
    (2*a0^2 + a0^6 + 2*a0^10 + a0^12 + 2*a0^13 + a0^15)*x0^24 + (a0^2
    + 2*a0^3 + 2*a0^5 + 2*a0^6 + 2*a0^7 + 2*a0^9 + a0^10 +
      a0^12)*x0^25 + (a0 + a0^2 + 2*a0^6 + 2*a0^7 + a0^8 + 2*a0^9)*x0^26 + 
    (2*a0 + a0^4 + 2*a0^6 + a0^9 + 2*a0^11 + a0^12 + a0^15 + 2*a0^18 + 2*a0^27)*x0^27 + 
    (a0 + a0^3 + 2*a0^4 + 2*a0^6 + a0^7 + 2*a0^8 + 2*a0^9)*x0^28 + (2
    + 2*a0^2 + 2*a0^3 + a0^4 + 2*a0^6 + 2*a0^7)*x0^29 +
    (a0 + a0^4 + a0^5 + 2*a0^6 + a0^7 + a0^8 + 2*a0^9 + 2*a0^10 +
    2*a0^12)*x0^30 + (2 + a0 + 2*a0^2 + a0^3 + a0^5 + 2*a0^6)*
     x0^31 + (1 + 2*a0 + 2*a0^2 + 2*a0^4 + a0^5 + 2*a0^7)*x0^32 + (1 +
    a0^2 + 2*a0^4 + 2*a0^6 + 2*a0^7 + 2*a0^8 + 2*a0^9)*x0^33 +
    (2 + 2*a0^2 + 2*a0^4 + a0^6 + a0^8)*x0^34 + (1 + a0 + 2*a0^2 +
    2*a0^3 + 2*a0^4 + 2*a0^5 + a0^6 + 2*a0^7)*x0^35 +
    (2*a0^2 + 2*a0^3 + 2*a0^4 + a0^5 + a0^7 + 2*a0^9 + a0^12)*x0^36 +
    (2 + 2*a0^2 + a0^4 + 2*a0^6)*x0^37 + (a0 + a0^3)*x0^38 +
    (2*a0 + 2*a0^3 + 2*a0^9)*x0^39 + x0^40 + x0^45 + 2*x0^54;

P3 := a0^16 + 2*a0^19 + 2*a0^22 + 2*a0^31 + a0^40 + (a0^18 + 2*a0^21 + 2*a0^30 + a0^39)*x0^2 + 
    (a0^13 + a0^18 + a0^19 + 2*a0^21 + 2*a0^30 + a0^39)*x0^3 + (a0^11 + a0^17)*x0^4 + 
    (2*a0^11 + 2*a0^12 + 2*a0^15 + 2*a0^17 + a0^18)*x0^5 + (a0^10 +
    a0^11 + 2*a0^12 + a0^13 + 2*a0^15 + a0^17 + a0^18 + 2*a0^19 +
      2*a0^28 + a0^37)*x0^6 + (2*a0^10 + 2*a0^13 + a0^14 + 2*a0^16)*x0^7 + 
    (2*a0^9 + 2*a0^10 + 2*a0^13 + 2*a0^14 + 2*a0^16 + 2*a0^18 + 2*a0^27 + a0^36)*x0^8 + 
    (a0^9 + 2*a0^10 + a0^12 + a0^13 + a0^14 + 2*a0^18 + 2*a0^19 + 2*a0^27 + 2*a0^28 + a0^36 + a0^37)*x0^9 + 
    (2*a0^9 + a0^10 + 2*a0^11 + 2*a0^13 + a0^15)*x0^10 + (a0^8 +
    2*a0^9 + a0^10 + 2*a0^11 + 2*a0^12 + 2*a0^13 + 2*a0^18 +
      2*a0^27 + a0^36)*x0^11 + (2*a0^7 + a0^8 + a0^11 + 2*a0^12 +
    a0^15 + a0^16 + 2*a0^18 + 2*a0^27 + a0^36)*x0^12 +
    (a0^7 + 2*a0^10 + a0^12)*x0^13 + (2*a0^6 + a0^7 + 2*a0^8 + a0^9 + 2*a0^11 + a0^15)*x0^14 + 
    (a0^6 + a0^8 + a0^9 + a0^12 + a0^15)*x0^15 + (2*a0^5 + a0^6 + a0^8 + 2*a0^9)*x0^16 + 
    (a0^6 + a0^7 + a0^8 + a0^9 + a0^10)*x0^17 + (a0^5 + a0^7 + 2*a0^9 + a0^10 + 2*a0^22 + a0^31)*x0^18 + 
    (a0^4 + a0^6 + a0^7 + 2*a0^8)*x0^19 + (a0^5 + 2*a0^6 + a0^7 + a0^8 + 2*a0^9 + 2*a0^21 + a0^30)*x0^20 + 
    (a0^3 + 2*a0^21 + a0^30)*x0^21 + (2*a0^2 + 2*a0^3 + a0^4 + a0^6 +
    a0^8)*x0^22 + (a0^2 + 2*a0^4 + a0^5 + a0^7)*x0^23 +
    (2*a0^2 + a0^4 + a0^5 + 2*a0^6 + a0^8 + 2*a0^10 + 2*a0^19 +
    a0^28)*x0^24 + (a0 + 2*a0^2 + 2*a0^5 + 2*a0^6 + 2*a0^7)*x0^25 +
    (a0 + a0^3 + a0^4 + a0^7 + 2*a0^9 + 2*a0^18 + a0^27)*x0^26 + (a0^2
    + a0^3 + a0^5 + 2*a0^6 + a0^7 + 2*a0^9 + a0^10 + a0^13 +
      2*a0^18 + 2*a0^19 + 2*a0^22 + a0^27 + a0^28 + a0^31)*x0^27 + (2
    + a0 + a0^2 + 2*a0^3 + a0^5 + a0^6)*x0^28 +
    (2 + a0^2 + 2*a0^3 + a0^5 + a0^6 + a0^12 + 2*a0^18 + 2*a0^21 + a0^27 + a0^30)*x0^29 + 
    (2 + a0 + 2*a0^2 + 2*a0^3 + 2*a0^4 + a0^6 + a0^7 + a0^10 + a0^12 +
    2*a0^18 + 2*a0^21 + a0^27 + a0^30)*x0^30 +
    (2 + 2*a0 + a0^2 + 2*a0^3 + a0^8)*x0^31 + (1 + a0^2 + 2*a0^3 + 2*a0^5 + 2*a0^8 + a0^9)*x0^32 + 
    (2 + a0^2 + 2*a0^3 + a0^4 + a0^8 + a0^9 + a0^10 + 2*a0^19 +
    a0^28)*x0^33 + (2*a0 + a0^3 + 2*a0^4 + a0^5 + 2*a0^7)*x0^34 +
    (1 + 2*a0 + a0^2 + 2*a0^3 + 2*a0^5 + 2*a0^7 + a0^9 + 2*a0^18 + a0^27)*x0^35 + 
    (a0 + 2*a0^3 + a0^4 + a0^5 + a0^9 + a0^10 + 2*a0^18 + 2*a0^19 +
    a0^27 + a0^28)*x0^36 + (a0 + a0^2 + 2*a0^4 + a0^6)*x0^37 +
    (2 + 2*a0^2 + a0^3 + 2*a0^4 + a0^9 + 2*a0^18 + a0^27)*x0^38 + (2 +
    a0^2 + 2*a0^3 + a0^6 + a0^7 + a0^9 + 2*a0^18 + a0^27)*
     x0^39 + (2*a0 + a0^3)*x0^40 + (2*a0 + a0^6)*x0^41 + (2 + 2*a0 +
    a0^3 + a0^6)*x0^42 + x0^43 + 2*x0^44 + (a0 + 2*a0^4)*x0^45 +
    (1 + 2*a0^3)*x0^47 + (1 + 2*a0 + 2*a0^3)*x0^48 + 2*x0^50 + (2 +
    a0)*x0^51 + x0^53 + (1 + a0 + 2*a0^4)*x0^54 +
    (1 + 2*a0^3)*x0^56 + (1 + 2*a0^3)*x0^57 + 2*a0*x0^60 + 2*x0^62 + (2 + 2*a0)*x0^63 + 2*x0^65 + 2*x0^66;

