print "The triple cover of the sporadic simple group Fischer(22),";
print "  represented as a matrix group of degree 27 over GF(4).";
print "Field: F; Primitive element: w; Group: G";
print "Generators: x (of order 2), y (of order 13)";
print "Order: 193685254963200 = 2^17 * 3^10 * 5^2 * 7 * 11 * 13.";

/*
3"Fi22 as 27 x 27 matrices over GF(4).
*/

F<w>:=FiniteField(4);

x:=CambridgeMatrix(1,F,27,[
"100000000000000000000000000",
"010000000000000000000000000",
"001000000000000000000000000",
"000000000000010000000000000",
"000000000000001000000000000",
"000000000000000100000000000",
"000000100000000000000000000",
"000000000000000010000000000",
"000000000000000001000000000",
"000000000000000000100000000",
"000023002210002302200000000",
"000000000001000000000000000",
"000000000000100000000000000",
"000100000000000000000000000",
"000010000000000000000000000",
"000001000000000000000000000",
"000000010000000000000000000",
"000000001000000000000000000",
"000000000100000000000000000",
"000220021300022021310000000",
"000230000200023000201000000",
"000031021200003121200100000",
"000121001000012101000010000",
"000121030100012130100001000",
"000000000000000000000000100",
"000210030300021030300000010",
"000332023300033223300000001"]);

y:=CambridgeMatrix(1,F,27,[
"010000000000000000000000000",
"001000000000000000000000000",
"000100000000000000000000000",
"000010000000000000000000000",
"000001000000000000000000000",
"000000100000000000000000000",
"000000010000000000000000000",
"000000001000000000000000000",
"000000000100000000000000000",
"000000000010000000000000000",
"000000000001000000000000000",
"000000000000100000000000000",
"100000000000000000000000000",
"000000000000000000010000000",
"000000000000000000001000000",
"000000000000000000000100000",
"000000000000000000000010000",
"000000000000000000000001000",
"000000000000000000000000100",
"000000000000000000000000010",
"000000000000000000000000001",
"331200132311321103111012011",
"310103232030123212222013320",
"303020032320310330100322032",
"302133220131032120020131033",
"331120221021100130222220102",
"332133210202303121212023132"]);
 
G<x,y>:=MatrixGroup<27,F|x,y>;
