gap> DD:=[];;
gap> for x in D do
> if Length(x)>1 then
> Add(DD, List(x,y->BarycentricallySimplifiedComplex(y)));
> else Add(DD,x);
> fi;
> od;
gap> D:=[];;

gap> for x in DD do
> y:=Classify(x,inv3);
> Add(D,List(y,z->z[1]));
> od;

gap> List(D,Size);
[ 7, 1, 3, 3, 2, 1, 1, 1, 1, 1, 2, 1, 2, 2, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 2 ]

gap> DD:=List(D,x->List(x,y->PoincareCubeCWComplexNS(
> y!.cubeFacePairings[1],y!.cubeFacePairings[2],y!.cubeFacePairings[3])));;

gap> D1:=[];;
gap> for x in DD do
> if Length(x)>1 then
> Add(D1, List(x,y->BarycentricallySimplifiedComplex(RegularCWComplex(BarycentricSubdivision(y)))));
> else Add(D1,x);
> fi;
> od;

gap> DD:=[];;
gap> for x in D1 do
> y:=Classify(x,inv3);
> Add(DD,List(y,z->z[1]));
> od;;

gap> Print(List(DD,Size),"\n");
[ 6, 1, 3, 3, 2, 1, 1, 1, 1, 1, 2, 1, 2, 2, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 2 ]
