//Standard generators of U4(3) are a and b where a has order 2, b is in class
//6A, ab has order 7 and abababbababb has order 5.
//dfh - Standard generators of the cover 4.U4(3) are preimages A and B where B
//has order 6 (AB has order 28) and ABAB^2 has order 7 and AB^3 has order 5. 
_LR := rec < recformat< F: GrpFP, AI: SeqEnum, G: GrpMat > |
      F := FreeGroup(2) >;
_LR`AI := [
      //[ a*(a*b)^14, b^-2*a*b*a*b^-1*a*b^-1*a*b^-2*a*b^-1*a*b^-2*a*(a*b)^-7 ],
       //U43.2_1 - order 2 -  not same as in Online ATLAS.
      [ a*(a*b)^14, b^-2*a*b^2*a*b^-1*a*b*a*b^-1*a*b^-1*a*b^3*(a*b)^14 ],
       //U43.2_2  - order 2 - not same as in Online ATLAS.
       //   [ a, (b^-1*a)^4*b^-2*a*b^-2*a*b*a*b^-1*(a*b)^-7 ],
       //U43.(2_12_2) (not 2_3 !) - order 2
            [a,b^-1*a*b^-2*a*b^-1*a*b^-2*a*b*a*b^-2*a*b]]
       //U43.4  - order 4
                  where a is (_LR`F).1 where b is (_LR`F).2;
       //may need other auts later.
//two constituents fixed by _LR`AI[1], interchanged by AutIms[2].

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

return _LR;
