HAP_GCOMPLEX_SETUP:=[true];

HAP_GCOMPLEX_LIST:=

 [ 
   [ rec(
          TheMatrixStab := 
           Group([ [ [ 0, 0, 1, 0 ], [ 1, 0, 0, 0 ], [ -1, 0, -1, 1 ], 
                  [ -1, -1, 0, 0 ] ], 
              [ [ 0, 0, -1, 0 ], [ -1, 0, 0, 0 ], [ 1, 0, 1, -1 ], 
                  [ 1, 1, 0, 0 ] ] ]),
          TheRotSubgroup := 
           Group([ [ [ -1, 0, -1, 1 ], [ 0, 0, 1, 0 ], [ 0, -1, 0, -1 ], 
                  [ -1, 0, -1, 0 ] ], 
              [ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], 
                  [ 0, 0, 0, -1 ] ] ]),
          BoundaryImage := rec(
              ListIFace := [ 1 ],
              ListSign := [ 1 ],
              ListElt := 
               [ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 
                          0, 1 ] ] ] ) ), rec(
          TheMatrixStab := 
           Group([ [ [ 1, 1, -1, 0 ], [ -1, 0, 1, -1 ], [ 1, 1, 0, -1 ], 
                  [ 0, 1, 1, -1 ] ], 
              [ [ 1, 1, 0, -1 ], [ -1, 0, 1, 0 ], [ 0, 0, 1, -1 ], 
                  [ 0, 0, 1, 0 ] ], 
              [ [ 0, 0, 1, -1 ], [ 0, 0, -1, 0 ], [ 1, 1, 0, -1 ], 
                  [ 1, 0, -1, 0 ] ] ]),
          TheRotSubgroup := 
           Group([ [ [ -1, -1, 0, 0 ], [ 1, 0, 0, 0 ], [ 0, -1, -1, 1 ], 
                  [ 1, 0, -1, 0 ] ], 
              [ [ -1, -1, 0, 1 ], [ 0, 1, 1, -1 ], [ -1, -1, 1, 0 ], 
                  [ -1, 0, 1, -1 ] ] ]),
          BoundaryImage := rec(
              ListIFace := [ 1 ],
              ListSign := [ 1 ],
              ListElt := 
               [ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 
                          0, 1 ] ] ] ) ) ], [ rec(
          TheMatrixStab := 
           Group([ [ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], 
                  [ 0, 0, 0, -1 ] ] ]),
          TheRotSubgroup := 
           Group([ [ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], 
                  [ 0, 0, 0, -1 ] ] ]),
          BoundaryImage := rec(
              ListIFace := [ 1, 2 ],
              ListElt := 
               [ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 
                          0, 1 ] ], 
                  [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 1, 0, 1, 0 ], 
                      [ 0, 1, 0, 1 ] ] ],
              ListSign := [ 1, -1 ] ) ), rec(
          TheMatrixStab := 
           Group([ [ [ -1, -1, 1, 0 ], [ 0, 1, 0, -1 ], [ 0, 0, 1, -1 ], 
                  [ 0, 0, 0, -1 ] ], 
              [ [ 0, 0, -1, 1 ], [ 0, 0, 0, -1 ], [ 1, 1, -1, 0 ], 
                  [ 0, 1, 0, -1 ] ], 
              [ [ 0, 0, 1, -1 ], [ 0, 0, 0, 1 ], [ -1, -1, 1, 0 ], 
                  [ 0, -1, 0, 1 ] ] ]),
          TheRotSubgroup := 
           Group([ [ [ -1, -1, 0, 0 ], [ 0, 1, 0, 0 ], [ -1, 0, 1, -1 ], 
                  [ 0, 1, 0, -1 ] ], 
              [ [ -1, -1, 1, 0 ], [ 0, 1, 0, -1 ], [ 0, 0, 1, -1 ], 
                  [ 0, 0, 0, -1 ] ] ]),
          BoundaryImage := rec(
              ListIFace := [ 2, 2 ],
              ListElt := 
               [ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 
                          0, 1 ] ], 
                  [ [ 0, 0, 0, 1 ], [ 0, 1, 0, -1 ], [ 0, 0, 1, 0 ], 
                      [ -1, 0, 1, -1 ] ] ],
              ListSign := [ 1, -1 ] ) ) ], [ rec(
          TheMatrixStab := 
           Group([ [ [ 0, 1, 0, 0 ], [ 1, 0, 0, 0 ], [ 0, 0, 0, 1 ], 
                  [ 0, 0, 1, 0 ] ], 
              [ [ 0, 0, -1, 0 ], [ 1, 0, 0, 0 ], [ 0, 0, 0, 1 ], 
                  [ 0, 1, 1, 0 ] ] ]),
          TheRotSubgroup := 
           Group([ [ [ -1, 0, 0, 0 ], [ 0, -1, -1, 0 ], [ 0, 1, 0, 0 ], 
                  [ 0, 0, 0, -1 ] ], 
              [ [ 0, -1, -1, 0 ], [ -1, 0, 0, -1 ], [ 1, 0, 0, 0 ], 
                  [ 0, 1, 0, 0 ] ] ]),
          BoundaryImage := rec(
              ListIFace := [ 2, 2, 2, 2, 2, 2 ],
              ListElt := 
               [ [ [ 0, 1, 0, 0 ], [ 1, -1, 0, 1 ], [ 0, 0, 0, 1 ], 
                      [ 0, 0, 1, 1 ] ], 
                  [ [ 1, 0, 0, 0 ], [ -1, 1, 0, 0 ], [ 0, 1, 1, 0 ], 
                      [ 0, 1, 1, 1 ] ], 
                  [ [ 0, 0, -1, 0 ], [ 1, 0, 1, 0 ], [ 1, 0, 0, 1 ], 
                      [ 1, 1, 1, 1 ] ], 
                  [ [ 0, 0, 0, -1 ], [ 0, 0, -1, 1 ], [ 0, 1, 0, 0 ], 
                      [ 1, 1, 0, 1 ] ], 
                  [ [ 0, -1, -1, 0 ], [ 0, 1, 1, -1 ], [ 1, 0, 0, 0 ], 
                      [ 1, 1, 0, 0 ] ], 
                  [ [ -1, 0, 0, -1 ], [ 1, -1, -1, 1 ], [ 0, 0, -1, 0 ], 
                      [ 1, 0, -1, 0 ] ] ],
              ListSign := [ 1, 1, 1, 1, 1, 1 ] ) ), rec(
          TheMatrixStab := 
           Group([ [ [ -1, -1, 0, 0 ], [ 0, 1, 0, 0 ], [ 1, 0, 1, -1 ], 
                  [ 0, -1, 0, -1 ] ], 
              [ [ 1, 1, 0, 0 ], [ 0, -1, 0, 0 ], [ -1, 0, -1, 1 ], 
                  [ 0, 1, 0, 1 ] ] ]),
          TheRotSubgroup := 
           Group([ [ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], 
                  [ 0, 0, 0, -1 ] ] ]),
          BoundaryImage := rec(
              ListIFace := [ 1, 1, 1, 1 ],
              ListElt := 
               [ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 
                          0, 1 ] ], 
                  [ [ -1, -1, 0, 0 ], [ 0, 1, 0, 0 ], [ 1, 0, 1, -1 ], 
                      [ 0, -1, 0, -1 ] ], 
                  [ [ 0, 0, 0, 1 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ -1, 0, 0, 1 ] ], 
                  [ [ 0, -1, 0, -1 ], [ -1, 0, -1, 1 ], [ 0, 1, 0, 0 ], 
                      [ 1, 0, 0, -1 ] ] ],
              ListSign := [ 1, -1, 1, -1 ] ) ), rec(
          TheMatrixStab := 
           Group([ [ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], 
                  [ 0, 0, 0, -1 ] ] ]),
          TheRotSubgroup := 
           Group([ [ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], 
                  [ 0, 0, 0, -1 ] ] ]),
          BoundaryImage := rec(
              ListIFace := [ 1, 1, 2 ],
              ListElt := 
               [ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 
                          0, 1 ] ], 
                  [ [ 0, 1, 0, 0 ], [ 0, -1, 0, -1 ], [ 1, 0, 0, 0 ], 
                      [ 1, 1, 1, 0 ] ], 
                  [ [ 0, 0, 0, 1 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ -1, 0, 0, 0 ] ] ],
              ListSign := [ 1, -1, -1 ] ) ) ], [ rec(
          TheMatrixStab := 
           Group([ [ [ -1, 0, 0, -1 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                  [ 1, 0, 0, 0 ] ], 
              [ [ 0, 0, 0, -1 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                  [ 1, 0, 0, 1 ] ], 
              [ [ 1, 0, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                  [ 0, 0, 0, 1 ] ] ]),
          TheRotSubgroup := 
           Group([ [ [ -1, 0, 0, -1 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], 
                  [ 1, 0, 0, 0 ] ], 
              [ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], 
                  [ 0, 0, 0, -1 ] ] ]),
          BoundaryImage := rec(
              ListIFace := [ 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 
                  3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
              ListElt := 
               [ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 
                          0, 1 ] ], 
                  [ [ 1, 0, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ 0, 0, 0, 1 ] ], 
                  [ [ 0, 0, 0, 1 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ -1, 0, 0, 0 ] ], 
                  [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ 1, 0, 0, 1 ] ], 
                  [ [ 1, 0, 0, 1 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ 0, 0, 0, 1 ] ], 
                  [ [ 0, 0, 0, 1 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ -1, 0, 0, 0 ] ], 
                  [ [ -1, 0, 0, -1 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ 0, 0, 0, -1 ] ], 
                  [ [ 0, 0, 0, -1 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ 1, 0, 0, 0 ] ], 
                  [ [ 1, 0, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ 1, 0, 0, 1 ] ], 
                  [ [ 1, 0, 0, 1 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ 0, 0, 0, 1 ] ], 
                  [ [ -1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ -1, 0, 0, -1 ] ], 
                  [ [ -1, 0, 0, -1 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ 0, 0, 0, -1 ] ], 
                  [ [ 0, 0, 0, -1 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ 1, 0, 0, 0 ] ], 
                  [ [ -1, 0, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ -1, 0, 0, -1 ] ], 
                  [ [ 1, 0, -1, 1 ], [ 0, 1, 0, -1 ], [ 0, 0, 1, 0 ], 
                      [ 0, 0, 0, 1 ] ], 
                  [ [ 0, 0, -1, -1 ], [ -1, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ 1, 0, 0, 0 ] ], 
                  [ [ 1, 0, -1, 0 ], [ -1, 1, 0, -1 ], [ 0, 0, 1, 0 ], 
                      [ 1, 0, 0, 1 ] ], 
                  [ [ 1, -1, 0, 1 ], [ 0, 0, -1, -1 ], [ 0, 1, 0, 0 ], 
                      [ 0, 0, 0, 1 ] ], 
                  [ [ -1, 0, -1, 0 ], [ 1, 1, 0, 1 ], [ 0, 0, 1, 0 ], 
                      [ -1, 0, 0, -1 ] ], 
                  [ [ -1, 0, -1, -1 ], [ 0, 1, 0, 1 ], [ 0, 0, 1, 0 ], 
                      [ 0, 0, 0, -1 ] ], 
                  [ [ 0, -1, 0, -1 ], [ -1, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ 1, 0, 0, 0 ] ], 
                  [ [ 1, -1, 0, 0 ], [ -1, 0, -1, -1 ], [ 0, 1, 0, 0 ], 
                      [ 1, 0, 0, 1 ] ], 
                  [ [ 0, 0, -1, 1 ], [ 1, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ -1, 0, 0, 0 ] ], 
                  [ [ -1, -1, 0, 0 ], [ 1, 0, -1, 1 ], [ 0, 1, 0, 0 ], 
                      [ -1, 0, 0, -1 ] ], 
                  [ [ -1, -1, 0, -1 ], [ 0, 0, -1, 1 ], [ 0, 1, 0, 0 ], 
                      [ 0, 0, 0, -1 ] ], 
                  [ [ 0, -1, 0, 1 ], [ 1, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ -1, 0, 0, 0 ] ] ],
              ListSign := [ 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 
                  -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1 ] ) ), rec(
          TheMatrixStab := 
           Group([ [ [ 0, 1, 0, 0 ], [ 1, 0, 0, 0 ], [ 0, 0, 0, 1 ], 
                  [ 0, 0, 1, 0 ] ], 
              [ [ 0, -1, 0, -1 ], [ -1, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                  [ 1, 0, 0, 0 ] ], 
              [ [ 0, 0, 0, -1 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 1 ], 
                  [ 1, 0, 1, 0 ] ], 
              [ [ 0, 0, 0, -1 ], [ 0, 0, 1, 0 ], [ 0, -1, 0, 0 ], 
                  [ 1, 0, 0, 0 ] ] ]),
          TheRotSubgroup := 
           Group([ [ [ -1, 0, -1, 0 ], [ 0, -1, 0, -1 ], [ 1, 0, 0, 0 ], 
                  [ 0, 1, 0, 0 ] ], 
              [ [ 0, -1, 0, -1 ], [ 1, 0, 1, 0 ], [ 0, 0, 0, 1 ], 
                  [ 0, 0, -1, 0 ] ] ]),
          BoundaryImage := rec(
              ListIFace := [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 
                  3, 3, 3, 3, 3, 3, 3, 3 ],
              ListElt := 
               [ [ [ 0, 0, 0, 1 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ -1, 0, 
                          0, 1 ] ], 
                  [ [ 0, 0, 1, 0 ], [ 1, 0, 0, 0 ], [ 0, 0, 0, 1 ], 
                      [ 0, -1, 1, 0 ] ], 
                  [ [ 1, 0, 0, 0 ], [ -1, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ 1, 1, 0, 1 ] ], 
                  [ [ 1, 0, 1, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 1 ], 
                      [ 1, 0, 1, 1 ] ], 
                  [ [ 0, 1, 0, 0 ], [ 0, -1, 0, -1 ], [ 1, 0, 0, 0 ], 
                      [ 1, 1, 1, 0 ] ], 
                  [ [ 0, 1, 0, 1 ], [ 0, 0, 0, -1 ], [ 1, 0, 1, 0 ], 
                      [ 0, 1, 1, 1 ] ], 
                  [ [ 0, 1, 1, 0 ], [ 1, 0, 0, 0 ], [ 0, 0, 0, 1 ], 
                      [ 0, 0, 1, 0 ] ], 
                  [ [ 1, 0, 0, 1 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ 0, 0, 0, 1 ] ], 
                  [ [ -1, 1, -1, 0 ], [ 0, -1, 0, -1 ], [ 1, 0, 0, 0 ], 
                      [ 0, 1, 0, 0 ] ], 
                  [ [ 0, 1, -1, 1 ], [ 0, 0, 0, -1 ], [ 1, 0, 1, 0 ], 
                      [ 0, 1, 0, 1 ] ], 
                  [ [ 1, -1, 0, -1 ], [ -1, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ 1, 0, 0, 0 ] ], 
                  [ [ 1, 0, 1, -1 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 1 ], 
                      [ 1, 0, 1, 0 ] ], 
                  [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ 0, 0, 0, 1 ] ], 
                  [ [ 0, 1, 0, 0 ], [ 1, 0, 0, 0 ], [ 0, 0, 0, 1 ], 
                      [ 0, 0, 1, 0 ] ], 
                  [ [ 0, -1, 0, -1 ], [ -1, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ 1, 0, 0, 0 ] ], 
                  [ [ 0, 0, 0, -1 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 1 ], 
                      [ 1, 0, 1, 0 ] ], 
                  [ [ 0, 0, 0, -1 ], [ 0, 0, 1, 0 ], [ 0, -1, 0, 0 ], 
                      [ 1, 0, 0, 0 ] ], 
                  [ [ -1, 0, -1, 0 ], [ 0, -1, 0, -1 ], [ 1, 0, 0, 0 ], 
                      [ 0, 1, 0, 0 ] ], 
                  [ [ 0, 0, -1, 0 ], [ 0, 0, 0, -1 ], [ 1, 0, 1, 0 ], 
                      [ 0, 1, 0, 1 ] ], 
                  [ [ 0, 0, 1, 0 ], [ 0, 0, 0, -1 ], [ 1, 0, 0, 0 ], 
                      [ 0, -1, 0, 0 ] ], 
                  [ [ -1, 0, -1, 0 ], [ 0, 1, 0, 1 ], [ 0, 0, 1, 0 ], 
                      [ 0, 0, 0, -1 ] ], 
                  [ [ -1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 1, 0, 1, 0 ], 
                      [ 0, -1, 0, -1 ] ], 
                  [ [ 0, 1, 0, 1 ], [ -1, 0, -1, 0 ], [ 0, 0, 0, -1 ], 
                      [ 0, 0, 1, 0 ] ], 
                  [ [ 0, 1, 0, 0 ], [ -1, 0, 0, 0 ], [ 0, -1, 0, -1 ], 
                      [ 1, 0, 1, 0 ] ] ],
              ListSign := [ 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 
                  -1, -1, 1, 1, 1, -1, -1, -1, 1, 1 ] ) ), rec(
          TheMatrixStab := 
           Group([ [ [ -1, -1, 0, 0 ], [ 0, 1, 0, 0 ], [ 1, 0, 1, -1 ], 
                  [ 0, -1, 0, -1 ] ], 
              [ [ 1, 1, 0, 0 ], [ 0, -1, 0, 0 ], [ -1, 0, -1, 1 ], 
                  [ 0, 1, 0, 1 ] ] ]),
          TheRotSubgroup := 
           Group([ [ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], 
                  [ 0, 0, 0, -1 ] ] ]),
          BoundaryImage := rec(
              ListIFace := [ 2, 3, 3, 3, 3 ],
              ListElt := 
               [ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 
                          0, 1 ] ], 
                  [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ 0, 0, 0, 1 ] ], 
                  [ [ -1, -1, 0, 0 ], [ 0, 1, 0, 0 ], [ 1, 0, 1, -1 ], 
                      [ 0, -1, 0, -1 ] ], 
                  [ [ 0, 1, 0, 0 ], [ 0, 0, 0, 1 ], [ -1, -1, 0, 0 ], 
                      [ 0, 0, 1, -1 ] ], 
                  [ [ 0, 1, 0, 0 ], [ 0, -1, 0, -1 ], [ 1, 0, 0, 0 ], 
                      [ 1, 1, 1, 0 ] ] ],
              ListSign := [ 1, -1, 1, 1, -1 ] ) ) ], [ rec(
          TheMatrixStab := 
           Group([ [ [ 0, 1, 0, 0 ], [ 0, 0, 0, -1 ], [ 1, 0, 0, 0 ], 
                  [ 0, 0, 1, 0 ] ], 
              [ [ 0, 0, -1, 0 ], [ 0, 0, 0, -1 ], [ 1, 0, 0, 0 ], 
                  [ 0, 1, 0, 0 ] ] ]),
          TheRotSubgroup := 
           Group([ [ [ -1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                  [ 0, 0, 0, -1 ] ], 
              [ [ 0, -1, 0, 0 ], [ 0, 0, 0, -1 ], [ 1, 0, 0, 0 ], 
                  [ 0, 0, -1, 0 ] ] ]),
          BoundaryImage := rec(
              ListIFace := [ 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 
                  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 
                  3, 3, 3, 3, 3 ],
              ListElt := 
               [ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 
                          0, 1 ] ], 
                  [ [ 0, 1, 0, 0 ], [ 0, 0, 0, -1 ], [ 1, 0, 0, 0 ], 
                      [ 0, 0, 1, 0 ] ], 
                  [ [ 0, 0, -1, 0 ], [ 0, 0, 0, -1 ], [ 1, 0, 0, 0 ], 
                      [ 0, 1, 0, 0 ] ], 
                  [ [ 0, 0, 0, -1 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ 1, 0, 0, 0 ] ], 
                  [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ 0, 0, 0, 1 ] ], 
                  [ [ 0, 1, 0, 0 ], [ 0, 0, 0, -1 ], [ 1, 0, 0, 0 ], 
                      [ 0, 0, 1, 0 ] ], 
                  [ [ 0, 0, -1, 0 ], [ 0, 0, 0, -1 ], [ 1, 0, 0, 0 ], 
                      [ 0, 1, 0, 0 ] ], 
                  [ [ 0, 0, 0, -1 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], 
                      [ 1, 0, 0, 0 ] ], 
                  [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ 0, 0, 0, 1 ] ], 
                  [ [ 0, 1, 0, 0 ], [ 0, 0, 0, -1 ], [ 1, 0, 0, 0 ], 
                      [ 0, 0, 1, 0 ] ], 
                  [ [ 0, 0, -1, 0 ], [ 0, 0, 0, -1 ], [ 1, 0, 0, 0 ], 
                      [ 0, 1, 0, 0 ] ], 
                  [ [ 0, 0, 0, -1 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ 1, 0, 0, 0 ] ], 
                  [ [ 0, 0, 0, -1 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], 
                      [ 1, 0, 0, 0 ] ], 
                  [ [ -1, 0, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ 0, 0, 0, -1 ] ], 
                  [ [ 0, 0, -1, 0 ], [ -1, 0, 0, 0 ], [ 0, 0, 0, -1 ], 
                      [ 0, 1, 0, 0 ] ], 
                  [ [ 0, -1, 0, 0 ], [ -1, 0, 0, 0 ], [ 0, 0, 0, -1 ], 
                      [ 0, 0, -1, 0 ] ], 
                  [ [ 0, 0, -1, 0 ], [ 0, 0, 0, 1 ], [ -1, 0, 0, 0 ], 
                      [ 0, 1, 0, 0 ] ], 
                  [ [ 0, 0, 1, 0 ], [ -1, 0, 0, 0 ], [ 0, 0, 0, -1 ], 
                      [ 0, -1, 0, 0 ] ], 
                  [ [ -1, 0, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, -1, 0, 0 ], 
                      [ 0, 0, 0, -1 ] ], 
                  [ [ 0, 0, 0, 1 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], 
                      [ -1, 0, 0, 0 ] ], 
                  [ [ -1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ 0, 0, 0, -1 ] ], 
                  [ [ 0, -1, 0, 0 ], [ 1, 0, 0, 0 ], [ 0, 0, 0, 1 ], 
                      [ 0, 0, -1, 0 ] ], 
                  [ [ 0, 1, 0, 0 ], [ 0, 0, 0, 1 ], [ -1, 0, 0, 0 ], 
                      [ 0, 0, 1, 0 ] ], 
                  [ [ 0, 0, 0, 1 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ -1, 0, 0, 0 ] ], 
                  [ [ 0, 0, 1, 0 ], [ 1, 0, -1, 0 ], [ 0, 0, 0, 1 ], 
                      [ 0, -1, 1, 1 ] ], 
                  [ [ 1, 0, 0, 0 ], [ -1, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ 1, 0, 1, 1 ] ], 
                  [ [ 1, 0, 0, 0 ], [ -1, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ 1, 1, 0, 1 ] ], 
                  [ [ 0, 1, 0, 0 ], [ 0, -1, 0, -1 ], [ 1, 0, 0, 0 ], 
                      [ 1, 1, 1, 0 ] ], 
                  [ [ 0, 0, -1, 0 ], [ 0, 0, 1, -1 ], [ 1, 0, 0, 0 ], 
                      [ 1, 1, -1, 0 ] ], 
                  [ [ 0, 1, 0, 0 ], [ -1, -1, 0, 0 ], [ 0, 0, 0, -1 ], 
                      [ 0, 1, 1, -1 ] ], 
                  [ [ 0, 0, 0, -1 ], [ 0, -1, 0, 1 ], [ 0, 0, -1, 0 ], 
                      [ 1, 0, -1, -1 ] ], 
                  [ [ 0, 0, 0, -1 ], [ 0, 0, 1, 1 ], [ 0, -1, 0, 0 ], 
                      [ 1, -1, 0, -1 ] ], 
                  [ [ 0, 1, 1, -1 ], [ 1, 0, -1, 0 ], [ 0, 0, 0, 1 ], 
                      [ 0, 0, 1, 0 ] ], 
                  [ [ 1, 0, -1, -1 ], [ -1, 1, 0, 0 ], [ 0, 0, 1, 0 ], 
                      [ 1, 0, 0, 0 ] ], 
                  [ [ 1, -1, 0, -1 ], [ -1, 0, -1, 0 ], [ 0, 1, 0, 0 ], 
                      [ 1, 0, 0, 0 ] ], 
                  [ [ -1, 1, -1, 0 ], [ 0, -1, 0, -1 ], [ 1, 0, 0, 0 ], 
                      [ 0, 1, 0, 0 ] ], 
                  [ [ -1, -1, -1, 0 ], [ 0, 0, 1, -1 ], [ 1, 0, 0, 0 ], 
                      [ 0, 0, -1, 0 ] ], 
                  [ [ 0, 1, -1, 1 ], [ -1, -1, 0, 0 ], [ 0, 0, 0, -1 ], 
                      [ 0, 1, 0, 0 ] ], 
                  [ [ -1, 0, 1, -1 ], [ 0, -1, 0, 1 ], [ 0, 0, -1, 0 ], 
                      [ 0, 0, 0, -1 ] ], 
                  [ [ -1, 1, 0, -1 ], [ 0, 0, 1, 1 ], [ 0, -1, 0, 0 ], 
                      [ 0, 0, 0, -1 ] ] ],
              ListSign := [ 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 
                  1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 
                  -1, 1, 1, -1, 1, -1, -1, -1, 1 ] ) ) ], [  ], [  ], [  ], 
  [  ], [  ] ];
