33        for(i=0; i<9; i++) v[i] = w[i];
 
   36            for (i=0; i<9; i++) v[i] = 1 - v[i];
 
   39            cn =  v[1] - v[1]*v[0]*v[3]; 
 
   40            cn += v[3] - v[3]*v[6]*v[7]; 
 
   41            cn += v[5] - v[5]*v[2]*v[1]; 
 
   42            cn += v[7] - v[7]*v[8]*v[5]; 
 
   49        for (i=0; i<27; i++) v[i] = w[i];
 
   52            for(i=0; i<27; i++) v[i] = 1 - v[i];
 
   55        n0 = v[13]*v[14] + v[13]*v[12] +
 
   56             v[13]*v[16] + v[13]*v[10] +
 
   57             v[13]*v[22] + v[13]*v[ 4];
 
   59        n1 = v[13]*v[14]*v[10]*v[11] + v[13]*v[14]*v[16]*v[17] +
 
   60             v[13]*v[14]*v[ 4]*v[ 5] + v[13]*v[14]*v[22]*v[23] +
 
   61             v[13]*v[12]*v[10]*v[ 9] + v[13]*v[12]*v[16]*v[15] +
 
   62             v[13]*v[12]*v[ 4]*v[ 3] + v[13]*v[12]*v[22]*v[21] +
 
   63             v[13]*v[10]*v[ 4]*v[ 1] + v[13]*v[10]*v[22]*v[19] +
 
   64             v[13]*v[16]*v[ 4]*v[ 7] + v[13]*v[16]*v[22]*v[25];
 
   66        n2 = v[13]*v[14]*v[10]*v[11]*v[ 4]*v[ 5]*v[ 1]*v[ 2] +
 
   67             v[13]*v[14]*v[10]*v[11]*v[22]*v[23]*v[19]*v[20] +
 
   68             v[13]*v[14]*v[16]*v[17]*v[ 4]*v[ 5]*v[ 7]*v[ 8] +
 
   69             v[13]*v[14]*v[16]*v[17]*v[22]*v[23]*v[25]*v[26] +
 
   70             v[13]*v[12]*v[10]*v[ 9]*v[ 4]*v[ 3]*v[ 1]*v[ 0] +
 
   71             v[13]*v[12]*v[10]*v[ 9]*v[22]*v[21]*v[19]*v[18] +
 
   72             v[13]*v[12]*v[16]*v[15]*v[ 4]*v[ 3]*v[ 7]*v[ 6] +
 
   73             v[13]*v[12]*v[16]*v[15]*v[22]*v[21]*v[25]*v[24];
 
   76            if (c==26) cn = 2 - cn; 
 
 
   90    s = (1-v[ 6])*v[ 3]*v[ 7]*v[ 4]*v[12]*v[15]*v[16] +
 
   91        (1-v[ 8])*v[ 7]*v[ 5]*v[ 4]*v[16]*v[17]*v[14] +
 
   92        (1-v[ 2])*v[ 5]*v[ 1]*v[ 4]*v[14]*v[11]*v[10] +
 
   93        (1-v[ 0])*v[ 1]*v[ 3]*v[ 4]*v[10]*v[ 9]*v[12] +
 
   94        (1-v[24])*v[21]*v[25]*v[22]*v[12]*v[15]*v[16] +
 
   95        (1-v[26])*v[25]*v[23]*v[22]*v[16]*v[17]*v[14] +
 
   96        (1-v[20])*v[23]*v[19]*v[22]*v[14]*v[11]*v[10] +
 
   97        (1-v[18])*v[19]*v[21]*v[22]*v[10]*v[ 9]*v[12];
 
   99    if (s==1) 
return false;
 
 
  109    if (!ret) 
return false;
 
  118    for(i=0; i<6; i++)   w[i] = 0;
 
  120    if (v[ 1]==1) w[0] = w[1] = 1;
 
  121    if (v[ 3]==1) w[0] = w[2] = 1;
 
  122    if (v[ 5]==1) w[0] = w[3] = 1;
 
  123    if (v[ 7]==1) w[0] = w[4] = 1;
 
  124    if (v[ 9]==1) w[1] = w[2] = 1;
 
  125    if (v[11]==1) w[1] = w[3] = 1;
 
  126    if (v[15]==1) w[2] = w[4] = 1;
 
  127    if (v[17]==1) w[3] = w[4] = 1;
 
  128    if (v[19]==1) w[1] = w[5] = 1;
 
  129    if (v[21]==1) w[2] = w[5] = 1;
 
  130    if (v[23]==1) w[3] = w[5] = 1;
 
  131    if (v[25]==1) w[4] = w[5] = 1;
 
  134    for(i=0; i<6; i++) 
if (w[i]==0 && u[i]==1) ret = 
false;
 
 
  143    int  mz[6][6], mx[6][6], mm[6][6];
 
  145    mm[0][1] = mm[1][0] = v[ 3];
 
  146    mm[0][2] = mm[2][0] = v[ 7];
 
  147    mm[0][3] = mm[3][0] = v[ 1];
 
  148    mm[0][4] = mm[4][0] = v[ 5];
 
  149    mm[1][2] = mm[2][1] = v[15];
 
  150    mm[1][3] = mm[3][1] = v[ 9];
 
  151    mm[1][5] = mm[5][1] = v[21];
 
  152    mm[2][4] = mm[4][2] = v[17];
 
  153    mm[2][5] = mm[5][2] = v[25];
 
  154    mm[3][4] = mm[4][3] = v[11];
 
  155    mm[3][5] = mm[5][3] = v[19];
 
  156    mm[4][5] = mm[5][4] = v[23];
 
  161            if (i==j) mx[i][i]++;
 
  169                m = m + mm[i][k]*mx[k][j];
 
  176        mz[i][i] = 1 + mz[i][i];
 
  183                m = m + mm[i][k]*mz[k][j];
 
  190        mx[i][i] = 1 + mx[i][i];
 
  197                m = m + mm[i][k]*mx[k][j];
 
  204        mz[i][i] = 1 + mz[i][i];
 
  212                m = m + mm[i][k]*mz[k][j];
 
  218    if (s==0)  
return  false;