//Standard generators of L2(31) are a and b where a has order 2, b has order 3
//and ab has order 31.
//Standard generators of the double cover 2.L2(31) = SL2(31) are preimages A and
//B where B has order 3 and AB has order 31.
_LR := rec < recformat< F: GrpFP, AI: SeqEnum, G: GrpMat > |
      F := FreeGroup(2) >;
_LR`AI := [ [a^-1, b^-1] ]
             where a is (_LR`F).1 where b is (_LR`F).2;
//two constituents interchanged by _LR`AI[1][1]
_LR`G := sub<GL(30,Integers()) |
\[0,1,0,0,1,0,0,0,0,-1,0,0,-1,0,-1,0,0,0,0,0,0,1,-1,0,0,0,-1,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,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,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,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,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,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,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,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,1,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,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,1,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,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,
1,0,0,0,0,-1,0,0,1,-1,0,-1,0,0,0,-1,0,1,1,0,-1,1,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,1,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,1,0,0,0,0,0,1,0,0,0,0,0,0,0,
0,1,1,0,1,1,0,-1,0,-1,-1,0,0,-1,-1,0,0,0,0,-1,0,0,0,0,-1,0,-1,0,0,0,
0,0,0,0,0,1,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,
1,-1,0,0,0,-1,0,0,1,0,0,-1,0,1,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,
0,0,1,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
0,-1,0,0,0,-1,0,1,1,1,1,-1,1,1,1,0,-1,1,0,0,-1,0,0,-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,1,0,0,0,0,0,
-1,0,1,1,0,2,1,0,0,0,0,0,1,-1,0,0,0,0,0,0,1,-1,1,0,0,-1,0,0,0,0,
0,0,0,0,0,-1,0,0,1,-1,0,0,0,-1,1,0,0,0,0,0,-1,0,0,0,-1,0,0,0,0,0,
0,-1,-1,0,-1,-2,0,1,1,1,0,1,1,1,1,0,0,-1,-1,1,0,0,1,0,1,1,1,0,1,0,
1,0,-2,-1,-1,-3,-1,1,1,0,0,1,0,1,0,0,0,-1,-1,1,-1,1,0,0,0,1,0,1,0,0,
-1,-1,-1,0,-1,1,0,0,0,2,0,1,0,1,1,0,0,-1,-1,0,1,-1,0,0,0,0,1,0,0,-1],

\[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,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,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,1,0,0,1,0,0,0,0,-1,0,0,-1,0,-1,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,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,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,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,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,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,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,
-1,0,0,0,0,0,0,1,0,1,1,0,1,0,0,0,-1,0,-1,0,-1,0,0,-1,1,0,0,0,0,0,
0,0,0,0,-1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,-1,1,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,0,0,0,0,
-1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,-1,-1,0,0,0,0,1,0,
1,1,-1,-1,0,-1,0,-1,0,-1,-1,0,-1,0,-1,0,0,0,0,0,0,0,0,1,-1,0,0,1,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,0,0,1,0,0,0,0,
0,0,-1,0,1,-1,0,0,-1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,
0,0,-1,0,-1,0,0,1,0,1,0,1,1,0,0,0,1,-1,-1,0,0,0,1,0,0,1,0,0,0,0,
-1,-1,0,0,-2,0,0,1,0,2,1,1,2,1,1,0,0,-1,-1,0,0,-1,1,0,1,1,1,0,0,-1,
0,0,0,0,1,1,0,0,-1,1,1,0,0,0,0,1,-1,0,0,0,0,0,-1,-1,1,0,0,0,0,0,
0,-1,1,1,0,1,0,0,-1,0,0,0,0,0,0,1,0,0,1,0,1,-1,0,0,0,0,0,0,0,0,
0,1,0,0,2,0,0,0,0,-2,0,-1,-2,-1,0,0,-1,1,0,0,-1,2,-2,-1,0,-1,-1,-1,0,0,
1,1,-1,-1,1,-2,0,-1,0,-2,-1,0,-2,0,-1,0,0,0,0,1,0,1,-1,1,-1,0,0,0,0,1,
0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,0,-1,0,0,
1,0,-1,0,1,0,-1,0,0,0,0,0,-1,0,-1,0,0,0,0,0,0,1,-1,0,0,0,0,0,0,0,
1,1,-2,-1,1,-1,0,0,-1,0,0,1,-1,0,-1,1,0,-1,0,1,0,1,-1,0,0,1,0,0,0,1,
1,0,1,0,1,0,0,-1,-1,-2,0,-1,-2,-1,0,1,-1,1,1,0,0,0,-1,0,-1,-1,0,0,0,1,
2,0,1,-1,0,1,0,-2,0,-1,0,-1,0,0,0,0,0,1,1,-1,0,-1,0,1,-1,-1,0,1,-1,0]>;



return _LR;
