//Standard generators of U4(2) = S4(3) are a, b where a is in class 2A,
//b has order 5 and ab has order 9.
//Standard generators of 2.U4(2) = Sp4(3) are preimages A,
//B where B has order 5 and AB has order 9.
_LR := rec < recformat< F: GrpFP, AI: SeqEnum, G: GrpMat > |
      F := FreeGroup(2) >;
_LR`AI := [ [a, b^-1] ] where a is (_LR`F).1 where b is (_LR`F).2;

//two constituents, interchanged by _LR`AI[1]
_LR`G := sub<GL(40,Integers()) |
\[ -1,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,
0,0,0,0,-1,1,0,-1,-1,0,0,0,0,1,0,0,1,1,-1,0,1,0,0,0,
0,-1,0,0,0,1,-1,-1,0,1,0,0,0,1,-1,-1,0,0,0,1,-1,1,0,
0,0,1,0,0,0,0,0,1,0,-1,1,0,-2,0,0,0,0,1,0,0,0,0,1,0,
0,0,0,0,0,0,0,1,0,0,0,-1,1,0,0,0,0,0,-1,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,0,0,0,0,
0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,-1,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,0,0,
-1,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,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,-1,0,-1,0,
0,0,0,1,0,1,0,-1,2,0,0,-1,0,0,0,0,1,-1,0,0,0,-2,1,0,
-1,0,0,0,-1,0,1,0,1,-1,0,1,-1,0,2,0,0,0,0,-1,0,0,0,0,
-1,0,0,0,0,0,0,0,0,-1,0,0,0,1,-1,0,0,-1,0,0,0,0,0,0,
0,-1,0,0,0,0,2,0,0,0,0,-2,0,-1,-1,1,-3,0,0,1,0,0,0,1,
-1,0,1,0,1,3,-2,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
0,0,0,-1,0,-1,0,1,-2,0,0,1,0,0,0,1,-2,0,0,0,0,2,-2,1,
0,0,0,0,0,0,0,0,0,0,0,0,1,0,-1,1,0,0,0,0,0,0,1,-1,1,
0,0,0,0,0,0,-1,0,1,0,0,0,-1,1,0,0,0,0,0,0,0,0,0,0,0,
0,1,0,0,-1,1,0,0,0,0,0,1,2,-2,3,0,0,-1,0,-1,1,-1,0,
-1,-1,0,-1,-3,1,1,0,0,0,0,0,0,0,0,0,0,0,-1,1,0,-1,0,
0,0,0,0,1,0,1,-1,1,0,0,0,0,-1,1,0,0,0,0,0,0,-1,1,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,-1,1,-1,
1,0,0,0,1,-1,1,1,0,0,0,0,0,-1,0,1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-1,0,0,0,0,0,-1,-1,1,-1,0,0,1,0,0,0,1,0,
0,1,0,1,1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,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,
1,0,0,0,0,0,1,0,-1,0,0,-1,-1,0,0,0,1,-1,0,-1,2,-1,0,
0,1,-1,1,-1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,0,0,0,1,0,0,0,0,0,1,1,-1,1,0,0,-1,0,0,0,-1,0,0,-1,
0,-1,-1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,-2,0,0,0,0,
1,0,0,1,-1,2,0,0,0,0,-1,1,0,1,0,0,0,0,-2,2,0,0,0,0,
0,0,0,0,0,0,0,0,-1,1,1,-1,0,0,0,0,0,0,-1,-1,1,-1,0,0,
1,0,1,-1,0,0,2,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-1,0,1,0,0,0,1,0,0,0,-1,1,-1,0,0,1,0,0,0,1,-1,-1,0,0,
1,1,-1,0,0,-1,0,0,0,0,0,0,0,0,1,0,0,0,-1,0,0,0,0,1,
0,0,-1,1,0,0,0,0,0,0,0,1,-1,0,0,0,1,0,0,0,0,0,0,0,0,
0,0,-1,0,0,0,-1,1,0,-1,0,0,0,0,1,0,0,-1,1,0,0,0,0,0,
1,-1,0,0,1,1,0,1,0,0,0,0,0,0,1,0,0,0,-1,0,0,0,-1,1,
-1,-1,0,0,-1,-1,1,0,0,0,0,1,0,0,-1,1,0,0,0,0,0,0,-1,
0,-1,0,0,0,0,0,0,0,0,0,-1,0,0,0,-1,0,0,0,0,0,0,1,1,
0,0,-2,1,-1,1,0,0,0,1,-1,1,0,0,1,0,1,1,-1,-1,0,1,0,1,
0,0,0,-1,0,0,0,-1,0,-1,0,0,0,-1,0,1,1,0,1,-2,2,1,-1,
-1,1,-1,0,0,1,-1,0,-1,-2,-1,1,-1,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,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,1,0,0,0,0,0,-1,0,0,-1,-1,0,0,1,0,0,0,1,
0,0,2,-1,1,0,0,0,0,-1,1,-1,-1,1,0,1,0,0,0,1,-2,0,-1,
0,0,0,0,0,1,0,0,1,0,0,1,-1,0,0,0,0,0,-1,0,-1,1,0,0,
0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-1,1,1,-1,0,0,0,0,0,-1,-1,-1,1,-1,0,0,1,0,1,0,0,0,2,
1,0,1,1,0,0,0,-1,0,0,0,0,0,1,0,0,1,1,-1,0,0,0,0,0,0,
0,0,-1,1,-1,1,0,0,0,1,-1,1,1,-1,-1,-1,0,0,-1,-1,2,0,
-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,1,-1,
0,0,1,0,0,0,1,-1,0,0,0,1,1,-1,1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,-2,0,0,-1,0,0,1,1,0,0,1,-1,1,
0,0,1,1,-1,1,0,1,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,0,0,0,1,0,1,0,0,0,1,-1,0,1,0,0,
0,0,0,-1,0,0,-1,-1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,-1,
0,0,0,-1,1,0,1,-1,0,-1,1,-1,0,-1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,-1,1,-1,0,0,0,0,0,0,1,-1,0,0,0,
1,1,-1,0,0,0,0,1,0,0,0,-1,0,0,0,-1,0,-1,0,0,0,-1,0,1,
0,1,-1,1,0,0,0,-1,0,0,0,0,0,-1,0,-1,0,0,0,-1,0,0,0,0,
0,0,0,0,0,0,0,0,-1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,-1,0,
0,0,0,1,-1,0,0,-1,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,-1,
0,1,0,0,0,1,0,0,0,-1,1,-1,0,0,0,0,0,0,1,0,-1,0,0,0,
1,-1,0 ],
\[ 0,0,-1,0,0,0,0,0,0,0,1,1,-1,-1,0,0,0,0,0,1,1,0,2,
-3,2,1,-1,-1,1,-1,0,1,0,-1,-1,0,-2,-1,0,0,-1,0,1,0,-1,
-1,0,1,1,1,-1,0,0,1,1,-1,1,1,0,-1,-1,0,-1,2,-1,-1,1,0,
0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,-1,0,0,0,1,0,0,-1,1,0,
1,1,0,0,1,0,-2,-1,1,0,1,-1,-1,1,0,-1,0,1,-1,0,0,0,1,
1,0,0,0,0,1,1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,
1,0,0,0,0,1,0,-1,0,0,-1,1,0,0,1,1,-1,1,-1,0,0,0,0,0,
0,0,0,0,0,1,0,0,0,-2,0,0,0,0,2,0,1,0,-1,2,1,0,-1,0,
0,0,0,0,0,-1,0,0,-2,1,-1,0,0,-1,0,0,0,0,1,0,0,0,1,0,
0,0,0,0,0,-1,-1,0,0,0,1,-1,-1,0,1,0,0,0,1,0,0,1,0,1,
1,0,0,0,0,0,1,0,0,0,-1,0,0,1,-1,0,-1,-1,0,0,-1,0,2,0,
0,1,-2,2,1,-1,-1,1,0,0,0,0,0,-1,0,-2,-1,0,0,-1,0,0,1,
0,0,1,-1,0,0,1,-1,0,-1,-1,-1,1,-1,0,2,0,-1,-1,1,0,0,0,
0,1,0,0,1,-1,0,0,-1,1,0,-1,1,0,-1,-2,0,0,0,0,1,0,0,2,
1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,1,0,0,2,-1,-1,0,
-1,-1,1,-1,0,0,0,-1,0,0,0,0,1,0,0,1,1,-1,0,0,0,0,0,0,
0,0,1,1,-1,1,0,-1,0,0,0,0,0,1,-1,0,0,-2,0,1,-1,0,0,1,
0,0,-1,-1,1,1,0,-1,0,0,1,1,0,0,1,0,-2,-1,1,0,1,-1,-1,
1,0,-1,0,1,-1,1,0,0,1,0,0,1,-1,0,1,1,-1,0,0,0,0,0,0,
-1,0,0,1,0,0,0,1,1,0,0,1,0,-1,1,1,1,-1,-1,0,0,-1,1,0,
0,1,1,-2,1,-1,0,0,2,0,0,0,0,0,0,0,-1,-1,1,1,0,0,0,0,
0,-1,-1,0,-1,1,-1,0,1,0,-1,0,1,-1,0,1,0,1,1,0,0,0,0,
0,1,-1,-1,0,0,1,1,0,-1,1,0,1,1,0,0,1,0,-1,0,1,0,0,0,
0,1,0,-1,0,0,-1,1,0,0,1,1,-1,1,-1,0,0,1,1,0,0,0,0,0,
0,0,-1,1,0,-2,0,0,-1,-1,1,0,0,0,0,1,0,0,0,0,0,0,-1,1,
1,0,0,0,-1,1,0,0,-1,0,1,0,0,0,1,0,0,1,0,0,0,-1,0,0,
-1,-1,0,-1,0,-1,2,-1,-1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,
0,-1,-1,0,0,0,0,1,0,0,1,1,0,0,-1,0,0,0,-1,0,0,0,0,0,
0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,1,0,-1,-1,0,0,
0,-1,-1,1,0,0,0,0,0,-1,-1,-1,0,-1,2,-2,-1,1,1,-1,1,0,
-1,0,2,0,1,1,1,0,0,0,1,0,-1,1,1,0,-1,-1,0,0,0,0,-1,0,
0,0,0,1,1,1,0,1,-2,1,1,0,-1,0,-1,0,0,0,-1,0,0,0,-1,0,
0,0,0,1,1,0,0,0,-1,0,0,0,-2,1,0,-2,0,0,-1,0,2,0,0,-1,
0,1,1,0,0,0,1,-1,-1,0,2,0,0,1,-1,0,0,0,1,0,-1,0,0,0,
0,0,0,0,1,-1,0,0,0,0,1,1,1,0,1,0,-1,2,0,1,-1,0,0,0,
0,1,-1,0,0,1,-2,1,-1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,
0,0,0,0,-1,-1,1,0,1,-1,-1,0,1,-1,1,0,-1,0,1,0,1,0,1,
0,0,0,0,0,0,0,0,0,1,0,0,0,1,-1,0,1,0,0,0,0,-1,0,2,0,
0,0,-1,0,0,-1,0,0,-1,1,-1,0,1,0,-1,1,-1,0,0,0,-1,0,0,
0,1,0,0,0,2,-1,0,1,0,0,1,0,-1,0,1,0,0,0,-1,1,0,-1,0,
0,0,1,-1,0,1,1,-1,1,-1,0,0,0,0,0,0,0,0,0,0,0,1,0,-1,
0,0,0,0,-1,0,1,-1,1,-1,0,0,0,0,0,-1,0,1,0,-1,0,0,0,0,
0,0,0,0,-1,0,0,0,0,1,0,0,1,1,-1,0,0,0,0,0,0,0,0,1,0,
1,-1,-1,0,1,-1,1,-1,0,1,0,0,1,-1,1,1,-1,0,1,0,0,0,0,
0,-1,0,0,0,0,-1,-1,0,0,0,0,1,2,1,0,0,-1,0,1,0,0,0,0,
-1,1,0,-1,0,0,0,1,0,-1,0,1,1,-1,0,0,0,0,0,0,-1,0,0,1,
-1,1,0,1,1,0,0,1,0,-1,1,0,1,0,-1,1,0,-1,1,1,0,1,1,-1,
1,-1,0,0,0,-1,0,0,0,0,0,0,0,0,-1,0,1,0,0,1,1,0,0,0,
-1,1,-2,0,1,1,-1,1,-1,1,0,0,0,1,1,2,0,-2,0,0,0,1,0,0,
0,0,0,0,0,-1,0,0,0,-1,0,0,0,0,0,0,-1,1,-1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,-1,0,0,0,-1,0,0,
-1,0,0,0,1,2,0,1,0,-1,2,1,0,-1,0,1,-1,-1,1,1,0,0,0,
-2,1,-1,0,0,1,1,0,0,0,1,0,0,-1,0,1,1,0,0,0,0,-1,-2,
-1,1,0,1,-1,-1,0,0,-1,0,1,-2,0,1,0,1,0,0,0,1,0,0,0,0,
0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,-1,-1,1,-1,2,-1,-1,0,1,
-1,1,0,-1,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
0,-1,0,0,0,0,1,0,1,1,-1,2,0,0,-1,0,0,0,-1,1,0,0,0,0,
-2,1,0,0,1,0,0,0,0,0,-1,0,0,0,0,-1,-1,0,0,0,0,1,2,1,
1,1,-2,2,1,0,-1,0,0,-1,0,1,-1,0,0,-1,-1,1,-1,0,0,0,0,
0,0,0,-1,0,0,0,0,0,-1,0,0,0,0,0,1,1,-1,0,-1,0,1,0,0,
0,0,-1,1,0,0,0,0,0,1,0,-1,0,-1,-1,1,0,0,0,1,0,0,1,0,
0,0,0,0,0,-1,-1,-1,0,0,0,1,-1,-1,-1,1,0,0,0,0,0,0,0,
0,-1,1,0,0,0,-1,-1,1,0,0,0,0,0,0,1,0,0,-1,0,0,0,-1,
-1,0,0,-1,0,1,-2,0,-1,1,0,0,-1,1,-1,0,0,0,-1,2,-1,0,0,
-1,-1,2,0,0,0,0,0,0,1,-1,1,-1,-1,0,0,-1,-1,0,0,-1,0,1,
-2,0,-1,1,0,0,-1,0,0,1,0,0,-2,2,0,0,0,-1,-1,2,0,0,0,
1,0,1,1,-1,1,0,-1,-1,0,-1,-1,0,-1,-1,-1,3,-3,-1,-1,2,0,
1,-1,0,-1,2,0,0,-1,3,-1,1 ] >;

return _LR;
