/* In this case we let H denote a copy of PSL(3,3), L denote the subgroup 3^2.SL(2,3).2, and let G denote
   E6(49). We first give two matrices defining L. We then give a matrix h1 such that <l1,l2,h1> is PSL(3,3).
   We then give a matrix j1 such that <l1,l2,j1> is 2F4(2)'. Note that H<J<E6. Since J has a 1-space of
   trilinear forms on it, we can use it to determine the E6 form for G.
   
   We then show that there is a unique copy of H in G above L, namely <l1,l2,h1> (which was constructed inside
   J to begin with). Of course, therefore H<J<G.
*/

F<w>:=GF(49);

l1:=GL(27,F)![[w^43,w^6,w^5,w^33,w^28,w^43,w^28,w^22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[w^18,w^47,w^17,2,6,w^45,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[w^23,w^46,w^2,w^12,w^29,w^37,w^43,w^19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[w^3,w^29,w^17,w^44,w^29,0,1,w^12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[w^21,w^30,w^20,w^20,w^47,w^34,w^21,w^25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[w^17,w^29,6,w^31,w^27,w^2,w^36,w^29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[w^45,4,w^22,w^10,w^12,w^36,w^31,w^39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[w^27,w^44,w^25,w^39,w^33,w^9,w^41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,w^17,w^22,w^38,w^13,2,w^5,w^38,w^28,w^31,w^46,w^20,w^23,w^39,w^31,w^5,w^47,0,0,0],
[0,0,0,0,0,0,0,0,3,5,w^6,w^18,w^30,w^47,w^42,w^41,w^11,w^47,6,w^34,w^18,w^9,w^15,w^11,0,0,0],
[0,0,0,0,0,0,0,0,w^25,w^13,5,w^9,w^6,w^43,w^12,w^18,w^3,w^18,w^20,w^19,w^12,w^5,3,w^42,0,0,0],
[0,0,0,0,0,0,0,0,w^34,w^29,w^18,w^36,w^39,w^44,w^47,w^37,w^29,w^30,4,w^10,w^20,w^17,w^45,w^23,0,0,0],
[0,0,0,0,0,0,0,0,w^11,w^47,w^23,w^13,w^36,w^26,w^28,0,w^21,5,w^2,w^41,w^22,w^28,w^5,w^42,0,0,0],
[0,0,0,0,0,0,0,0,1,w^3,w^43,w^2,1,w^44,w^30,w^12,w^6,w^7,2,w^6,w^10,w^22,w^25,w^18,0,0,0],
[0,0,0,0,0,0,0,0,w^29,3,w^35,w^41,0,w^44,w^5,w^28,w,w^10,w^15,w^31,w^33,w^19,0,w^12,0,0,0],
[0,0,0,0,0,0,0,0,1,w^6,w^6,w^11,w^11,w^7,w^44,w^17,w^6,w^20,5,w^45,w^30,1,w^45,w^7,0,0,0],
[0,0,0,0,0,0,0,0,w^47,w^35,1,w^30,0,w^11,w^9,w^47,w^41,w^5,w^27,w^5,w^29,w^19,w^18,w^43,0,0,0],
[0,0,0,0,0,0,0,0,0,w^20,w^22,w^9,w^13,w^6,w^7,w^5,w^41,w^42,w^23,w^2,w^22,w^30,w^15,w^4,0,0,0],
[0,0,0,0,0,0,0,0,w^39,w^14,w^7,w^38,w^7,w^3,0,0,w^15,w^33,w^4,w^4,w^41,w^17,5,6,0,0,0],
[0,0,0,0,0,0,0,0,w^41,w^38,w^15,w^28,w^13,w^21,w^38,w^12,w^6,w^2,w^33,w^19,w^30,w^41,w^25,w^44,0,0,0],
[0,0,0,0,0,0,0,0,5,w^21,w,w^47,4,w^25,1,w^14,w^43,w^21,w^47,w^9,w^25,2,w^14,w^31,0,0,0],
[0,0,0,0,0,0,0,0,w^39,w^42,w^15,w^36,6,w^41,w^10,6,w^41,w^12,w^35,w^41,w^19,w^46,2,w^45,0,0,0],
[0,0,0,0,0,0,0,0,w^9,w^46,w^4,w^21,w^43,w^47,w^11,w^38,w^2,w^4,w^13,w^13,w^21,w^47,5,w^30,0,0,0],
[0,0,0,0,0,0,0,0,w^33,w^34,w^5,w^25,w^35,w^9,w^33,w^15,4,w^2,w^25,w^20,w^2,w^17,3,w^31,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,w^25,w^34],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,w^18,w^17,w^39],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,w^19,w^25,w^28]];

l2:=GL(27,F)![[w^38,w^36,w^14,w^4,w^5,6,w^44,w^9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[w^46,w^6,w^30,w^30,w,w^25,w^11,w^31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[w^34,5,w^36,w^43,0,0,w^14,w^10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[w^6,w^35,w^38,w,0,w^5,w^15,w^46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[w^22,1,w^26,w^2,w^7,w^20,w^27,w^18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[w^13,w^6,w^26,w^22,w^11,w^14,w^19,w^27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[w^3,w^12,w^18,2,w^22,w^39,w^21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[w^18,w^12,6,w^33,0,w^41,0,w^27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,w^44,w,w^19,w^42,w^33,w^9,w^38,w^9,w^14,w^13,w^39,w^36,w^36,1,w^23,w^27,0,0,0],
[0,0,0,0,0,0,0,0,w^38,w^42,w^37,2,w^17,w^12,w^31,w^31,w^11,w^29,w^10,w^36,6,w^41,w^2,w^33,0,0,0],
[0,0,0,0,0,0,0,0,w^44,w^9,w^38,w^25,w^28,w^13,w^45,w^19,w^28,w^13,1,w^20,w^25,w^2,w^28,w^20,0,0,0],
[0,0,0,0,0,0,0,0,6,w^15,6,w^3,w^20,w^12,w^6,w^2,4,w^47,w^6,w^30,w^13,w^7,w^7,w^47,0,0,0],
[0,0,0,0,0,0,0,0,w^47,w^14,w^7,w^14,w^11,w^28,w^20,1,w^41,w^27,w^19,w^20,w^34,3,w^2,w^3,0,0,0],
[0,0,0,0,0,0,0,0,w^20,w^20,w^25,w^4,w^33,w^25,w^13,w,w^35,w^28,w^4,1,w^26,3,w^43,1,0,0,0],
[0,0,0,0,0,0,0,0,w^39,w^46,w^45,5,w^37,w^6,w^4,w^15,w^31,w^5,w^15,w^9,2,w^6,w^10,w^11,0,0,0],
[0,0,0,0,0,0,0,0,w^23,w^30,w^35,4,w,w^12,1,w^17,4,0,w^5,w^13,w^42,5,1,w^46,0,0,0],
[0,0,0,0,0,0,0,0,3,w^31,w^36,w^33,w^29,w^29,w^29,w^12,w^15,w^42,w^21,w^5,w^11,w^7,w^41,w^5,0,0,0],
[0,0,0,0,0,0,0,0,w^41,0,w^35,w^44,w^19,w^28,w^15,w^39,2,w^43,w^36,2,w^29,w^38,w^12,w^13,0,0,0],
[0,0,0,0,0,0,0,0,w^15,w^17,w^37,5,w^7,w^44,w^17,w^44,w^37,0,w^41,w^34,w^17,w^31,w^28,w^6,0,0,0],
[0,0,0,0,0,0,0,0,w^7,w^33,1,w^12,w^39,5,w^10,w^45,w^11,w,w^14,w^35,w^22,0,w^27,w^3,0,0,0],
[0,0,0,0,0,0,0,0,2,4,w^35,w^44,w^6,w,w^42,w^42,w^26,w^6,w^21,w^2,w^20,w^41,w^19,w^20,0,0,0],
[0,0,0,0,0,0,0,0,w^44,2,w^38,w^3,w^35,w^45,w^4,2,w^14,w^30,w^13,w^46,w^30,w^14,w^33,w^31,0,0,0],
[0,0,0,0,0,0,0,0,w^12,w^25,w^7,0,w^18,w^25,w^4,5,w^21,w^5,w^35,w^42,w^20,w^5,w^38,w^44,0,0,0],
[0,0,0,0,0,0,0,0,w^38,w^29,w^36,w^2,6,w,w^42,w^19,w^36,w^37,w^44,w^9,w^31,w^34,w^19,w^5,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,w^34,w^20,w^46],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,w^12,w^46,w^36],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,w^46,0]];

h1:=GL(27,F)![[w^2,w^6,w^17,w^15,w^18,w^19,w^45,w^11,w^35,w^9,w^19,w^12,w^26,w^11,w^44,w^30,w^11,0,3,w,w^17,4,w,w^45,4,w^23,w^7],
[w^38,w^6,w^22,2,w^6,w^28,w^41,w^41,w^18,w^11,w^11,w^35,w^17,w^44,w^46,w^2,w^5,1,w^39,w^34,w^36,w^21,6,w^41,w^21,w^31,w^43],
[w^43,w^28,w^47,w^4,w^23,w^20,w,w^43,w^26,3,w^22,w^36,w^2,w^12,w^17,w^33,0,w^41,w^44,w^37,w^12,w^38,3,w^31,w^6,w^9,w^14],
[w^15,w^4,w^45,w^46,w^2,w^25,w^46,w^20,w^28,w^18,w^26,0,w^38,w^18,w^6,w^9,w^5,0,4,w^33,w,w^3,w^28,w,w^33,6,w^38],
[3,w^7,w^42,w^35,1,w,w^13,w^18,w^3,w^17,w^14,w^33,w^25,w^17,w^21,w^34,w^36,w^14,w^3,w^2,w^3,w^9,0,w^43,w,w^44,w^34],
[w^35,4,w^28,w^18,w^13,w^4,w^23,w^44,w^13,w^29,w^41,w^25,w^36,w^37,w^20,w^5,w^4,w^25,w^39,w^12,w^34,w^6,w^7,w^26,w^25,w^35,1],
[w^3,w,w^45,w^20,w^15,w^7,w^6,0,w^6,w^47,w^41,5,w^22,w^23,w^15,w,w^43,w^3,w^2,1,w^12,w^31,w^36,w^17,w^17,w^35,5],
[w^38,w,w^44,3,w^5,w^47,w^19,w^21,w^31,w^14,w^35,w^30,w^7,w^38,w^9,w^28,w^9,w^25,w^23,w^45,w^43,w^11,1,w^44,w^7,w^23,w^2],
[w^42,w^2,w^14,2,4,w^25,w^3,w^28,w^38,w,w^25,6,2,5,w^22,w^3,w^20,5,w^37,w^38,w^15,w^29,w^38,w^46,w^43,w^36,w^35],
[4,w^21,w^2,w^13,w^47,w^5,w^46,w^18,w^29,w^11,w^46,w^4,w^10,w^39,w^30,w^17,w^13,w^13,w^25,w^22,w^23,5,w^2,1,w^6,w^10,w^17],
[w^27,w^13,w^28,5,1,w^7,w^7,6,w^18,3,w^17,w^37,w^25,w^17,w^39,w^19,w^18,w^31,w^4,w^35,5,w^35,5,0,w^15,w^45,w^41],
[w^17,w^27,w^11,0,w^34,w^43,w^42,w^37,w^19,w^47,w^21,1,w^13,w^19,1,w^34,w^15,w^17,w^38,w^11,w^27,w^47,w^44,w^46,w^26,w^26,w^10],
[w^17,w^5,w^44,w^21,w^5,w^37,w^44,w,w^13,w,w^33,w^33,w^18,3,w,w^20,w^30,w^2,w^25,w^47,w^46,w^4,w^25,w^35,w^19,2,w^10],
[w^43,w^29,5,5,w^33,w^30,w^45,w^31,w^45,w^47,w,w^6,w^21,4,w^37,w^28,w^12,w^12,w^10,w^29,w^14,w^31,w^13,w^7,w^25,w^29,w^36],
[w^45,4,w^17,w^37,w^26,w^10,w^13,w^33,w^19,w^14,w^39,w^29,w^36,1,w^3,1,w^2,w^38,w^9,w^30,w^10,w^45,w^10,w^15,1,w^11,0],
[w^12,w^42,w^36,w^18,w^43,w^5,w^33,w^12,w^46,w^26,w^3,w^9,1,w^44,w^21,w^18,w^26,2,w^47,w^12,w^7,w^14,w^38,w^14,w^23,w^17,w^3],
[w^21,w^3,w^29,2,w^9,w^11,w^22,w^44,w^20,w^10,w^47,6,w^25,w^25,w^9,1,w^28,w^25,w^11,w^43,w^6,w^3,w^17,w^7,w^5,w^36,w^11],
[w^10,w^5,w^44,w,w^41,w^45,w^21,w^47,w^19,w^7,w^34,2,w^26,w^41,w^11,w^2,w^34,w^42,w^20,w^6,w^37,1,w^30,w^19,w^10,w^20,w^33],
[w^31,w^5,w^34,w^29,w^35,w^5,5,w^10,w^26,2,w^9,w,w^10,5,w^33,w^9,w^46,w^46,w^13,2,w^30,w^12,w^25,w^27,2,4,w^34],
[w^3,w^45,w^14,6,w^42,w^27,w^14,w^37,w^45,w^30,w^15,w^46,2,w^17,w^2,5,w^6,w^27,w^27,5,w^3,w^6,3,w^35,5,w^20,w^13],
[w^18,w^43,w^42,w^43,w^27,w^26,w^11,w^27,w^4,w^29,w^11,w^37,w^13,w^44,w^46,w^39,w^46,6,w^43,3,w^36,w^13,w^5,w^33,w^2,w^3,6],
[w^37,w^26,w^21,w^22,w^27,w^38,w^43,w^4,w^11,w^28,w^13,w^43,w^11,w^27,w^27,6,w^21,w^47,w^4,w^21,w^46,w^47,w^15,w,3,w^44,w^6],
[w^26,w^31,w^19,w^28,6,w^13,w^25,w^45,w^17,w^36,1,w^36,w^14,w^15,w^29,w^38,w^12,3,w^23,w^42,w^10,w^9,w^15,w^10,w^33,w^27,w^13],
[2,w^20,w^3,w^41,w^15,w^22,w^26,w^43,1,w^28,3,w^14,w^35,w^31,w^41,w^35,5,w^42,w^14,w^15,w^41,2,w^6,w^47,w^34,w^39,1],
[w^12,w^34,w^45,w^15,w^21,w^13,3,w^38,w^18,w^38,w^27,w^5,w^28,w^14,w^15,w^27,w^21,w^46,w^17,w^41,w^33,w^31,w^21,w^31,w^45,w^7,w^11],
[w,w^7,w^15,w^27,w^5,w^45,w^4,w^9,w^3,w^41,w^37,1,w^29,w^29,w^9,w^42,w^36,w^34,w^7,6,w^42,0,w^46,w^44,w^10,w^20,6],
[w^2,w^3,w^3,w^13,w^18,w^20,w^5,6,w^13,w^39,4,w^5,w^21,w^31,w^42,w^44,w^38,w^17,w^43,w^31,w^39,w^41,w^9,w^23,w^28,w^38,w^42]];

j1:=GL(27,F)![[1,w^19,w^14,2,w^26,w^17,w,w^41,w^42,w^36,w^33,w^39,w^42,w^31,w^35,2,w^25,w^23,w^38,w^10,w^6,w^22,w^11,w^11,w^46,w^34,w^23],
[w^7,w^47,w^30,0,w^46,w^21,w^47,3,w^46,w^21,w^26,w^38,w^13,w^38,w^20,w^38,w^9,w^14,w,w^15,0,w^36,w^20,w^34,w^18,w^6,w^41],
[w^15,w^35,w^18,w^13,w^29,4,w^37,w^42,1,4,w^4,w^31,4,w^9,w^25,w^2,w^22,w^2,2,w^25,w^23,4,w^28,w^7,w^17,w^37,w^14],
[w^5,w^38,w^13,w^27,w^21,w^47,w^31,w^26,w^20,w^3,w^2,w^11,w^12,w^17,w^38,w^35,w^26,w^36,w^13,w^33,w^47,5,w^15,w^12,w^21,w^22,w^34],
[w^11,w^37,w^10,3,w^2,w^42,w^15,w^26,w^14,w^10,5,w^23,4,w^35,w^33,0,w^11,w^10,w^22,w^28,w^27,w^10,w^35,0,w^18,w^27,w^31],
[w^15,w^19,w^18,w^29,w^7,w^22,w^31,w^11,w^2,w^26,w^47,6,w^38,w^28,w^45,w^37,6,w^37,w^4,w^14,w^43,w^25,w^31,w^26,5,6,w^31],
[w^14,w^2,w^41,w^25,w^36,w^47,w^13,w^44,w^45,w^46,w^18,w^6,w^42,w^2,w^26,5,w^21,w^4,w^46,w^30,w^46,w^34,w^38,w^27,w^43,4,w^44],
[w^11,1,w^45,w^44,w^11,2,6,w^28,w^3,w^35,0,w^43,w^37,w^23,w^14,w^36,w^31,w^43,0,w^18,4,w^28,0,w^35,w^4,w^23,w^22],
[w^9,w^20,w^3,w^46,w^17,w^26,0,w^28,w^37,1,w^36,w^6,1,0,w^9,w^13,w^6,w^12,w^44,w^3,w^26,w^14,w^3,w^44,w^39,w^11,w^5],
[w^44,w^29,w^5,w^15,w^22,w^34,w^4,w^9,w^18,w^36,w^31,2,2,w^12,w^41,w^27,w^3,w^18,w^42,w,w^23,0,w^7,w^10,w^25,w^33,w^38],
[w^2,w^19,w^19,2,w^4,w^22,w^26,w^36,w^45,w^38,w^38,w^39,w,w,w^15,w^44,w^15,w^13,w^6,w^43,w^27,w^38,w^21,w^20,w^9,w^9,w^47],
[w^18,w^11,w^47,w^17,w^11,w^26,w^17,w^34,w^47,w^25,w^4,w^22,w^4,w^23,w^42,w^39,w^6,w^15,w^26,w^44,w^15,w^45,w^43,w^5,6,w^43,w^41],
[w^19,w^19,w^42,w^42,w^31,w^47,w^13,w^45,2,w^3,w^18,w^3,w^18,w^6,w^43,w^3,w^11,w^6,w^15,w^31,w^4,w^10,w^19,w^35,w^18,w^28,w^22],
[w^43,w^13,w^35,w^44,5,w^47,w^9,w^11,3,w^3,w^22,w^21,w^30,w^35,0,w^28,w^14,w^17,w^41,w^29,w^36,w^22,w^46,w^22,w^12,w^6,w^39],
[2,0,w^12,w^46,w^17,w^29,w^28,w^27,4,2,w^28,w^5,w^6,w^47,w^13,w^29,w^22,w^41,w^17,w^28,6,w^3,w^45,w^27,3,w^9,w^17],
[w^25,w^20,w^6,w^45,w^31,w^45,w^20,w^6,2,w^17,w^42,w^13,3,0,2,w^27,3,w^2,w^9,6,w^11,w^35,w^11,w^19,w^18,3,w^35],
[w^29,w^47,w^47,w^20,6,w^2,w^17,w^21,w^34,w^31,w^23,w^11,w^9,0,w,w^2,w^37,2,w^33,w^3,w^47,w^44,w^42,4,w^45,w^27,3],
[w^47,w^19,w^47,w^12,w^15,w^10,w^14,w^13,w^9,w^25,w^19,w^25,w^39,4,w^42,w^18,w^19,w^12,w^28,w^9,2,w^39,w^13,1,w^17,w^29,w^33],
[w^29,w^34,w^33,w^13,w^19,w^12,w^21,w^19,w^42,4,w^34,w^22,w^39,w^31,w^19,4,w^38,w^46,w^35,w^38,w^11,w^37,w^25,w^9,w^10,w^18,w^14],
[w^18,w^29,w^33,w^33,w^27,w^12,w^26,w^6,w^10,w^35,w^37,3,w^26,w^43,0,w^2,w^17,w^38,w^6,w^17,w^46,w^35,w^46,w^10,w^43,w^38,w^28],
[w^9,w^34,w^19,w^44,w^21,w^2,w,w^47,w^11,w^37,w^6,w^19,w^11,w^14,w^12,w^11,w^27,w^35,w^43,w^47,w^6,w^11,3,w^25,w^35,w^20,w^15],
[5,w^15,w^37,w,1,w^37,w^5,w^5,w^45,w^27,w^18,4,w^26,4,w^19,w^26,w^34,w^30,w^21,4,w^42,w^18,w^46,w^5,w^7,w^13,w^26],
[w^18,w^13,w^5,w^25,w^39,w^38,w,2,w^23,w^23,w^2,w^33,w^28,w^22,w^13,w^22,4,w^35,w^15,6,w^35,w^21,w^44,w^12,w^45,w,4],
[w^2,w^34,2,0,3,w^29,w^17,0,w^43,w^5,w^44,w^17,4,w^47,w^36,w^36,3,w^42,w^18,w^27,w,w^13,4,0,w^28,w^23,w^37],
[w^41,w^7,w^23,w^31,w^44,6,1,w^9,w^10,3,w^23,w^6,6,w^11,w^26,w^29,0,w^26,w^43,w^21,w^12,w^20,w^37,w^29,w^38,w^7,w^17],
[w^39,w^42,w^15,w^43,w^11,w^41,6,w^17,w^14,w^34,w^30,w,w^45,2,w^9,4,w^46,w^7,w^30,2,w^18,w^12,w^26,0,w^31,w^5,w^12],
[w^3,w^11,w^17,w^26,1,w^47,w^45,w^30,w^45,w^18,w^13,w^29,1,w^9,w^4,w^23,w^36,w^27,5,w^17,w^26,w^18,6,w^2,w^35,w^46,w^31]];


L:=sub<GL(27,F)|l1,l2>;
H:=sub<GL(27,F)|L,h1>;
J:=sub<GL(27,F)|L,j1>;

// Now give the trilinear form. Unfortunately it's a bit of a mess.

seqs:=[[i,j,k]:i,j,k in [1..NumberOfRows(l1)]|i le j and j le k];


f27:=[1,w^46,w^38,w^47,w^21,w^29,w^42,w^34,w^9,0,w^12,w^13,w^19,5,4,w^23,w^17,w^22,w^14,w^39,3,w^13,w^44,0,w^11,w^45,w^27,w^10,w^19,1,w^35,w^42,w^3,w^23,w^12,w^11,w^18,w^13,w^42,w^9,w^6,w^10,5,w^22,
2,w^4,0,w^39,w^31,w^9,w^45,w^4,w^6,0,w^20,w^38,w^12,w^2,w^38,w^18,w^23,w^14,w^5,w^22,1,w^28,w^6,w^43,w^4,3,w^2,3,w^5,w^46,w^12,w^36,w^6,w^42,w^23,w^4,w^23,2,w^3,w^20,w^22,w^29,w^6,w^6,w^21,
w^43,w^29,w^39,w^20,w^38,w^2,w^25,w^38,w^47,w^47,6,4,w^26,w^22,w^9,w^34,w^34,w^5,w^2,w^15,w^36,w^25,w^3,4,w^42,w^17,w^12,w^44,w^18,w^5,w^14,w^9,w^12,w^27,w^36,w^42,w^42,w^39,w^28,w^33,w^47,w^17,
w^15,w^19,w^2,w^4,w^35,w^33,w^14,w^9,w^2,w^18,w^26,w^35,w^3,w^41,w^29,w^42,w^33,w^18,w^34,w^13,4,w^12,w^35,w^15,w^20,w^13,w^28,w^33,w^26,w^27,w^47,w^23,w^5,6,2,w^7,w^20,w^41,w^44,6,w^14,w^44,5,
w^37,w^2,w^38,w^19,w^38,w^36,w^37,w,w^42,5,w^15,w^35,w^19,w^3,w^14,w^2,w^39,w^42,3,w^17,w^2,w^9,w^11,0,w^35,1,w^41,w^3,w^20,w^30,w^23,w^23,6,w^6,w^35,w^22,w^6,w^47,w^5,w^20,0,w^26,w^42,w^20,
w^3,0,w^12,w^12,w^29,w^20,w^9,w^38,w^6,w^11,w^21,w^28,w^3,w^28,4,w^17,w^20,w^25,w^38,w^2,w^45,w^30,w^9,w^44,w^34,w^22,w^26,5,w^30,w^17,w^27,w^17,5,w^23,1,3,w^5,w^17,w^11,w^38,w^38,w^7,w^17,w^7,
6,w^18,w^31,w^36,w^11,w^38,w^17,w^29,w^42,w^37,w^19,w^37,w^18,w^13,w^38,w^44,w^9,w^12,w^2,2,w^28,w^31,w^25,w^5,w^44,w^3,w^46,1,w,w^28,w^21,w^22,w^9,w^29,w^38,w^18,6,w^37,w^7,w^6,w^35,w^27,5,
w^31,w^19,w^11,w^22,w^22,w^11,w^34,w^15,w^10,w^47,w^11,0,w^5,w^37,w^6,w^17,w^11,w^34,w^2,w^45,w^7,6,w^28,w^12,w^43,w^35,w^39,w^7,w^44,w^37,w^36,w^5,w^30,w^11,w^17,w^47,w^17,w^14,w^35,w^41,1,w^39,
w^41,0,2,w^47,3,w^9,w^15,w^30,w^29,w^38,w^30,w^7,w^20,w^4,w^11,w^28,5,w^7,w^18,w^26,6,w^18,w^22,w^30,w^9,0,0,0,0,0,0,0,w^10,w^7,w^2,w^21,w^44,w^30,6,w^13,w^9,w^34,w^26,w^11,w^42,w^35,w^11,4,
3,w^19,w^9,0,w^10,w^21,w^12,w^41,3,w^37,1,w^30,w^23,w^22,w^21,w^26,w^39,w^27,w^36,w^37,w^46,w^28,w^13,w^34,w^13,4,2,w^9,w^6,w^29,w^38,w^46,4,w^26,w^3,w^34,w^35,w^3,w^18,w^19,w^18,1,w^4,w^44,
w^44,0,5,w^41,w^47,w^38,w^43,w^36,w^31,w^43,w^46,w^37,w^47,w^34,w^22,w^46,5,w^47,w^26,w^23,w^27,w^41,w^4,w^23,1,1,w^44,w^30,w^2,w^6,w^38,w^13,w^21,5,5,w^35,w^42,w^36,w^38,w^44,w^33,w^3,w^6,w^11,
w^13,w^7,6,w^27,w^13,w^12,w^23,w^11,w^36,w^9,w^26,w^11,w^47,w^9,w^7,w^19,w^28,w^4,w^26,w^18,w^23,2,w^35,w^11,w^29,4,w^9,w^31,w^2,w^6,w^2,w^27,w^41,w^3,w^46,w^44,w^23,w^2,w^23,w^36,0,w^12,w^12,
w^46,1,w^47,w^11,w^12,w^11,1,w^7,w^17,w^42,w^4,w^39,w^17,w^4,w^27,w^31,w^7,w^7,w^21,w^26,w^43,1,6,w^14,w^43,w^46,0,w^30,w^10,w^33,w,w^12,w^44,w^38,w^46,w^35,w,2,w^31,w^5,w^17,0,6,w^43,w^17,
w^29,w^34,w^2,3,3,w^12,w^45,w^34,3,w^31,w^37,w^9,w^33,w^13,w^45,2,w^35,w^20,w^22,w^34,w^3,w^10,1,w^5,w^36,w^43,w^29,w^43,w^22,w^28,w^2,w^20,w^19,w^47,5,w^15,w^29,6,w^28,w^33,w^31,w^3,w^4,w^23,
5,w^28,w^27,w^31,w^35,w^39,3,w^25,w^6,w^22,w^15,w^41,w^42,w^19,w^44,w^14,w^21,w^18,w^25,1,w^14,w^22,w^37,w^39,w^10,w^28,w^42,w^27,w^6,w^26,w^11,w^17,w^39,w^11,2,w^28,w^5,6,3,w^34,w^10,w^17,w^7,
w^36,w^5,w^23,w^43,w^46,2,w^37,w^34,0,w^39,w^46,w^42,w^42,w^14,w^28,w^27,w^5,w^25,w^30,w^19,w^13,w^12,w^6,w^28,w^33,w^46,w^38,w^6,w^4,w,4,w^36,w^46,w^11,w^35,w^39,w^12,w^43,w^31,w^11,w^28,w^30,
w^23,w^12,w^3,w^43,w^28,w^20,w^26,w^27,w^30,1,w^17,w^43,w^10,w^20,w^18,w^43,w^45,w^37,w^14,w^13,w^29,w^44,0,0,0,0,0,0,0,w^11,w^34,w^37,w^30,w^20,6,w^10,w^39,2,4,w^7,w^21,w^10,w^12,w^21,w^12,
w^46,w^4,2,w^27,w^14,6,w^47,w^10,w^28,w^37,w^30,w^23,w^45,w^12,w^31,w^23,w^15,w^20,w^25,w^35,w^15,w^29,0,w^33,w^9,2,w^11,5,w^28,w^46,w^28,w^30,w^4,w^36,w^45,w^44,2,w^12,w^6,w^9,w^4,w^41,w^14,
w^18,w^25,w^21,w^21,w^10,w^12,5,w^42,w^27,w^11,w^30,w^5,w^9,w^5,w^35,w^2,4,w^15,3,w^26,w^11,w^23,w^41,w^7,w^5,w^12,w^25,w^7,w^35,2,w^41,w^36,w^15,3,w^26,w^6,4,0,w^29,5,w^13,3,w^41,w^46,w^14,3,
w^25,w^14,w^7,w^10,w^47,w^18,w^20,w^43,w^43,w^33,w^19,w^29,w^4,5,w^10,w^15,w^28,2,w^44,w^33,w^12,w^19,w^29,w^11,w^12,4,w^5,w^42,w^30,w^2,w^19,1,w^33,w^38,w^2,w^47,w^22,w^25,w^38,4,w^2,w^10,w^22,
1,w^37,w^28,w^33,w^30,w^44,w^37,w^2,w^42,w^13,w^30,6,w^41,w^4,w^44,w^3,w^21,w^36,5,w^36,w^30,w^11,w^14,w^21,w^38,w^13,w^37,w^29,w^20,w^35,w^14,w^37,w^27,w^39,w^38,w^14,w^42,4,w^46,w^34,w^5,w^41,
w^9,w^21,w^9,w^18,w^13,w^6,w^9,w^19,w^43,w^19,w^14,w^34,w^3,w^9,w^31,w,0,w^22,w^9,w^4,4,w^36,w^4,4,w^42,w^31,w^42,w^31,w^13,w^19,w^36,w^4,w^29,w^23,w^31,w^33,w^18,w^30,w^19,w^44,w^26,w^27,w^26,
w^15,w^27,w^43,w^27,w^37,w^22,w^6,w^23,w^27,w^30,w^3,w^2,w^11,1,w^10,w^11,w^26,w^27,w^10,6,w^17,5,w^34,w^39,w^44,6,w^46,w^11,w^9,w^44,w^46,w^41,w^25,4,w^14,w^17,w^31,w^9,w^46,w^25,w^19,w^20,w^6,
w^12,w^27,w^43,w^31,w^11,w^2,w^4,w^45,w^31,w^30,w^21,w^13,w^13,w^30,w^12,w^23,w^21,0,w^9,w,w^30,w^30,w^21,w^43,w^31,w,w^30,w^22,0,w^43,w^25,w^39,w^28,w^26,3,2,w^34,3,w^20,w^43,w,w^43,w^3,0,0,
0,0,0,0,1,w^19,w^14,w^29,w^25,w^42,w^20,w^17,w^18,w^45,w^26,w^4,w^10,w^21,w^5,w^23,3,w^37,2,w^43,2,w^34,2,w^27,w^25,1,w^30,0,w^35,w^39,w^33,w^36,w^12,w^35,w^44,w^26,w^37,w^27,4,w^42,6,w^39,
w^9,w^30,w^38,w^21,w^36,w^39,6,w^25,w^18,w^2,w^13,w^7,w^23,w^45,5,w^2,w^4,w^18,w^5,w^27,w^4,w^46,w^7,w^44,w^5,4,w^35,w^2,w^19,w^17,4,w^2,6,w^30,w^29,w^7,w^12,w^4,w^46,w^3,w^12,w^6,w^21,w^9,4,
5,w^23,w^44,w^4,w^27,w^37,w^30,w^6,w^12,w^21,w,w^33,w^26,w,w^20,2,w^31,w^29,w^23,w^44,w^22,5,w^36,w^39,w^23,w^6,w^31,w^5,w^6,w^39,w^12,w^23,6,w^5,1,w^33,w^10,3,w^47,w^45,4,w^47,w^13,w^14,w^35,
w^44,5,w^43,5,w^2,w^39,w^4,w^17,1,w^33,w^11,w^41,w^35,w^28,w^15,1,w^45,w^28,w^7,w,w^11,w^28,w^20,6,w^46,w^36,w^31,3,w^3,w^39,0,w^47,w^19,w^46,w^13,0,w^26,5,w^36,w,w^5,w^9,w^18,4,w^43,w^9,
w^44,w^34,w^29,4,w^35,w^12,w^6,1,2,w,w^19,w^28,w^22,6,w^21,w^21,w^15,4,w^33,w^25,w^42,4,w^43,w^26,1,w^43,w^12,w^35,6,w^26,w^26,w^6,w^25,w^37,w^6,w^45,w^13,w^14,w^4,w^25,0,2,w^22,w^34,6,w^18,
w^13,w^45,w^20,w^23,w^7,w^19,w^38,w^23,w^36,w^36,w^4,w^41,w^44,w^46,w^4,4,3,w^42,w^20,w^14,w^47,0,w^25,w^42,w^39,w^33,1,w^13,w^34,5,w^3,w^29,w^29,w^37,w^45,6,w^26,w,w^12,w^6,w^13,w^12,w^38,2,
w^20,w^19,w^15,w^4,w^10,w^19,4,w^4,w^27,w^17,w^43,w^27,w^46,w^7,w^25,w^10,w^29,w^11,w^22,6,w^45,w^22,2,w^15,w,w^46,0,0,0,0,0,0,w^13,w^6,w^37,w^15,w^20,5,w^38,w^46,2,w^12,w^38,w^38,w^3,1,w^22,
w^9,w^37,w^29,w^39,3,2,w^18,w^11,w^26,w^12,w^6,w^4,w^42,w^22,w^47,w^38,w^30,w^35,w^27,w^42,w^3,w^18,4,w^28,0,w^44,w^31,2,w^34,w^14,w^38,w^3,w^38,w^11,w^20,w^43,2,w^10,w^25,w^22,w^36,w^34,w^21,
w^27,w^9,w^41,1,w^6,4,w^10,w^4,3,w^31,w^20,w^22,5,w^38,w^19,w^31,w^29,w^43,w^11,w^3,w^14,w^41,w^37,w^36,w^39,w,w^37,1,w^28,w^42,w^38,w,w^46,w^21,w^27,w^9,w^22,w^26,0,w^41,6,w^31,w^26,w^46,w^26,
w^28,w^18,w^25,w^42,w^26,5,w^31,w^15,w^41,w^41,w^18,w^26,w^41,w^29,w^12,w^28,w^4,w^21,w^38,3,3,w^38,4,w^18,w^20,w^11,w^12,w^15,w^23,w^18,3,w^46,w^47,w^44,w^26,w^33,w^28,w^47,w^23,w^20,w^29,w^39,
w^45,w^37,w^18,w^18,w^11,1,w^34,w^44,w^38,w^42,w^41,w^28,w,w^11,w^46,w^14,w^27,w^39,4,w^17,2,w^45,w^22,w^5,2,w^42,w^31,w^12,4,w^29,5,w^7,w^19,w^46,w^19,w^36,w^5,w^31,2,w^6,w^2,w^27,w^47,w^46,
w^46,1,w^21,w^18,w^10,w^9,w^4,2,w^22,w^4,w^19,w^22,w^3,3,w^25,w^18,w^17,w^47,w^12,w^29,w^44,w^11,w^25,w^29,w^37,w^33,w^39,w^42,w^9,w^10,w^7,w^6,w^29,w^23,0,w^14,w^2,w^27,w^27,w^31,w^11,w^10,w^9,
w^29,w^29,5,w^38,5,w^5,w^44,w^26,w^14,w^15,w^31,w^37,w^22,w^17,w^25,w^35,w^30,w^13,w^46,1,w^37,w^11,w^13,w^22,w^3,w^45,w^28,4,w^11,4,3,w^42,w^36,w^7,w^31,w^28,0,w^31,0,0,0,0,0,0,w^4,w^25,w^2,
1,w^11,w^43,w^23,w,w^3,w^7,w^27,w^6,w^43,5,0,w^25,w^34,3,w^39,w^17,w^18,6,w^34,w^22,w^14,w^45,w^27,w^29,w^10,w^11,w^13,w^35,w^27,w^11,w^6,w^2,w^47,1,4,w^39,w^43,w^22,w^9,w^46,w,w^5,w^22,w^38,
3,w^44,w^9,5,w^7,w^25,5,w^17,w^9,w^39,w^3,w^3,5,3,w^2,w^2,w^37,w^25,w^22,w^46,w^47,w^30,w^14,w^26,w^18,w^9,w^43,w^33,w^28,w^9,w^15,w^7,w^35,w^4,w^42,w,w^13,w^20,w^20,w^41,w^35,w^39,w^20,w^31,
w^23,w^9,w^23,w^21,w^3,w^14,w^7,w^33,w^46,w^44,w^44,w^14,w^14,w^10,w^3,w^15,1,w^21,w^36,w^9,w,w,w^28,w^27,w^18,w^25,2,w^26,w^47,w^37,w^34,w^41,w^14,w^20,w^31,w^26,1,5,w^38,0,w^12,w^4,w^45,w^25,
6,2,w^42,w^22,w^14,5,w^9,w^23,6,5,w^37,w^36,w^36,1,w^36,w^26,w^4,3,w^26,w,w^20,w^47,w^9,w^14,w^31,w^3,w^4,w^38,w^20,w^6,w^21,w^46,w^41,0,w^14,w^27,w^2,w^29,3,w^34,w^39,w^23,w^25,w^45,w^7,w^3,
w^21,w^45,w^23,w^26,w^4,w^4,w^6,w^42,w^41,w^7,6,w^43,w^47,w^20,w^42,w^5,w^31,w^29,w^38,w,w^12,w^15,w^26,3,w^25,w^17,w^14,w^23,w^13,w^13,w^41,5,w^47,w^44,w^42,w^7,w^41,w^43,w^12,w^9,w^35,w^37,
w^11,0,w^19,3,w^4,w^31,w^35,w^30,w^44,w^42,w^23,w^38,0,w^46,1,w^36,w^23,w^14,w^6,w^47,w^19,w^41,w^15,0,0,0,0,0,0,0,w^23,w^28,w^19,w^19,w^7,w^31,w^34,5,w^34,w^36,w^37,w^6,w^41,w^23,4,w^21,
w^44,w^30,w^45,w^27,w^43,w^29,w^42,w^36,w^27,w^44,w^12,w^28,w^20,w^39,w^36,w^35,2,w^7,w^7,4,w^6,w^11,w^25,w^5,w^15,w^36,w^41,0,w^37,w^7,w^44,w^22,w^37,5,1,w^46,w^6,w^26,w^37,w^18,w^33,w^39,w^10,
w^14,w^9,w^43,w^26,w^14,w^28,w^20,1,w^23,w^5,w^43,w^38,w^42,w^15,w^44,4,w^26,w^7,w^31,w^20,w^30,w,w^14,w^26,w^38,w^42,0,w,w^5,6,w^33,w^42,w^44,w,w,w^3,w^21,w^20,w^27,w^17,w^11,w^17,w^17,w^44,
w^14,w^7,w^22,w^4,4,6,w^7,w,w^33,w^21,w^42,2,w^31,w^46,w^22,w^15,0,w^38,w^26,w^14,w^2,w^15,w^9,w^25,w^10,w^12,w^25,w^2,w^25,w^46,w^4,0,w^26,w^11,w^25,w^39,w^2,w^34,w,w^3,2,6,w^43,w^9,w^20,
w^28,1,w^23,w^39,w^15,4,w^41,w^38,w^30,w^26,w^39,3,w^30,w^6,w^13,w^39,w^3,w^19,w^30,w^3,w^38,w^36,w^37,w^36,5,w^34,w^10,4,w^22,3,w^25,w^21,w^46,w^2,0,w^29,w^21,w^29,w^37,w,w^4,0,w^3,w^15,w^28,
w^10,w^17,3,w^15,0,4,w^7,w^3,w^7,w^3,w^35,w^26,w^44,w^26,w^2,3,w^22,w^36,w,w^31,w^29,w^47,w^10,w^28,w^44,w^9,w^36,w^28,w^6,w^45,w^42,0,0,0,0,0,0,6,w^41,w^43,w^19,3,w^17,w^36,w^11,w^44,w^39,
w^13,3,w^38,w^45,w^38,w^4,w^35,w^11,w^26,w^44,w^11,2,w^43,w^44,w^47,5,w^31,w^43,w^38,w^31,w,3,w^36,w^43,w,w^46,w^18,w^41,w^26,2,w^37,w^19,w^21,w^35,w^4,w^21,w^45,w^31,w^33,1,w^7,w^20,w^25,w^28,
w^11,w^15,w^22,w^33,w^11,w^5,w^33,w^19,2,w^6,w^42,w^6,w^13,w^7,6,w^13,w^34,w^37,w^15,w^2,w^36,w^6,w^10,w^21,6,w^22,w^42,w^42,w,w,2,w,5,w^35,w^34,w^19,w^7,w^22,w^9,w^39,5,w^10,w^4,w^47,w^13,
w^44,w^44,w^38,w^18,5,w^25,w^3,w^30,w^15,3,w^3,w^46,w^23,w,w^31,w^44,w^6,w,w^3,w^3,w^15,5,w^11,6,w^2,w^31,w^35,w^38,w^44,w^9,w^46,w^42,w^18,w^36,3,w^36,w^4,w^15,w^47,w^41,w^2,w^4,w^26,w^4,w^46,
5,w^2,w^3,w^10,w^41,w^25,w^3,w^33,w^34,4,3,w^19,5,w^6,w^35,4,w^27,w^36,w^6,w^21,w^44,2,w^26,w^17,w^45,w^31,w^18,w^7,w^27,w^35,w^45,w^36,w^33,w^44,w^14,w^33,w^13,w^47,w^3,w^30,w^7,w^38,w^3,w^26,
w^3,w^27,w^18,w^30,w^38,w^6,w^29,1,5,w^14,w^34,w^15,w^47,w^15,w^38,w^15,0,0,0,0,0,0,w^31,4,w^29,w^46,w^23,w^6,6,w^7,w^10,w^3,w^12,w^28,w^26,w^30,w^46,w^44,w^31,1,w^43,w^22,w^45,w^9,w^31,w^7,
6,w^30,w^18,w^17,0,w^3,w^29,6,w^7,w^19,w^23,w^19,w^26,w^41,w^23,w^36,w^33,2,1,w^15,w^42,w^4,w^10,w^19,5,w^37,w^27,w^42,1,w^7,w^10,4,w^29,w^21,2,w^44,w^21,6,w^42,w^3,w^28,w^2,w^47,w^31,w^28,
w^15,w^6,w^14,w^27,w^12,5,w^44,w^11,w^6,w^38,w^47,w^2,w^10,w^17,w^33,w^45,w^10,w^45,w^15,5,w^45,w^27,w^46,w^9,6,6,5,w^7,w^2,w^27,w^41,w^36,w^14,w^11,w^43,w^46,w^47,w^35,w^42,w^18,w^28,w^39,w^4,
3,w^12,w^12,w^10,5,w^11,5,w^19,4,w^46,w^45,4,5,w,4,w^35,w^9,w^13,w^5,w^4,w^19,w^15,w^37,w,w^41,w^4,w^42,w^38,w^36,6,w^25,w^25,w^5,w^47,w^45,w^34,w^29,w^36,w^13,w^22,w^25,w^13,3,w^47,w^42,w^26,
0,w^42,w^39,w^22,w^38,w^43,w^15,w^15,w^34,w^41,w^43,0,6,w^36,w^14,w^34,w^26,w^36,0,w^36,w^9,w^33,1,w^5,w,4,0,0,0,0,0,0,3,w,w^9,w^42,w^15,4,w^7,w^15,w^10,w^11,w^39,w^29,4,w^41,w^14,w^2,w^22,
0,w^27,w^20,2,w^35,w^28,3,w^47,1,w^15,w^19,w^38,w^38,w^12,w^44,w^34,w^22,w^3,w^44,w^34,w^11,w^9,w^17,w^7,w^20,w^3,w^46,w^35,w^15,5,w^38,4,w^27,w^33,w^13,w^35,w^26,w^13,w^3,w^30,5,w^19,6,w^44,
w^34,w^39,w^27,w^45,w^38,w^43,w^17,w^35,w^34,w^14,w^34,w^11,w^7,w^19,w^29,w^39,w^13,w^11,w^9,w^14,w^2,w^20,w^21,w^23,w^26,0,w^29,w^4,w^5,0,w^29,w^44,w^19,w^29,6,2,w^7,w^28,w^38,w^34,5,w^21,w^35,
w^21,w^22,w^33,w^17,w^47,w^33,w^10,w^33,w^41,w^15,w^36,w^38,6,w,w^9,w^21,w^25,w^17,w^15,w^28,w^26,w^11,w^36,w^20,w^12,w^18,w^23,w^12,w^30,w^18,3,0,w^43,w^46,w^26,w^7,w^13,0,w^31,3,w^19,w,w^18,
w^2,w^6,w^41,w^35,4,w^25,w^20,w^20,w^14,w^5,w^9,3,w^13,4,w^36,0,w^43,w^15,0,0,0,0,0,0,5,w^17,w^18,5,w^14,w^42,w^39,w^37,w^15,6,w^46,w^45,w^7,w^5,w^36,w^29,w^45,6,w^3,w^17,w^28,w^23,w^31,w,
w^45,w^17,w^36,w^33,w^35,w^10,w^17,1,w^46,0,2,w^45,w^46,w^6,w^2,w^25,w^41,w^13,2,w,w^43,w^13,w^47,w^10,2,w^30,w^22,w^45,6,w^2,w^14,w^11,w,w^4,w^45,w^2,0,w^9,w^31,w^47,w^23,w^14,w^29,w^31,w^9,
w^28,w^41,w^33,w^26,w^3,0,w^28,w^6,w^21,w^19,w^46,w,6,w^27,w^17,w^46,w^14,3,w^43,w^26,w^15,w^35,w^29,w^44,w^36,w^43,w^25,2,w^14,w^12,w^15,w^20,w^21,w^18,w^47,w^43,4,w^44,w^11,w^14,w^4,1,w^44,0,
w^3,w^15,w^13,w^15,w^29,w^27,w^45,w^5,w^4,w^18,w^28,w^2,w^5,w^38,w^30,w^43,w^6,w^26,w^7,w^34,w^7,w^47,w^11,w^9,w^3,w^41,w^44,w^44,w^42,w^7,2,w^43,w^47,w^19,0,0,0,0,0,0,w^44,4,w^9,w^42,w^4,
w^20,w^47,w^21,w^29,w^23,w^42,w^17,2,w^18,w^27,w^29,w^9,w^19,w^13,w^26,w^33,w^35,w^17,w^37,w^27,w^13,w^42,5,0,w^47,5,w^27,w^5,w^36,w^39,w^12,w^34,w^39,w^36,w^17,w^15,w^39,w,w^15,w^44,w^37,0,0,
w^7,w^3,w^47,w^11,w^41,w^10,w^43,3,w^36,4,4,3,w^30,w,w^22,1,w^42,w^38,w^25,w^45,w^47,w^30,w^26,w^4,w^27,1,w^15,w^46,w^45,w^3,w^41,w^46,w^9,w^30,w^31,w^3,w^6,w^18,w^35,w^27,4,w^38,w^2,w^26,w^42,
w^43,w^5,2,w^45,w^12,w,w^3,w^6,w^36,5,w^36,w^41,w^2,w^39,w^33,w^3,2,w,w^9,w^27,w^19,w^44,w^31,6,w^19,w^38,w^12,3,w^26,w^47,w^27,w^19,0,w^46,w^7,4,w^2,0,0,0,0,0,0,w^26,w^41,w^13,4,w^9,w^34,
w^34,w^20,w^4,w^42,w^3,w^11,w^7,w^7,1,w^11,w^36,w^41,w^34,w^12,w^4,w^29,w^34,3,w^45,w^20,w^13,w^20,w^38,w^33,w^47,w^36,2,w,w^47,w^38,w^3,w^23,w^12,w^28,w^21,w^45,w^18,w^19,w^20,w^31,w^39,w^4,4,
w^15,5,w^37,w^45,1,w^36,w^5,4,w^3,w^18,w^14,w^21,w^28,w^5,w^28,4,w^29,w^14,w^25,w^7,w^25,w^23,5,w^18,w^14,w^46,w^9,w^41,w^34,w^7,w^46,w^29,w^34,w^10,1,w^17,0,w^13,3,w^25,w^41,w^12,0,5,w^21,
w^35,w^31,w^30,w^45,1,w^21,w^26,w^13,w^37,6,w^34,w,w^35,w^26,1,w^36,w^30,w^11,w^29,w^41,0,0,0,0,0,0,w^23,w^26,w^47,w^22,w^26,w^25,w^29,w^18,w^39,w^34,w^14,w^9,w^25,2,w^29,w,w^26,3,5,w^22,2,
w^30,w^33,w^19,w,w^29,w^11,w^13,w^18,w^27,3,w^43,2,w^28,4,1,w^22,w^21,w^31,w^42,w^4,w^2,w^9,w^21,w^39,w^12,w^5,w^45,4,w^39,w^25,w^22,w^20,w,w^33,w^29,w^47,w^45,w^18,2,w^3,w^43,4,w^20,w^27,4,
w^7,w^14,w^14,w^33,w^44,w^39,w^37,w^3,w^28,1,w^4,w^47,6,w^15,w^7,w^23,w^25,w^38,w^43,w^45,w^3,w^14,w^47,w^23,1,w^37,0,w^2,w^4,w^27,w^42,w^21,w^46,0,0,0,0,0,0,w^39,w^15,w^4,w^37,w^35,w^20,5,
w^46,w^47,w^36,w^31,w^21,w^34,w^26,w^12,1,w^4,w^2,w^26,w^3,1,w^20,4,w^3,w^39,w^37,2,w^39,w^46,w^23,w^12,w^45,w^36,0,w^38,w^36,w^33,w^39,w^27,w^21,w^4,3,w^7,3,w^17,w^43,w^7,3,w^6,w^5,w^7,w^37,
w^9,w^27,6,w^29,w^20,w^34,w^9,w^19,w^7,w^31,w^6,w^36,w^31,w^9,w^42,5,w^5,w^31,w^18,w^44,w^25,w^44,1,w^17,w^17,w^21,w^6,w^29,w^6,w^44,4,w^35,w^36,0,0,0,0,0,0,w^25,w^33,5,w^38,w^25,w^5,w^34,
w^31,w^36,w^21,w^22,0,w^11,w^2,3,w^12,w^13,2,w^23,w^9,w^18,w^9,5,w^29,w^10,w^33,w^42,w^7,w^13,w^38,w^20,w^39,1,w^35,w^37,w^2,w^42,w^43,w^34,w^33,w^3,w^36,6,w^38,w^42,w^39,w^7,w^17,w^18,w^43,w^9,
w^20,w^43,w^11,4,w^7,w^39,w,w^33,w^33,w^38,w^17,w^23,w^4,w^38,w^12,w^29,6,w^38,w^30,w^19,w^43,0,0,0,0,0,0,w^23,w^10,w^21,w^29,w^46,w^42,w^25,w^6,w^25,6,w^46,w^2,w^44,w^44,w^27,w^37,w^18,w^20,
w^44,w^36,w^3,w^21,w^11,w^5,w^39,w^20,w^4,w^35,2,w^15,w^11,w^47,3,w^3,4,w^33,w^19,w^27,w^34,w^21,w^3,0,w^18,w^20,0,w^14,w^27,w^22,w^41,w^20,w^17,w^6,w^19,w^45,w^23,1,w^45,w^11,w^45,w^34,0,0,0,
0,0,0,w^20,w^37,w^6,w^35,w^47,w^6,w^28,w^31,0,w^33,w^30,w^27,w^33,w^47,w^12,w^26,w^36,w^21,w^2,w^42,w^37,w^22,w^2,w^29,w^10,w^12,w,w^13,w^23,w^47,w^31,w^5,w^11,w^23,w^9,w^10,w^29,w^7,w^26,w^21,
w^6,w^45,w^28,w^12,w^30,w^27,4,w^7,w^38,0,0,0,0,0,0,w^27,w^15,w^29,w^10,w^11,1,w^27,w^29,w^19,w^18,w^46,w^35,w^21,w^39,w^44,3,w^7,w^23,w^46,w^21,5,w^19,w^4,w^35,w^31,0,3,w^34,w^30,3,w^25,
w^33,2,w^47,1,w^44,w^39,w^30,6,0,0,0,0,0,0,w^10,w^13,w^3,6,w^13,w^28,w^43,w^17,1,w^4,0,w^38,w^21,0,5,w^47,w^29,w^7,w^27,w^7,w^2,w^29,w^21,w^46,w^14,w^31,0,w^4,w,w^7,0,0,0,0,0,0,w^7,w^28,
w^7,w^5,w^2,w^39,w^46,w^9,w^37,w^20,w^2,w^27,w^31,w^41,w^34,w^44,w^25,w^43,w^27,w^4,w^44,w^10,0,0,0,0,0,0,w^38,w^2,w^13,w^42,w^7,5,w^6,w^27,w^28,w^34,w^41,w,w^14,w^22,w^47,0,0,0,0,0,0,6,
w^4,w^41,w^27,0,w^31,w^29,w^11,w^23,0,0,0,0,0,0,w^15,2,w^17,w^27,0,0,0,0,0,0,w^14,w^39,1,w^7,w^7,w^26,w^36,w^18,w,w^39];


ents:=[i:i in [1..#seqs]|f27[i] ne 0];

// Now the centralizer of L in GL(27,F).

R<a,b,c>:=PolynomialRing(F,3);
mats:=MatrixRing(R,NumberOfRows(l1));
scal:=mats!DiagonalMatrix([a,a,a,a,a,a,a,a,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,c,c,c]);

scal*mats!l1 eq mats!l1*scal and scal*mats!l2 eq mats!l2*scal;

function Matricise(v)
return Matrix(1,NumberOfColumns(v),[R!v[i]:i in [1..NumberOfColumns(v)]]);
end function;

V:=GModule(L);
g:=mats!h1;

intseqs1:=[seqs[i]:i in ents];
intseqs:=&join{{[i[1],i[2],i[3]],[i[1],i[3],i[2]],[i[2],i[1],i[3]],[i[2],i[3],i[1]],[i[3],i[1],i[2]],[i[3],i[2],i[1]]}:i in intseqs1};

function ProdRel(seq)

u:=V.seq[1]; v:=V.seq[2]; w:=V.seq[3];
u1:=Matricise(u)*scal; v1:=Matricise(v)*scal; w1:=Matricise(w)*scal;
u2:=Matricise(u)*g*scal; v2:=Matricise(v)*g*scal; w2:=Matricise(w)*g*scal;
e1:=&+[u1[1,i[1]]*v1[1,i[2]]*w1[1,i[3]]*f27[Position(seqs,Sort([i[1],i[2],i[3]]))]:i in intseqs];
e2:=&+[u2[1,i[1]]*v2[1,i[2]]*w2[1,i[3]]*f27[Position(seqs,Sort([i[1],i[2],i[3]]))]:i in intseqs];

return e1-e2;
end function;

function CheckDetermination()

w0:=ProdRel([1,1,25])/w^22-ProdRel([1,6,11])/5;
w0 eq 4*a^3 + w^42*a^2*b + w^19*b^3 + w^26*b^2*c;

w1:=ProdRel([1,1,3])/w^43-ProdRel([1,1,11])/w^12;
w1 eq w^22*a*(a^2 + w^10*a*c + w^22*b^2);

w2:=(ProdRel([1,2,10])/w-ProdRel([1,5,6])/w^10)/w^39 - w0/w^26-w1/4*w^45;
w2 eq w^19*(a-b)*(a^2 + w^30*a*b + w^22*b^2);

// Thus either a=b or a^2 + w^30*a*b + w^22*b^2=0. Assume the latter and obtain a contradiction:

R!(w1/w^22/a)-R!(w2/w^19/(a-b)) eq w^6*a*(b-w^28*c);
badcoeffs1:=[a,w^28*c,c];

Evaluate(w0,badcoeffs1) eq 4*(a-6*c)*(a-w^10*c)*(a-w^19*c);

// We obtain three possiblities for a in terms of c:

for i in [6,w^10,w^19] do
  badcoeffs2:=[i*c,w^28*c,c];
  Factorization(Evaluate(w1,badcoeffs2)) eq [<c,3>];
end for;
// Since c ne 0, we obtain a contradiction in all cases.

// Thus we must have that a=b
coeffs1:=[a,a,c];
Evaluate(w0,coeffs1) eq w^2*a^2*(a-c);

// Thus a=b=c, as needed.

return "";
end function;




// We now give code that can prove that the trilinear form we gave is the correct one. Choose g in E6 one of l1,
// l2, then a random element of J, and use G-invariance to obtain linear relations.

function CheckE6Form()

mat:=[];
for h in [l1,l2] do
  for nn in [1..#seqs] do aa:=seqs[nn,1]; bb:=seqs[nn,2]; cc:=seqs[nn,3];
    val:=[F!0:i in [1..#seqs]];
    for i in [1..NumberOfRows(l1)] do if(h[aa,i] ne 0) then for j in [1..NumberOfRows(l1)] do if(h[bb,j] ne 0) then for k in [1..NumberOfRows(l1)] do if(h[cc,k] ne 0) then
      val[Position(seqs,Sort([i,j,k]))]+:=h[aa,i]*h[bb,j]*h[cc,k];
    end if; end for; end if; end for; end if; end for;
    val[nn]-:=1; Append(~mat,val); delete val;
  end for;
end for;

repeat
  h:=Random(J); 
  for ni in [1..8] do nn:=Random([1..#seqs]); aa:=seqs[nn,1]; bb:=seqs[nn,2]; cc:=seqs[nn,3];
    val:=[F!0:i in [1..#seqs]];
    for i in [1..NumberOfRows(l1)] do if(h[aa,i] ne 0) then for j in [1..NumberOfRows(l1)] do if(h[bb,j] ne 0) then for k in [1..NumberOfRows(l1)] do if(h[cc,k] ne 0) then
      val[Position(seqs,Sort([i,j,k]))]+:=h[aa,i]*h[bb,j]*h[cc,k];
    end if; end for; end if; end for; end if; end for;
    val[nn]-:=1; Append(~mat,val); delete val;
  end for;
  dd:=Dimension(Nullspace(Transpose(Matrix(F,mat))));
until dd eq 1;

ftest:=Nullspace(Transpose(Matrix(F,mat))).1;
return &and[ftest[i] eq f27[i]:i in [1..#seqs]];
end function;

"The function CheckE6Form() checks that the trilinear form f27 from E6 is correct";
"The function CheckDetermination() checks that the determination of the possible conjugates into E6 is correct.";
