//Standard generators of L2(41) are a and b where a has order 2, b has order 3
//and ab has order 41.
//Standard generators of the double cover 2.L2(37) = SL2(37) are preimages A and
//B where B has order 3 and AB has order 41.
_LR := rec < recformat< F: GrpFP, AI: SeqEnum, G: GrpMat > |
      F := FreeGroup(2) >;
_LR`AI:=[[a^-1,b*a*b*a*b*a*b*a*b^-1*a*b*a*b*a*b^-1*a*b^-1*a*b ]]
             where a is (_LR`F).1 where b is (_LR`F).2;
//irreducible, fixed by _LR`AI[1][1]
_LR`G := sub<GL(40,Integers()) |
\[ -1,0,1,0,1,0,-1,1,0,1,-1,-1,0,1,1,1,-1,1,-1,-1,-1,
-1,-1,-1,-1,1,-1,1,-1,1,1,1,1,0,-1,-1,0,0,1,0,4,-1,0,
-1,0,-2,-1,0,-2,-5,1,0,1,0,-1,0,2,-2,2,2,1,-1,1,0,0,0,
1,-2,2,1,-2,1,0,0,1,0,-2,0,1,-2,0,-1,0,0,1,1,-1,1,0,
-1,-1,0,-1,0,1,-1,-1,-1,0,1,1,0,0,0,0,0,0,0,1,1,-2,1,
0,1,1,0,-1,0,1,-1,1,0,1,-1,-1,0,-1,-1,-3,-1,2,1,3,2,
-3,1,1,-2,1,-1,-1,0,1,1,-1,-1,-1,-2,2,0,0,0,0,0,1,0,0,
-1,-2,-1,0,-1,1,-1,0,-1,0,0,0,0,2,-1,1,1,0,0,1,-1,0,0,
-1,0,1,1,0,0,0,0,0,0,0,0,0,-1,0,1,0,-1,-1,0,0,-1,1,1,
1,-1,-1,1,0,0,-1,0,0,0,0,0,-1,0,0,0,0,-1,0,0,-1,1,0,
1,-1,1,0,1,1,1,0,-1,0,0,1,0,-1,-2,0,0,1,-1,0,2,-1,0,
0,0,2,1,-1,1,-1,-2,0,-1,0,-1,1,0,-2,1,0,0,0,0,0,1,0,
1,0,0,-1,-1,0,0,1,0,0,0,1,0,-2,0,-1,-2,-1,0,0,0,-1,0,
0,1,1,0,0,0,0,0,0,-1,0,-1,0,1,-1,1,1,1,1,-1,-1,0,1,
-1,-1,-1,0,0,1,0,0,0,1,0,-1,-1,-2,-1,2,-2,-1,1,1,0,1,
1,0,1,0,-1,0,0,0,1,-1,1,0,1,1,0,-1,0,1,0,1,1,0,-1,-1,
-1,-1,-1,-1,-1,1,0,1,1,-2,1,1,0,0,0,-1,0,0,1,1,-1,0,
-1,0,0,0,-1,1,-1,0,0,0,0,-1,0,2,1,0,1,-1,-1,0,-1,1,-1,
0,0,-1,-1,0,0,1,1,0,2,0,-1,-1,-1,1,1,0,1,-1,0,1,-1,1,
-1,-1,-1,1,1,1,0,-2,1,0,1,0,1,1,-1,1,2,0,1,0,-1,1,-1,
-1,2,0,-2,0,1,0,1,0,-1,-1,0,-1,-1,2,0,0,0,0,0,1,0,-1,
1,0,-1,0,0,0,0,0,1,0,0,1,1,1,0,0,0,-1,-2,1,0,0,-1,1,
0,0,0,0,0,0,0,-1,1,0,0,0,1,0,-1,0,0,-2,0,2,-2,0,-1,1,
0,1,3,1,-1,-3,1,3,-2,-1,0,-1,0,0,1,-1,3,1,-1,-1,1,0,2,
-1,0,1,-1,0,1,1,0,0,1,0,1,0,1,-2,0,1,-2,0,1,1,1,0,0,
-1,-1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,-1,0,0,0,0,2,0,
-1,1,2,2,-1,2,-3,0,0,-3,0,-1,0,1,0,0,-2,0,0,0,1,1,-1,
0,1,1,1,0,1,0,0,-1,1,-2,0,1,0,-1,2,0,-1,1,-1,0,0,0,0,
0,1,0,-2,0,0,1,0,0,-1,-1,0,0,1,-1,1,1,0,1,-1,-1,0,-1,
1,0,0,0,-1,1,1,0,0,0,-1,0,-1,2,-1,1,0,1,-1,0,1,1,-1,
1,0,0,0,1,-2,1,-1,-1,-1,-1,0,0,1,0,0,1,-1,-1,1,-1,1,0,
-1,0,1,0,0,1,1,0,0,0,0,-1,-1,-1,1,-1,1,0,0,0,0,-1,0,
0,1,0,0,0,1,2,1,-1,0,-1,0,1,-1,0,1,0,1,0,0,0,0,0,2,
1,1,-1,-2,-1,-1,-2,0,-1,2,0,0,1,-1,0,1,-1,0,2,-2,0,1,
2,2,-1,1,0,0,0,-1,-1,1,-1,0,1,1,-1,-1,0,1,2,0,0,-1,0,
0,-1,0,0,-1,0,-3,0,2,-1,-1,0,0,1,1,0,-1,1,2,0,1,1,1,
1,-1,-1,0,0,0,0,1,1,1,1,2,1,0,0,0,1,-1,-1,0,-2,1,1,1,
0,1,0,0,0,1,-1,0,0,1,0,1,-1,-1,-2,1,0,0,1,0,-1,1,0,0,
0,0,-1,1,1,0,-1,0,0,-1,0,-1,-1,0,0,0,1,0,1,0,-1,-1,0,
0,0,0,1,1,0,1,0,1,0,-1,0,0,-1,0,1,0,0,0,0,1,0,0,1,0,
-1,-1,0,0,-1,0,1,1,0,-2,1,0,0,1,0,-1,-1,1,0,0,0,0,0,
-1,0,0,0,1,1,0,-1,0,0,0,0,0,1,-1,-1,1,1,0,1,-1,0,-1,
1,1,0,-1,2,0,0,-1,-1,0,1,0,-1,1,-1,0,-1,0,-2,0,-1,-1,
0,0,0,-1,0,-1,0,2,2,-2,1,1,1,-1,0,0,-3,-1,2,2,-1,-1,2,
0,1,0,-1,0,-1,1,-2,1,0,0,-2,0,-2,1,-1,0,0,0,-1,-1,1,0,
-1,-1,-1,0,0,0,-1,0,-1,1,1,0,-1,-1,-1,0,-2,0,1,1,0,1,
1,0,2,0,-1,0,0,-1,1,0,0,1,0,1,0,0,0,0,1,-1,-1,0,1,1,
-1,1,1,1,1,0,0,0,-1,1,0,-1,0,0,-1,1,-1,0,0,-1,1,0,1,
-1,0,1,1,0,0,-1,0,0,0,1,1,-2,0,-1,0,1,1,-1,0,0,0,0,0,
1,0,-1,0,-1,1,0,-2,0,1,1,1,0,-2,0,-1,0,-1,0,0,0,0,1,
1,-1,-1,-1,0,2,1,0,1,0,1,-1,-1,-2,-1,-1,1,3,0,-1,2,0,
0,1,-2,-1,0,1,-1,-1,0,0,-1,0,-2,2,1,-1,1,0,-1,0,-1,-1,
0,1,1,1,-1,0,0,0,-1,0,0,-1,-1,-2,0,1,0,1,2,-1,1,-1,2,
-1,0,1,-1,0,0,-1,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-2,0,
-1,0,0,0,0,0,-1,-1,0,0,0,1,0,-1,1,0,1,0,1,1,-1,1,0,0,
0,-1,-1,0,-1,0,1,-1,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,
0,1,0,-1,-1,0,0,-1,1,0,0,1,-1,0,0,-1,1,1,0,0,0,0,1,0,
0,0,0,0,1,2,0,0,-1,1,1,0,0,0,-2,0,-3,0,2,0,0,1,-1,2,
0,0,-2,-2,1,1,0,1,0,0,0,-1,-1,0,-1,-1,1,1,1,0,0,-1,-1,
1,-1,-1,2,0,0,-1,0,0,0,-1,-2,0,1,0,0,2,0,0,0,-1,-1,1,
1,0,-1,-1,1,-1,0,1,-1,-1,0,0,0,0,1,2,1,-1,-1,2,0,0,-1,
0,-1,0,-1,2,2,1,0,0,-2,1,-2,0,-1,-2,0,1,-1,0,1,0,0,0,
-1,0,-1,-1,1,0,0,-1,-1,0,-1,0,-1,1,1,0,1,1,0,-1,-2,0,
1,-1,0,0,0,1,0,1,0,0,1,0,1,1,0,0,-1,-1,-1,0,0,1,1,0,
0,1,0,-1,2,-2,-1,-1,0,0,2,2,1,-2,-3,1,2,-1,1,-1,-2,3,
-1,0,-1,1,1,1,0,2,-1,2,-2,0,1,-2,-1,1,1,0,1,0,0,-1,0,
0,0,0,1,2,0,-1,1,1,0,0,0,0,0,-1,0,1,0,0,0,-1,0,0,-1,
0,0,0,-1,1,0,0,0,0,0,0,0,-1,-2,-1,1,0,1,1,0,1,0,1,0,
0,0,0,1,-1,-1,0,-1,0,0,0,0,0,-1,0,0,1,0,0,0,1,0,0,0,
1,0,-1,0,-1 ],
\[ 1,1,-1,1,0,0,0,0,0,0,-1,1,0,-1,0,0,-1,0,1,-1,1,0,0,
0,0,0,0,0,0,0,0,0,0,1,0,-1,0,1,0,1,-2,1,1,-1,-2,-1,2,
0,0,1,2,0,-2,2,0,-1,0,0,-2,2,-2,0,0,2,1,0,0,1,0,1,0,
-2,1,0,-1,0,2,0,-1,1,0,0,0,-1,0,-1,0,1,-2,-1,1,0,1,1,
-1,0,1,-1,0,0,0,0,1,1,0,0,1,0,1,-1,0,0,-1,-1,0,2,0,
-1,-1,0,2,1,0,-1,-1,-1,0,-1,-3,-2,-1,1,0,1,-2,0,0,-1,0,
1,1,1,0,2,0,-1,1,-2,0,-1,-1,-1,0,0,1,0,0,-1,-1,0,0,1,
0,0,0,0,0,-1,-1,1,-2,0,0,-1,-1,1,-1,1,0,-1,0,1,-1,0,0,
-1,0,0,-1,-1,1,-1,0,1,0,-1,0,0,-1,1,0,2,-1,1,0,1,-1,0,
-2,0,-1,2,2,0,-1,0,-1,1,1,-3,1,0,0,0,-1,-1,-1,-1,1,-1,
1,1,-1,0,1,0,0,0,-1,0,2,3,-1,1,-1,1,-2,-2,-1,-1,-2,0,
1,0,-1,2,-1,2,1,-2,-1,0,-1,-1,1,-1,-1,-1,-1,-1,2,0,0,0,
0,-2,1,0,-1,1,1,1,0,0,-1,-1,2,1,-1,-1,1,2,-1,1,0,-1,0,
-1,0,2,0,0,1,1,1,0,1,0,1,0,-1,-1,0,1,0,0,1,0,0,0,0,
1,-1,0,0,0,1,0,1,1,0,0,-1,-1,1,0,0,1,0,0,0,1,0,0,2,
-1,1,1,0,-1,0,-1,-1,0,0,1,0,0,0,1,1,0,1,-1,-1,-1,1,0,
-1,0,0,1,0,1,0,0,-1,-2,0,1,0,0,0,1,0,0,0,-1,0,1,-1,0,
1,1,0,-1,0,0,0,0,-3,-1,1,0,1,-1,0,2,0,1,1,0,0,1,0,-1,
0,0,-1,-1,0,-1,0,1,-2,1,-1,1,0,2,0,1,1,0,0,0,0,1,0,0,
0,-2,-1,0,1,0,0,1,0,0,0,0,1,-1,0,0,0,-1,1,-1,2,0,0,
-1,-1,0,0,-1,1,0,-1,1,-1,0,1,1,-2,0,1,-1,0,2,-1,1,0,2,
0,-1,0,0,-1,1,0,-1,0,0,0,2,0,-1,0,1,0,-1,1,-1,0,0,0,
-2,1,-1,-1,0,0,0,1,0,-1,0,1,1,-1,0,1,1,-1,0,0,1,-2,1,
1,-2,0,1,0,1,0,-2,1,1,-1,-1,0,-1,0,0,-1,-2,0,1,-1,-1,
0,1,-1,0,0,0,-1,0,0,0,1,2,0,0,1,0,0,1,-1,0,1,-1,0,1,
-1,0,0,1,0,0,0,-1,-1,-1,0,0,-1,0,0,0,1,0,0,0,0,-1,-1,
0,0,0,0,1,0,-1,0,1,-1,-1,0,1,0,0,0,1,-1,-1,0,1,-1,0,
-1,0,-1,-1,0,0,1,0,-1,0,1,-1,0,0,-1,0,1,0,0,-1,0,0,0,
0,0,-1,1,1,0,0,1,-1,0,-1,0,1,1,0,1,1,1,-1,1,-1,1,0,
-2,0,0,-1,1,2,-1,-1,1,-1,1,0,-1,1,0,1,0,0,0,0,-1,0,1,
0,0,1,0,0,1,-2,0,0,0,-2,-1,1,-1,-1,0,0,1,1,-1,1,0,-2,
0,1,0,0,-1,1,0,0,0,1,1,1,-2,1,-1,1,0,1,-1,1,0,1,-1,
-1,-1,1,-1,-1,-1,0,-1,0,0,-1,1,0,-1,1,0,-1,1,0,-1,0,0,
1,0,-1,0,1,1,-1,-1,1,-2,0,-1,0,0,0,0,1,-1,0,0,2,-1,0,
0,-1,0,-1,0,-1,0,-1,-1,1,0,-1,0,0,-1,0,-1,0,1,-1,0,0,
0,0,1,2,1,0,0,0,1,-1,1,0,-1,0,0,0,0,1,0,0,0,1,0,0,0,
0,0,-2,0,2,0,0,0,0,-2,-1,-1,1,0,0,1,1,0,0,0,0,-1,0,
-1,-1,0,0,-1,1,1,0,0,0,-1,1,1,1,0,-1,0,-1,-1,0,0,1,0,
0,0,0,1,0,1,-1,-1,0,1,-1,1,0,1,-1,-1,1,1,0,1,-1,-1,2,
-1,0,0,0,1,1,0,0,0,0,0,-1,0,-1,-1,0,1,0,0,0,1,1,0,0,
-1,1,1,-1,-2,0,0,2,1,0,0,-1,0,0,1,-1,1,1,0,0,-1,-1,-1,
-2,2,0,0,1,-1,1,1,-1,0,0,-1,-1,2,-2,1,-1,-1,-1,-1,0,-2,
-1,1,0,3,0,-1,0,1,-3,2,1,1,-2,1,-1,-2,1,1,-1,2,1,-1,2,
0,0,0,1,-2,-1,1,-2,-2,-3,0,0,-1,0,1,2,-1,0,2,0,1,2,0,
-1,-1,-3,1,0,0,-2,1,-1,-3,2,-1,-1,2,3,-1,2,0,2,0,-1,-1,
0,1,-1,0,1,-1,1,1,0,-1,1,0,-1,-1,1,0,0,-1,1,-1,1,0,-1,
0,0,0,0,1,-1,0,0,-1,-1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,
0,1,-1,-1,1,1,0,0,0,-1,0,0,1,2,0,-1,0,0,-1,-1,0,0,-1,
1,0,0,1,0,0,-1,0,0,1,1,0,0,3,1,-1,1,0,-1,0,-1,0,-2,
-2,0,-1,-1,0,1,-1,0,1,1,1,0,0,0,2,0,2,0,-1,-1,0,-1,0,
1,0,-1,0,0,1,1,0,0,-1,1,-1,0,0,-1,-1,0,0,0,1,0,-2,0,
0,0,1,-1,1,0,0,0,-1,0,0,-1,1,-1,1,-1,-1,0,1,0,0,0,-1,
0,1,-1,0,0,0,-1,0,0,0,0,0,1,1,-2,0,-1,0,-1,1,1,2,-1,
0,0,-1,0,1,0,1,0,-1,1,0,0,0,1,-2,0,1,-1,1,0,0,-1,0,0,
-1,-1,1,0,-1,-2,-1,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,0,1,
-1,0,0,0,0,0,-1,0,1,0,1,1,-1,1,0,0,-1,0,1,-1,-1,1,0,
0,0,1,-2,0,0,0,0,-1,0,0,1,0,0,0,-2,0,0,0,1,0,0,-1,0,
0,1,1,-2,-3,1,-1,1,0,0,1,2,2,2,-1,1,-1,2,-2,1,-1,0,0,
1,-1,1,0,-2,1,0,1,1,2,-1,2,0,-1,0,2,-2,0,1,-1,0,0,0,
0,0,0,-1,0,1,-1,0,-1,-1,1,1,0,-1,0,0,1,-1,-1,0,0,1,0,
0,0,0,2,-1,0,1,1,0,-1,0,0,1,0,-1,-2,-1,0,1,1,-1,0,1,
1,-1,-2,1,-1,0,0,0,0,0,-1,1,0,0,-1,-2,1,0,0,0,0,0,1,
-1,0,0,0,-2,0,0,0,-1,0,0,1,1,1,0,-1,3,1,-1,-2,-2,-1,1,
0,0,2,-1,1,-1,1,0,0,2,0,1,2,-2,-1,1,-2,0,0,0,0,1,0,0,
1,-1,0,0,-1,2,2,-1,0,0,1,-2,-1,0,-1,0,0,1,2,-1,-1,0,2,
-1,-1,-1,-1,-1,0,0,-1,0,1,-1,0,0,0,-1,0,-1,-1,0,0,0,1,
0,-1,0,0,0,-1,0,0,1,-1,0,0,0,0,0,0,1,-1,0,0,0,1,1,1,
0,-1,1,0,0,-1,-1,1,0,0,0,0,1,1,-2,0,2,0,-1,1,0,-2,-2,
-1,-1,0,1,1,-1,0,0,-1,1,0,1,0,2,0,2,0,0,-1,-1,-1,-1,0,
0,1,-1,0,1,1 ] >;

return _LR;
