python3 - <<'EOF' def det(A): n=len(A) A=[list(r) for r in A] for c in range(n): p=next((r for r in range(c,n) if A[r][c]),None) if p is None:return 0 A[c],A[p]=A[p],A[c] for r in range(c+1,n): if A[r][c]:A[r]=[x^y for x,y in zip(A[r],A[c])] return 1 M=[[1 if i==j else 0 for j in range(6)] for i in range(6)] v=[1]*6 p=0 x=1 one=[sum(M[i])%2 for i in range(6)] w=[x*v[i]^one[i] for i in range(6)] C=[[0]*8 for _ in range(8)] C[0][0]=C[1][1]=1 C[0][1]=C[1][0]=p for i in range(6): C[0][i+2]=C[i+2][0]=v[i] C[1][i+2]=C[i+2][1]=w[i] for j in range(6): C[i+2][j+2]=M[i][j]^(v[i]&v[j]) print('detC',det(C)) D=[[C[i][j]^(i==j) for j in range(8)] for i in range(8)] print('detCI',det(D)) EOF