// Calling sequence: ./a.out c1 c2 c3 c4 c5
// The following is a det = 1 search for the groups (C10,p=2)
// in the case d2=0. We write d in place of d1.
// The file reads from the calling sequence d, a10,a11,a12 and varlimit
//
// Output goes to a file called gpc10p2d1eqc1d2eq0a10eqc2a11eqc3a12eqc4varlimeqc5cout

#include <stdio.h>
#include <assert.h>

int main(int argc, char *argv[])
{ // MAIN LOOP
 char filenamestring[80];
 int checklist[8]={0,5,1,4,7,2,6,3};
 int  d,a10,a11,a12,b10,b11,b12,m10,m11,m12,n10,n11,n12,u10,u11,u12,v10,v11,v12,n;
 int varlimit,acheck,ucheck,a11startpt,a12startpt,u10startpt,u11startpt;
 long long cd000m,cd0000,cd000p,cd001m,cd0010,cd001p,cd002m,cd0020,cd002p,cd010m,cd0100,cd010p,cd011m,cd0110,cd011p,cd012m,cd0120,cd012p;
 long long cd100m,cd1000,cd100p,cd101m,cd1010,cd101p,cd102m,cd1020,cd102p,cd110m,cd1100,cd110p,cd111m,cd1110,cd111p,cd112m,cd1120,cd112p;
 long long dd000m,dd0000,dd000p,dd001m,dd0010,dd001p,dd002m,dd0020,dd002p,dd010m,dd0100,dd010p,dd011m,dd0110,dd011p,dd012m,dd0120,dd012p;
 long long dd100m,dd1000,dd100p,dd101m,dd1010,dd101p,dd102m,dd1020,dd102p,dd110m,dd1100,dd110p,dd111m,dd1110,dd111p,dd112m,dd1120,dd112p;
 long count,solutioncount,cijklcalccount,conda1calccount,conda2calccount,aa,bb,cc,dd,ee;
 long billioncount,billioncijklcalccount,billionconda1calccount,billionconda2calccount;
 long long conda1,conda2;
 long dta1,dta2,normdta,cf1,cf2,cf1au,cf1aum,cf2au,cf2aum,cfaum,cf1aumv,cf2aumv,cf1aumvb,cf2aumvb,normfactor;
 FILE *out;
 n=sprintf(filenamestring,"gpc10p2acd1eq%sd2eq0a10eq%sa11eq%sa12eq%svarlimeq%sout",argv[1],argv[2],argv[3],argv[4],argv[5]);
 out = fopen(filenamestring,"w");
 assert(argc==6);
 count=0;
 cijklcalccount=0; 
 conda1calccount=0;
 conda2calccount=0;
 billioncount=0;
 billioncijklcalccount=0;
 billionconda1calccount=0;
 billionconda2calccount=0;
 solutioncount=0;
        d=atoi(argv[1]);
      a10=atoi(argv[2]);
      a11=atoi(argv[3]);
      a12=atoi(argv[4]);
 varlimit=atoi(argv[5]);
 assert(a10>=0);
 if (a10 == 0) a11startpt=0; else a11startpt=-varlimit;
 assert(a11>=a11startpt);
 if ((a11startpt == 0) && (a11 == 0)) a12startpt=0; else a12startpt=-varlimit;
 assert(a12>=a12startpt);
 if ((a12startpt == 0) && (a12 == 0)) u10startpt=0; else u10startpt=-varlimit;
 acheck=((a10&1)<<2)|((a11&1)<<1)|(a12&1);
 for (u10=u10startpt;u10<=varlimit;u10++)
  { // LOOP B
  if ((u10startpt == 0) && (u10 == 0)) u11startpt=0; else u11startpt=-varlimit;
  for (u11=u11startpt;u11<=varlimit;u11++)
   for (u12=-varlimit;u12<=varlimit;u12++)
    { // LOOP C
    ucheck=((u10&1)<<2)|((u11&1)<<1)|(u12&1);
    if (ucheck == checklist[acheck])
     { // LOOP D
      cf1au=(u10+2*u12+12*a12-12*a11)*a10+(2*u11+3*u12+2*u10+24*a12)*a12-(u11+u12+36*a12-6*a11)*a11
              -3*(2*(u11+2*u12)+u10)*u10-6*(u11+2*u12)*u11-15*u12*u12;
      cf2au=(u10+2*u12+28*a12-8*a11+6*a10)*a10+(2*u11+3*u12+2*u10+46*a12)*a12
                -(u11+u12+36*a12-14*a11)*a11+2*(5*u11+6*u12+u10)*u10+2*(3*u11+13*u12)*u11+13*u12*u12;
      for (m10=-varlimit;m10<=varlimit;m10++)
       for (m11=-varlimit;m11<=varlimit;m11++)
        for (m12=-varlimit;m12<=varlimit;m12++)
         if ((((d%2) != 0) && ((m10%2) != 0)) || (((m10%2) == 0) && ((m11%2) == 0) && ((m12%2) == 0)))
          { // LOOP E
          cfaum=(m10+4*m12)*m10-(m11-m12)*m11+3*m12*m12;
          cf1aum=cf1au+16*cfaum;
          cf2aum=cf2au-23*cfaum;
          for (v10=-varlimit;v10<=varlimit;v10++)
           for (v11=-varlimit;v11<=varlimit;v11++)
            for (v12=-varlimit;v12<=varlimit;v12++)
	     if ((a10-a11+a12-m10+m11-m12-v10+v11-v12)%3 == 0)
	      { // LOOP F
               cf1aumv=cf1aum+2*(6*v11+13*v12+5*v10)*u11+2*(5*v11+6*v12+2*v10)*u10+(2*v11+3*v12+2*v10)*a12-6*(2*(v11+2*v12)+v10)*v10
                       +2*(13*(v11+v12)+6*v10)*u12+(v10+2*v12)*a10-12*(v11+2*v12)*v11-(v11+v12)*a11-30*v12*v12;
               cf2aumv=cf2aum+2*(2*(5*v11+6*v12+v10)*v10-6*(2*v11+5*v12+2*v10)*u12+(2*v11+3*v12+2*v10)*a12-6*(v11+2*v12+v10)*u10
                       -6*(2*(v11+v12)+v10)*u11+(v10+2*v12)*a10+2*(3*v11+13*v12)*v11-(v11+v12)*a11+13*v12*v12);
               for (b10=-varlimit;b10<=varlimit;b10++)
                for (b11=-varlimit;b11<=varlimit;b11++)
                 for (b12=-varlimit;b12<=varlimit;b12++)
	          { // LOOP G
                  cf1aumvb=cf1aumv+(2*(v10+2*v12+u12)+u10+24*b12-24*b11)*b10
                            -(2*(v11+v12)+u12+u11+72*b12-12*b11)*b11+(3*u12+4*v10+4*v11+6*v12+2*u11+2*u10+48*b12)*b12
                             -4*(9*b11-23*b12-7*b10)*a12+4*(7*b11-9*b12-2*b10)*a11-4*(2*b11-7*b12-3*b10)*a10;
                  cf2aumvb=cf2aumv+2*((v10+2*v12+2*u12+u10+28*b12-8*b11+6*b10)*b10
                            +(2*v11+3*v12+2*v10+3*u12+2*u11+2*u10+46*b12)*b12-(v11+v12+u12+u11+36*b12-14*b11)*b11
                             -12*(3*b11-4*b12-b10)*a12+12*(b11-3*b12-b10)*a11-12*(b11-b12)*a10);
                  for (n10=-varlimit;n10<=varlimit;n10++)
                   for (n11=-varlimit;n11<=varlimit;n11++)
                    for (n12=-varlimit;n12<=varlimit;n12++)
		     if ((b10-b11+b12-n10+n11-n12+u10-u11+u12)%3 == 0)
		      { // LOOP H
                       cf1=cf1aumvb-23*(n11+6*n12+4*n10)*m12+32*(n10+4*n12)*n10-46*(n10+2*n12)*m10
                                       +23*(2*n11-n12)*m11-32*(n11-n12)*n11+96*n12*n12;
                       cf2=cf2aumvb+2*(16*(n11+6*n12+4*n10)*m12-23*(n10+4*n12)*n10+32*(n10+2*n12)*m10
                                       -16*(2*n11-n12)*m11+23*(n11-n12)*n11-69*n12*n12);
		       { // LOOP I
	               count++;
                       if ((count%1000000000)==0)
                        {
                        billioncount++;
                        count=0;
		        printf("%s%d%s","Billion count so far =",billioncount,"\n");
			}
		       aa=3*cf1;
                       bb=3*cf2+d*d;
		       normdta=bb*bb-2*aa*aa;

			   if ((normdta != 0 ) && ((((313344*d)%normdta) == 0) ||
                            ((((156672*(aa*a10-bb*b10))%normdta) == 0) &&
                             (((156672*(bb*a10-2*aa*b10))%normdta) == 0) &&
                             (((156672*(aa*a11-bb*b11))%normdta) == 0) &&
                             (((156672*(bb*a11-2*aa*b11))%normdta) == 0) &&
                             (((156672*(aa*a12-bb*b12))%normdta) == 0) &&
                             (((156672*(bb*a12-2*aa*b12))%normdta) == 0) &&
                             (((313344*(aa*m10-bb*n10))%normdta) == 0) &&
                             (((313344*(bb*m10-2*aa*n10))%normdta) == 0) &&
                             (((156672*(aa*m11-bb*n11))%normdta) == 0) &&
                             (((156672*(bb*m11-2*aa*n11))%normdta) == 0) &&
                             (((156672*(aa*m12-bb*n12))%normdta) == 0) &&
                             (((156672*(bb*m12-2*aa*n12))%normdta) == 0) &&
                             (((156672*(aa*u10-bb*v10))%normdta) == 0) &&
                             (((156672*(bb*u10-2*aa*v10))%normdta) == 0) &&
                             (((156672*(aa*u11-bb*v11))%normdta) == 0) &&
                             (((156672*(bb*u11-2*aa*v11))%normdta) == 0) &&
                             (((156672*(aa*u12-bb*v12))%normdta) == 0) &&
                             (((156672*(bb*u12-2*aa*v12))%normdta) == 0))))
{ // LOOP J
  conda1calccount++;
if ((conda1calccount%1000000000)==0)
   {billionconda1calccount++;
          conda1calccount=0;
   }
  // printf("%s%d%s","Number of times conda1 calculated so far =",conda1calccount,"\n");

conda1=(3*(2*(2*(2*v11-3*v12)*v11-v12*v12)-(u12+33*v10+9*v11
+6*v12)*u12+(4*u11-6*u12+15*v10+12*v11-9*v12)*u11)
-(4*a10+24*a12+15*b10+30*b12-18*m10-6*m11-24*m12+36*n12
-27*u10-36*u12-24*v10+21*v11-18*v12)*a10+6*(11*(v11-2*v12)
-6*v10)*v10-6*(v11-2*v12-2*u12+u11)*n11-3*(2*(v11-2*v12-u12)
+u11)*m11+3*(2*(v10+2*v12
+u12)+u10)*m10+6*(v10+2*v12+2*u12+u10)*n10-3*(22*u12+18*v10
-15*v11+33*v12-11*u11+6*u10)*u10-6*(v11-3*v12-2*v10-3*u12+u11
-2*u10)*n12-3*(2*(v11-3*v12-2*v10)-3*u12+u11-2*u10)*m12
+3*(53*u12+72*v10-24*v11+114*v12-34*u11+39*u10+40*n12+56*n10
-24*m12+24*m11+24*m10-24*b12)*b12+6*(6*(3*v10+4*v12+u12)-7*u11
+8*u10+16*n12+4*n11+12*n10-12*m12-16*b12-4*b10)*b10
+3*(2*(3*(v11+v12-2*v10)-8*u12)-9*u11-17*u10
+24*n12-16*n11-16*n10-24*m12-24*m10-8*b12+8*b11)*b11-3*(9*v11
+16*v12+17*v10-3*u12-3*u11+6*u10+24*n12+24*n10-12*m12+8*m11
+8*m10+5*b12-10*b11+4*a12-4*a11)*a11-3*(34*v11-53*v12-39*v10
-57*u12+12*u11-36*u10+24*n12-24*n11-24*n10-20*m12-28*m10
+30*b12+5*b11+20*b10+12*a12)*a12)*a10-(6*((9*v11-13*v12)*v11
-8*v12*v12)-(4*a11+15*b10+15*b11+42*m10+30*m12+36*n10+36*n11
-36*n12-27*u10+36*u11-63*u12-45*v10+39*v11-105*v12)*a11
+6*(19*v11-48*v12-13*v10)*v10-3*(13*u12-27*v10-24*v11+18*v12
-9*u11)*u11+3*(19*u11-48*u12-36*v10+27*v11-66*v12-13*u10)*u10
+6*(v11+v12+u12+u11)*n10+3*(2*(v11+v12)+u12+u11)*m10-6*(3*(3*(
v11+v12)+11*v10)+4*u12)*u12+6*(v10+v11+u11+u10)*n11+3*(2*(v10
+v11)+u11+u10)*m11-6*(2*v10+v12+u12
+2*u10)*n12-3*(2*(2*v10+v12)+u12+2*u10)*m12+6*(35*u12+18*v10
-24*v11+42*v12-13*u11+15*u10-20*n12-28*n10+12*m12-12*m11
-12*m10-4*b11)*b11-3*(6*(3*v10+4*v12+u12)-7*u11+8*u10+40*n12
-56*n11-72*n10-48*m12
-72*m10-8*b12)*b12-3*(2*(3*(v11+v12-2*v10)-8*u12)-9*u11-17*u10
+24*n12-16*n11-16*n10-24*m12-24*m10-8*b12+16*b11)*b10+3*(7*v11
-6*v12-8*v10-12*u12-9*u10+48*n12+72*n10-20*m12+28*m11+36*m10
+10*b12+5*b10
+4*a12)*a12)*a11+(6*((14*v11-23*v12)*v11-6*v12*v12)-(4*a12+45*b10
+15*b11+15*b12-138*m10-12*m11-72*m12-144*n10-108*n11+72*n12
-63*u10+99*u11-198*u12-84*v10+144*v11-267*v12)*a12+6*(36*v11
-83*v12-23*v10)*v10-3*(23*u12-51*v10-42*v11+33*v12-14*u11)*u11
-9*(11*v11+8*v12+40*v10+2*u12)*u12-6*(v10-v12-u12+u10)*n11
-3*(2*(v10-v12)-u12+u10)*m11+3*(3*u12+4*v10+4*v11+6*v12+2*u11
+2*u10)*m10-3*(83*u12+66*v10-51*v11+120*v12-36*u11+23*u10)*u10
+6*(v11+v12+3*v10+u12+u11+3*u10)*n12+3*(2*(v11+v12+3*v10)+u12
+u11+3*u10)*m12+6*(2*v11+3*v12+2*v10+3*u12+2*u11+2*u10)*n10
+3*(6*(3*v10+4*v12+u12)-7*u11+8*u10+40*n12-56*n11
-72*n10-48*m12-72*m10-16*b12)*b11+6*(89*u12+42*v10-66*v11
+132*v12-48*u11+28*u10+48*n12+8*n11+92*n10
-24*m12+36*m11+48*m10-4*b12)*b12+3*(53*u12+72*v10-24*v11
+114*v12-34*u11+39*u10+40*n12+56*n10-24*m12
+24*m11+24*m10-48*b12-8*b11-16*b10)*b10)*a12+(2*(9*((2*v11
-3*v12)*v11-v12*v12)-(5*b10+30*b12-18*m10-6*m11-24*m12+36*n12
-27*u10-36*u12-24*v10+21*v11-18*v12)*b10+9*(5*v11-11*v12
-3*v10)*v10)-3*(9*u12-22*v10
-16*v11+12*v12-6*u11)*u11-6*(v11-2*v12-2*u12+u11)*m11
-6*(2*(v11-2*v12-u12)+u11)*n11-3*(4*(3*v11+v12
+11*v10)+3*u12)*u12+6*(2*(v10+2*v12+u12)+u10)*n10+6*(v10+2*v12
+2*u12+u10)*m10-3*(33*u12+24*v10-22*v11+44*v12-15*u11
+9*u10)*u10-6*(v11-3*v12-2*v10-3*u12+u11-2*u10)*m12-6*(2*(v11
-3*v12-2*v10)-3*u12+u11-2*u10)*n12-6*(34*v11-53*v12-39*v10
-57*u12+12*u11-36*u10+24*n12-24*n11-24*n10-20*m12-28*m10+15*
b12)*b12-6*(9*v11+16*v12+17*v10-3*u12-3*u11+6*u10+24*n12
+24*n10-12*m12+8*m11+8*m10+5*b12-5*b11)*b11)*b10+(2*(9*((7*v11
-11*v12)*v11-4*v12*v12)-(5*b12-138*m10-12*m11-72*m12-144*n10
-108*n11+72*n12-63*u10+99*u11-198*u12-84*v10+144*v11
-267*v12)*b12+9*(17*v11-40*v12-11*v10)*v10)-3*(33*u12-72*v10
-56*v11+46*v12
-21*u11)*u11+3*(51*u11-120*u12-92*v10+72*v11-166*v12
-33*u10)*u10-6*(23*v11+12*v12+83*v10+6*u12)*u12-6*(v10-v12-u12
+u10)*m11-6*(2*(v10-v12)-u12+u10)*n11+6*(3*u12+4*v10+4*v11
+6*v12+2*u11+2*u10)*n10+6*(v11+v12+3*v10+u12+u11+3*u10)*m12
+6*(2*(v11+v12+3*v10)+u12+u11+3*u10)*n12+6*(2*v11+3*v12+2*v10
+3*u12+2*u11+2*u10)*m10)*b12-(18*(9*v11-22*v12-6*v10)*v10
-(10*b11*b11+84*b11*m10+60*b11*m12+72*b11*n10+72*b11*n11
-72*b11*n12-54*b11*u10+72*b11*u11-126*b11*u12-90*b11*v10
+78*b11*v11-210*b11*v12+27*u12*u12+288*u12*v10+78*u12*v11
+96*u12*v12-72*v11*v11+108*v11*v12+54*v12*v12)+3*(27*u11-66*u12
-52*v10+38*v11-96*v12-18*u10)*u10+6*(v11+v12+u12+u11)*m10
+6*(2*(v11+v12)+u12+u11)*n10+6*(v10+v11+u11+u10)*m11+6*(2*(v10
+v11)
+u11+u10)*n11-6*(2*v10+v12+u12+2*u10)*m12-6*(2*(2*v10+v12)
+u12+2*u10)*n12+6*(18*v11-13*v12+19*v10-9*u12+6*u11)*u11
+6*(7*v11-6*v12-8*v10-12*u12-9*u10+48*n12+72*n10-20*m12+28*m11
+36*m10+5*b12)*b12)*b11
-(3*(2*(69*n12*n12-13*v12*v12-2*(3*v11+13*v12)*v11)-(13*u12-24*v10
-24*v11-60*v12)*u12-46*(n11-n12)*n11+46*(n10+4*n12)*n10)
+(23*m10+138*m12-96*n10-192*n12)*m10-12*(5*v11+6*v12+v10)*v10
-3*(32*(n11+6*n12+4*n10)
-69*m12)*m12+3*(32*(2*n11-n12)+23*m12-23*m11)*m11+6*(6*(2*(v11
+v12)+v10)-13*u12-3*u11)*u11+6*(6*(v11+2*v12+v10-u12)-5*u11
-u10)*u10)*m10+(3*(2*(23*(n11*n11-n12*n12)+(v11+14*v12)*v11-6*(v10
+3*v12)*u12)+(u11+14*u12-12*v11)*u11+46*(2*n11-n12)*n10
+4*(3*v11+v12+v10)*v10+(32*(n10+2*n12)-23*m12)*m12)-(96*(n10
+n11)
-23*m11)*m11+6*(u12-6*v12+3*u11+u10)*u10)*m11-(3*(2*(23*n12*n12
+7*v12*v12+46*n11*n12+2*(v11-6*v12)*v11-(2*(v11-2*v12)
-3*v10)*v10+23*(n11+6*n12+2*n10)*n10)-(12*(v11-3*v12-v10)
-7*u12)*u12+2*(6*(v11-v12-u12)+u11)*u11)-(96*(n11+n12+3*n10)
-23*m12)*m12+3*(2*(2*(3*(v10+v12)+u12)-u11)+3*u10)*u10)*m12
+2*(3*(6*(16*n12*n12-5*v12*v12-2*(v11+2*v12)*v11)-(3*u10+6*u11
+12*u12-4*v10-10*v11-12*v12)*u10-32*(n11-n12)*n11)+32*(n10
+6*n12)*n10-18*(2*(v11+2*v12)+v10)*v10+3*(2*(13*(v11+v12)+6*v10)
-15*u12)*u12+6*(6*v11+13*v12+5*v10-6*u12-3*u11)*u11)*n10
+2*(2*(16*n12*n12-27*v12*v12-9*(v11-2*v12)*v11-9*(v10+2*v12)*v10)
-3*(9*u12+4*v10-12*v11+14*v12)*u12-3*(2*(2*(v11-3*v12)-v10
-3*u12)+3*u11)*u11+3*(2*(v11-2*v12-3*v10-3*u12)-3*u10)*u10)*n12
-(3*((v11+6*v12+4*v10+3*u12)*u12-2*((v11-v12)*v11-3*v12*v12
-(v10+4*v12)*v10)-(2*v11-v12-u12+u11)*u11)
+(3*(v10+2*v12+2*u12)+u10)*u10)*u10+2*(3*(2*(v11+7*v12+3*v10)
-3*u11)*u11-(32*n11*n11-96*n12*n12+27*u12*u12
-6*u12*v10-42*u12*v11+36*v10*v12+18*v11*v11+54*v12*v12)+6*(3*v11
+v12+2*v10-3*u12)*u10)*n11-(3*((v10+2*v12
+u12)*u12-2*(v11*v11-v12*v12+(2*v11-v12)*v10))-(3*(v10+v11)
+u11)*u11)*u11-(6*((v11+6*v12+2*v10)*v10+(2*v11+v12)*v12)
+(3*(v11+v12+3*v10)+u12)*u12)*u12+2*(3*((v11-v12)*v11-3*v12*v12)
-(v10+6*v12)*v10)*v10+3*(m10+2*m12)*d*d+2*(v11*v11-3*v12*v12)*v11
	  -2*v12*v12*v12;

if (conda1 == 0)
{ // LOOP K
  conda2calccount++;
  // printf("%s%d%s","Number of times conda2 calculated so far =",conda2calccount,"\n");

conda2=(6*(3*((2*v11-3*v12)*v11-v12*v12)-(5*b10+20*b12-12*m10
-4*m11-16*m12+24*n12-18*u10-24*u12-16*v10+14*v11
-12*v12)*b10)-(5*a10+30*a12+24*b10+48*b12+36*m12-36*n10-12*n11
-48*n12-24*u10+21*u11-18*u12-54*v10-72*v12)*a10+18*(5*v11
-11*v12-3*v10)*v10-3*(9*u12-22*v10-16*v11+12*v12-6*u11)*u11
-6*(v11-2*v12-2*u12+u11)*m11-6*(2*(v11-2*v12-u12)+u11)*n11
-3*(4*(3*v11+v12+11*v10)+3*u12)*u12+6*(2*(v10+2*v12+u12)+u10)*
n10+6*(v10+2*v12+2*u12+u10)*m10-3*(33*u12+24*v10-22*v11+44*v12
-15*u11+9*u10)*u10-6*(v11-3*v12-2*v10
-3*u12+u11-2*u10)*m12-6*(2*(v11-3*v12-2*v10)-3*u12+u11
-2*u10)*n12-6*(34*v11-53*v12-39*v10-57*u12+12*u11-36*u10
+24*n12-24*n11-24*n10-20*m12-28*m10+15*b12)*b12-6*(9*v11+16*v12
+17*v10-3*u12-3*u11+6*u10+24*n12+24*n10-12*m12+8*m11+8*m10
+5*b12-5*b11)*b11+3*(53*u12+72*v10-24*v11+114*v12-34*u11+39*u10
+40*n12+56*n10-24*m12+24*m11+24*m10-48*b12-8*b11-32*b10
-15*a12)*a12+3*(2*(3*(v11+v12-2*v10)-8*u12)
-9*u11-17*u10+24*n12-16*n11-16*n10-24*m12-24*m10-8*b12+16*b11
-5*a12+5*a11)*a11)*a10-(3*(6*(2*(2*v11-3*v12)*v11-3*v12*v12)
-(9*u12+96*v10+26*v11+32*v12)*u12-2*(5*b11+28*m10+20*m12+24*n10
+24*n11-24*n12-18*u10+24*u11-42*u12-30*v10+26*v11-70*v12)*b11)
-(5*a11+24*b10+24*b11+36*m10+36*m11-36*m12+84*n10+60*n12
-45*u10+39*u11-105*u12-54*v10+72*v11-126*v12)*a11+18*(9*v11
-22*v12-6*v10)*v10+3*(27*u11-66*u12-52*v10+38*v11-96*v12
-18*u10)*u10+6*(v11+v12+u12+u11)*m10+6*(2*(v11+v12)+u12
+u11)*n10+6*(v10+v11+u11
+u10)*m11+6*(2*(v10+v11)+u11+u10)*n11-6*(2*v10+v12+u12
+2*u10)*m12-6*(2*(2*v10+v12)+u12+2*u10)*n12+6*(18*v11-13*v12
+19*v10-9*u12+6*u11)*u11+6*(7*v11-6*v12-8*v10-12*u12-9*u10
+48*n12+72*n10-20*m12+28*m11+36*m10+5*b12)*b12+6*(9*v11+16*v12
+17*v10-3*u12-3*u11+6*u10+24*n12+24*n10-12*m12+8*m11+8*m10+5
*b12-10*b11)*b10-3*(6*(3*v10+4*v12+u12)-7*u11+8*u10+40*n12
-56*n11-72*n10-48*m12-72*m10-16*b12-8*b10
-5*a12)*a12)*a11+(6*(3*((7*v11-11*v12)*v11-4*v12*v12)-(5*b12
-92*m10-8*m11-48*m12-96*n10-72*n11+48*n12-42*u10+66*u11
-132*u12-56*v10+96*v11-178*v12)*b12)-(5*a12+72*b10+24*b11
+24*b12-144*m10-108*m11+72*m12
-276*n10-24*n11-144*n12-84*u10+144*u11-267*u12-126*v10+198*v11
-396*v12)*a12+18*(17*v11-40*v12-11*v10)*v10-3*(33*u12-72*v10
-56*v11+46*v12-21*u11)*u11+3*(51*u11-120*u12-92*v10+72*v11
-166*v12-33*u10)*u10-6*(23*v11+12*v12+83*v10+6*u12)*u12-6*(v10
-v12-u12+u10)*m11-6*(2*(v10-v12)-u12+u10)*n11+6*(3*u12+4*v10
+4*v11+6*v12+2*u11+2*u10)*n10+6*(v11+v12+3*v10+u12+u11
+3*u10)*m12+6*(2*(v11+v12+3*v10)+u12+u11
+3*u10)*n12+6*(2*v11+3*v12+2*v10+3*u12+2*u11+2*u10)*m10
-6*(7*v11-6*v12-8*v10-12*u12-9*u10+48*n12+72*n10-20*m12
+28*m11+36*m10+10*b12)*b11-6*(34*v11-53*v12-39*v10-57*u12
+12*u11-36*u10+24*n12-24*n11-24*n10-20*m12-28*m10+30*b12
+5*b11+10*b10)*b10)*a12+2*(3*(2*(2*(2*v11-3*v12)*v11-v12*v12)-(u12
+33*v10+9*v11+6*v12)*u12+(4*u11-6*u12+15*v10+12*v11
-9*v12)*u11)-(8*b10+48*b12+36*m12-36*n10-12*n11-48*n12-24*u10
+21*u11-18*u12-54*v10-72*v12)*b10+6*(11*(v11-2*v12)-6*v10)*v10
-6*(v11-2*v12-2*u12+u11)*n11-3*(2*(v11-2*v12-u12)+u11)*m11
+3*(2*(v10+2*v12+u12)+u10)*m10+6*(v10+2*v12+2*u12+u10)*n10
-3*(22*u12+18*v10
-15*v11+33*v12-11*u11+6*u10)*u10-6*(v11-3*v12-2*v10-3*u12+u11
-2*u10)*n12-3*(2*(v11-3*v12-2*v10)-3*u12+u11-2*u10)*m12
+3*(53*u12+72*v10-24*v11+114*v12-34*u11+39*u10+40*n12+56*n10
-24*m12+24*m11+24*m10
-24*b12)*b12+3*(2*(3*(v11+v12-2*v10)-8*u12)-9*u11-17*u10
+24*n12-16*n11-16*n10-24*m12-24*m10-8*b12+8*b11)*b11)*b10
-2*(6*((9*v11-13*v12)*v11-8*v12*v12)-(8*b11+36*m10+36*m11-36*m12
+84*n10+60*n12-45*u10+39*u11-105*u12-54*v10+72*v11
-126*v12)*b11+6*(19*v11-48*v12-13*v10)*v10-3*(13*u12-27*v10
-24*v11+18*v12-9*u11)*u11+3*(19*u11-48*u12-36*v10+27*v11
-66*v12-13*u10)*u10+6*(v11+v12+u12+u11)*n10+3*(2*(v11+v12)+
u12+u11)*m10-6*(3*(3*(v11+v12)+11*v10)+4*u12)*u12+6*(v10+v11
+u11+u10)*n11+3*(2*(v10+v11)+u11+u10)*m11-6*(2*v10+v12+u12
+2*u10)*n12-3*(2*(2*v10+v12)+u12+2*u10)*m12-3*(6*(3*v10+4*v12
+u12)-7*u11+8*u10
+40*n12-56*n11-72*n10-48*m12-72*m10-8*b12)*b12)*b11
+2*(6*((14*v11-23*v12)*v11-6*v12*v12)-(8*b12-144*m10-108*m11
+72*m12-276*n10-24*n11-144*n12-84*u10+144*u11-267*u12-126*v10
+198*v11-396*v12)*b12+6*(36*v11-83*v12-23*v10)*v10-3*(23*u12
-51*v10-42*v11+33*v12-14*u11)*u11-9*(11*v11+8*v12+40*v10
+2*u12)*u12-6*(v10
-v12-u12+u10)*n11-3*(2*(v10-v12)-u12+u10)*m11+3*(3*u12+4*v10
+4*v11+6*v12+2*u11+2*u10)*m10-3*(83*u12+66*v10-51*v11+120*v12
-36*u11+23*u10)*u10+6*(v11+v12+3*v10+u12+u11+3*u10)*n12
+3*(2*(v11+v12+3*v10)+u12+u11+3*u10)*m12+6*(2*v11+3*v12+2*v10
+3*u12+2*u11+2*u10)*n10)*b12+2*(3*(6*(16*n12*n12-5*v12*v12-2*(v11
+2*v12)*v11)-(3*u10+6*u11+12*u12-4*v10-10*v11-12*v12)*u10
-32*(n11-n12)*n11+32*(n10+4*n12)*n10)+(16*m10+96*m12-69*n10
-138*n12)*m10-18*(2*(v11+2*v12)+v10)*v10+3*(2*(13*(v11+v12)
+6*v10)-15*u12)*u12-3*(23*(n11+6*n12+4*n10)-48*m12)*m12
+3*(23*(2*n11-n12)+16*m12-16*m11)*m11+6*(6*v11+13*v12+5*v10
-6*u12-3*u11)*u11)*m10-2*(3*(2*(3*(v11*v11+3*v12*v12+2*v10*v12)
-16*n12*n12+16*n11*n11+16*(2*n11-n12)*n10)-(2*(v10+7*v11)
-9*u12)*u12+(23*(n10+2*n12)-16*m12)*m12)-(69*(n10+n11)
-16*m11)*m11-3*(2*(v11+7*v12+3*v10)-3*u11)*u11-6*(3*v11+v12
+2*v10-3*u12)*u10)*m11+2*(3*(2*(16*n12*n12-9*v12*v12+32*n11*n12
-3*(v11-2*v12)*v11-3*(v10+2*v12)*v10)-(9*u12+4*v10-12*v11
+14*v12)*u12+32*(n11+6*n12+2*n10)*n10)-(69*(n11+n12+3*n10)
-16*m12)*m12-3*(2*(2*(v11-3*v12)-v10-3*u12)+3*u11)*u11
+3*(2*(v11-2*v12-3*v10-3*u12)-3*u10)*u10)*m12-2*(3*(2*(69*n12*n12
-13*v12*v12-2*(3*v11+13*v12)*v11)-(13*u12-24*v10-24*v11
-60*v12)*u12-46*(n11-n12)*n11)+46*(n10+6*n12)*n10-12*(5*v11
+6*v12+v10)*v10+6*(6*(2*(v11+v12)+v10)-13*u12-3*u11)*u11
+6*(6*(v11+2*v12+v10-u12)-5*u11-u10)*u10)*n10+2*(2*(23*(n11*n11
-3*n12*n12)+3*(v11+14*v12)*v11-18*(v10+3*v12)*u12)+3*(u11+14*u12
-12*v11)*u11+12*(3*v11+v12+v10)*v10+6*(u12-6*v12+3*u11
+u10)*u10)*n11-2*(2*(23*n12*n12+21*v12*v12+6*(v11-6*v12)*v11-3*(2*(
v11-2*v12)-3*v10)*v10)-3*(12*(v11-3*v12-v10)-7*u12)*u12
+6*(6*(v11-v12-u12)+u11)*u11+3*(2*(2*(3*(v10+v12)+u12)-u11)
+3*u10)*u10)*n12-(3*((2*(v11+6*v12+4*v10)+3*u12)*u12-2*((v11
-v12)*v11-3*v12*v12-(v10+4*v12)*v10)-(2*(2*v11-v12)-u12
+u11)*u11)+(6*(v10+2*v12+u12)+u10)*u10)*u10-(3*((2*(v10+2*v12)
+u12)*u12-2*(v11*v11-v12*v12+(2*v11-v12)*v10))-(6*(v10+v11)
+u11)*u11)*u11-(6*((v11+6*v12+2*v10)*v10+(2*v11+v12)*v12)
+(6*(v11+v12+3*v10)+u12)*u12)*u12+4*(3*((v11-v12)*v11
-3*v12*v12)-(v10+6*v12)*v10)*v10+6*(n10+2*n12)*d*d
	  +4*(v11*v11-3*v12*v12)*v11-4*v12*v12*v12;


if (conda2 == 0)
  { // LOOP L

cd000m=2*(-(2*(5*v11+v12+6*v10-4*u12+u11+2*u10+6*n12+6*n11+3*n10-5*m12-5*m11)-5*m10+d-26*b12-2*b11-8*b10-16*a12
-2*a10)*a10-2*(2*(v11-4*v12+2*v10)+u12+5*u11+6*u10-10*n12-10*n11-5*n10+6*m12+6*m11+3*m10+d-16*b12-2*b10)*b10
-2*(2*(4*v11-13*v12+8*v10+u12)+17*u11+20*u10+5*n12-5*n11-3*m12+3*m11-30*b12)*b12+(5*m11-6*n11+16*u10+14*u11+4*u12+12*v10
+6*v11-20*v12+4*b12-28*b11+2*b10+2*a12-10*a11)*a11-(5*m12+6*n11-6*n12+16*u10+8*u11-26*u12+40*v10+34*v11+4*v12-5*m11
-88*b12-4*b11-26*b10-30*a12)*a12+2*(3*u11-10*u12+16*v10+14*v11+4*v12+6*u10+5*n11-3*m11+2*b12-10*b11)*b11+2*(5*v11-8*v12-v10
-7*u12+4*u11-u10)*n12+(2*(4*v11-7*v12-v10-4*u12)+5*u11-u10)*m12+2*(3*v11-5*v12-2*v10-5*u12+2*u11
-2*u10)*n11+2*(3*v11-2*v12-4*u12+u11-u10)*n10-(2*(v11-4*v12-v10-u12)+3*u11)*d+(2*(v11-4*v12-v10-u12)+3*u11)*m10-(5*u12
+4*v10-4*v11+10*v12-3*u11+2*u10)*m11);

cd0000=(2*(2*(2*v11-v12)-v10-u12+2*u11)-u10+136*b12-40*b11+64*b10+68*a12-56*a11+2*a10)*a10-(7*u12
+8*v10+6*v11+14*v12+3*u11+4*u10+184*b12-136*b11+40*b10+172*a12-34*a11)*a11+2*(2*(2*v11-v12)-v10-2*u12+4*u11-u10
+68*b12-56*b11+2*b10)*b10+(9*u12+4*v10+12*v11+18*v12+6*u11+2*u10+448*b12-184*b11+136*b10+130*a12)*a12-2*(3*v11+7*v12
+4*v10+7*u12+3*u11+4*u10+172*b12-34*b11)*b11+2*(2*v10+6*v11+9*v12+9*u12+6*u11+2*u10+130*b12)*b12-(32*(6*n11+n12)-23*m12
-69*m11)*m11-(4*(m10+3*m12)-d)*d-(32*(n11-18*n12)+207*m12)*m12+2*(15*u11+30*u12-10*v10-26*v11-28*v12+7*u10)*u10
+2*(31*u12-26*v10-28*v11-68*v12+15*u11)*u11+4*(15*(v11+2*v12)+7*v10)*v10+(23*m10-64*n10)*m10+46*(3*n11+n12)*n11+(75*u12
-56*v10-136*v11-116*v12)*u12+4*(15*v11+31*v12)*v11+46*n10*n10-414*n12*n12+150*v12*v12;

cd000p=2*(-(2*(11*v11+29*v12+11*v10-12*u12-13*u11-6*u10+44*n12-20*n11+12*n10-32*m12+14*m11-10*m10
-6*b12+3*b11-3*b10-2*a12+a11)-a10)*a10-(29*v11-14*v12-3*v10-35*u12+2*u11-13*u10+128*n12-64*n11+40*n10-92*m12+48*m11
-24*m10-3*b12+6*b11+6*b10-a12+a11)*a11+(18*v11-61*v12-21*v10-24*u12+22*u11-7*u10-192*n12+104*n11-48*n10+140*m12-72*m11
+44*m10+6*b12+3*b11+12*b10+a12)*a12-2*(29*u12-12*v10-26*v11-24*v12+11*u11+11*u10-64*n12+28*n11-20*n10+44*m12-20*m11
+12*m10-4*b12+2*b11-b10)*b10-(29*u11-14*u12-26*v10+4*v11-70*v12-3*u10-184*n12+96*n11-48*n10+128*m12-64*m11+40*m10
-2*b12+2*b11)*b11-(61*u12+14*v10-44*v11+48*v12-18*u11+21*u10-280*n12+144*n11-88*n10+192*m12-104*m11+48*m10-2*b12)*b12
+(3*v11-13*v12-6*v10-3*u12+2*u11-u10)*u10+(8*v11-3*v12+3*v10-u12)*u11-(3*(v11+6*v12)+13*v10-2*u12)*u12
-(u11+u12+4*u10)*m12+2*(2*v11-3*v12-v10)*v10-2*(v11+v12+4*v10)*n12+(2*u10+u11)*m11+2*(2*v10+v11)*n11
+d*u10-m10*u10-2*n10*v10-2*v11*v12+4*v12*v12);

cd001m=2*((2*(3*v10-8*v11+14*v12+7*u12-4*u11+u10-6*n12+3*n11-3*n10+5*m12)-5*m11+5*m10-d+2*b12-4*b11-10*b10+4*a12)*a11
+(2*(2*v11-7*v12-v10-4*u12+4*u11-u10-3*n12+3*n11)+5*m12-5*m11+8*b12-10*b11
+4*b10+12*a12-2*a11+4*a10)*a10-2*(2*(4*v11-7*v12-v10-7*u12+4*u11)-3*u10-10*n12+5*n11-5*n10+6*m12
-3*m11+3*m10+d-4*b12)*b11+2*(2*(4*(v11-v12)-v10)-7*u12+2*u11-u10+5*n12-5*n11-3*m12+3*m11+12*b12
-2*b11+4*b10)*b10-2*(19*u12+8*v10-20*v11+38*v12-12*u11+3*u10-15*n12+10*n11+9*m12-6*m11+2*b12)*b12+(15*m12+12*n11-18*n12
-8*u10+20*u11-38*u12-6*v10+24*v11-38*v12-10*m11-8*b12+2*b11+8*b10-2*a12)*a12-2*(4*v11+5*v12+3*v10-4*u12-2*u11-u10)*n10
-(2*(2*(v11+2*v12)+v10)-5*u12-4*u11-3*u10)*d+(2*(2*(v11+2*v12)+v10)-5*u12-4*u11-3*u10)*m10+(2*(v11+2*v12+2*v10)-u12-u11
+u10)*m11-2*(v11+v12-v10-2*u12-u11-2*u10)*n11-2*(3*v10+2*v11-u12+u11+2*u10)*n12-(2*(v11-v12+2*v10+u11)+3*u10)*m12);

cd0010=2*(-(2*(v11+v12+v10)+u12+u11+u10+32*b12-32*b11+8*b10+20*a12)*a12-(2*(v11-v12)-u12+u11+8*b12-8*b11+8*b10+12*a12
-4*a11)*a10+(u12+2*v12+32*b12-8*b11+8*b10+12*a12-6*a11)*a11-2*(v11+v12+v10+u12+u11+u10+20*b12)*b12+(2*(2*(2*v11+v12+v10
-2*u12)-u11)-u10)*u10-2*(v11-v12-u12+u11+12*b12-4*b11)*b10+4*(v11+5*v12+2*v10-u12-u11)*u11+2*(u12+v12+12*b12
-6*b11)*b11+(4*(5*v11+v12+v10)-11*u12)*u12-2*(2*(v11+4*v12)+v10)*v10+(23*m11-32*n11)*m10+(23*m12-64*n12)*m12-8*(v11
+v12)*v11+d*m11-32*m11*n10+46*n10*n11+46*n12*n12-22*v12*v12);

cd001p=2*((11*(v11+v12)+4*v10-13*u12-6*u11-6*u10+32*n12+8*n11+8*n10-24*m12-8*m11-12*m10-3*b12+3*b11-a12+a11)*a10+(16*v10
+21*v11+18*v12-20*u12-7*u11-3*u10+24*n12-16*n11-8*n10-20*m12+4*m11-16*m10
-12*b12-3*b10-2*a12)*a12+(15*v11+4*v12-2*v10-20*u12-5*u11-11*u10+24*n12+16*n10-16*m12+4*m11+6*b11
+3*b10+a11)*a11+(11*u12-12*v10-12*v11-26*v12+11*u11+4*u10-48*n12-16*n11-24*n10+32*m12+8*m11+8*m10
-2*b12+2*b11)*b10+(21*u11+18*u12-6*v10-14*v11-40*v12+16*u10-40*n12+8*n11-32*n10+24*m12-16*m11-8*m10-4*b12)*b12+(15*u11
+4*u12-22*v10-10*v11-40*v12-2*u10-32*n12+8*n11+24*m12+16*m10+2*b11)*b11-(6*v11-5*v12+6*v10-3*u12+2*u11)*u11+(11*u12+10*v10
-6*v11+18*v12-5*u11+3*u10)*u10+(5*v11+6*v12+18*v10+u12)*u12-(u11-2*u12-u10)*m12-2*(5*v11-11*v12-3*v10)*v10-2*(v11-2*v12
-v10)*n12-(u11-u12)*m11-2*(2*v11-3*v12)*v11-2*(v11-v12)*n11+d*u11-m10*u11-2*n10*v11+2*v12*v12);

cd002m=2*((2*(13*(v11-v12)+3*v10-11*u12+5*u11+u10-6*n12+3*n11-3*n10+5*m12)-5*m11+5*m10-d-28*b12
+2*b11+2*b10-10*a12)*a12+2*(2*(5*v11-11*v12+v10)-13*u12+13*u11+3*u10+10*n12-5*n11+5*n10-6*m12+3*m11-3*m10-d-10*b12)*b12
-(2*(4*(v11-2*v12)+v10-5*u12+5*u11+u10+3*n12-3*n11)-5*m12+5*m11-2*b12-8*b11+2*b10-2*a11)*a11+(2*(3*v11-5*v12-2*u12
+2*u11+u10+3*n11)-5*m11+2*b12-2*b11+4*b10-2*a12-4*a11)*a10-2*(2*(5*(v11-v12)+v10-4*u12+2*u11)+u10-5*n12+5*n11+3*m12
-3*m11-2*b11)*b11+2*(2*(2*(v11-v12)+v10)-5*u12+3*u11-5*n11+3*m11-2*b12-4*b11)*b10+(2*(2*v11+v12+v10-2*u12)-u11-u10)*d
-(2*(2*v11+v12+v10-2*u12)-u11-u10)*m10-2*(2*v11-3*v12+v10-2*u12+2*u11+u10)*n12+2*(v11+4*v12+v10-u12-2*u11-u10)*n10
-(2*(2*(v11-v12)+v10)-3*u12+2*u11+u10)*m12+2*(2*v10+3*v12+u12-u11+u10)*n11-(2*(v11-v12-v10)-3*u12-2*u10)*m11);

cd0020=2*((2*(v11+2*v12+v10+u12)+u11+u10+64*b12-40*b11+16*b10+52*a12-12*a11)*a11-(2*(2*v11+3*v12+v10)+3*u12+2*u11+u10
+136*b12-64*b11+40*b10+44*a12)*a12-(u11+2*v11+40*b12-16*b11+16*b10+24*a12-16*a11+2*a10)*a10+2*(v11+2*v12+v10+2*u12+u11
+u10+52*b12-12*b11)*b11-2*(2*v11+3*v12+v10+3*u12+2*u11+u10+44*b12)*b12-2*(u11+v11+24*b12-16*b11+2*b10)*b10-2*(9*u12
-4*v10-8*v11-10*v12+5*u11+2*u10)*u10-(32*(n10+6*n12)-69*m12)*m12-4*(5*v11+9*v12+2*v10)*v10-(23*m11-64*n11)*m11
+(23*m12-32*n12)*m10-(9*u11+22*u12-16*v10-20*v11-40*v12)*u11-2*(11*u12-10*v10-20*v11-22*v12)*u12-2*(9*v11+22*v12)*v11+d*m12
+46*n10*n12-46*n11*n11+138*n12*n12-44*v12*v12);

cd002p=2*((7*v11-18*v12-4*v10-8*u12+7*u11-u10+40*n12-24*n11+16*n10-28*m12+20*m11-4*m10+3*b10)*a11
+(4*v11+11*v12+v10-6*u12-6*u11-5*u10+16*n12-24*n11-12*m12+16*m11-4*m10+3*b11+a11)*a10-(2*(3*v10+7*v11-7*u12-u10-32*n12
+20*n11-4*n10+24*m12-12*m11+10*m10-3*b12)-a12)*a12+(2*(7*v11-8*v12-v10-9*u12)+7*u11-4*u10-56*n12+40*n11-8*n10+40*m12
-24*m11+16*m10)*b11-(2*(6*(v11+v12)+5*v10)-11*u12-4*u11-u10+24*n12-32*n11+8*n10-16*m12+24*m11-2*b11)*b10+2*(2*(v10
+7*v12)-7*u11-3*u10-48*n12+24*n11-20*n10+32*m12-20*m11+4*m10+b12)*b12-(5*v11-12*v12-6*v10-7*u12+3*u11-2*u10)*u10-(3*(2*v11
-v12)+5*v10-2*u12+u11)*u11+(u11-u12+u10)*m12+(3*v11+8*v12+12*v10)*u12-2*(3*v11-7*v12-2*v10)*v10+2*(v11-v12+v10)*n12
-(u10+u12)*m11-2*(v10+v12)*n11-2*(v11-2*v12)*v11+d*u12-m10*u12-2*n10*v12);

cd010m=2*((7*(v11-v12)+10*v10-3*u12+6*u11+8*u10-2*m12-2*m11-m10+d-23*b12-3*b11-8*b10-11*a12+a11-a10)*a10+(25*v11-24*v12
+36*v10-11*u12+21*u11+28*u10+m12-m11-72*b12-4*b11-23*b10-23*a12)*a12-(17*v11-6*v12+22*v10-8*u12+10*u11+14*u10+m11
+4*b12-22*b11+3*b10+a12-8*a11)*a11-(7*u12-16*v10-12*v11+6*v12-7*u11-10*u10+4*n12+4*n11+2*n10+22*b12-2*b11+2*b10)*b10
+(25*u11-24*u12+56*v10+42*v11-22*v12+36*u10+2*n12-2*n11-46*b12)*b12-(17*u11-6*u12+28*v10+20*v11-16*v12+22*u10+2*n11
+2*b12-16*b11)*b11+4*(v11+6*v12+2*v10-2*u12-2*u11-u10)*n10-2*(2*(2*(v11+v12)+v10-3*u12)-u11-2*u10)*m10-2*(2*(v11-v12
-3*u12)+3*u11-u10)*m12-4*(3*(v11-2*v12)-v10-u12+u11)*n12+2*(5*u12-2*v11-u11+2*u10)*m11-4*(v11-5*v12-2*v10+u11)*n11
+(2*v11+v12+2*v10)*u11+2*(v11+v12+v10)*u10+(v11-2*v12+2*v10)*u12);

cd0100=8*(2*(n10+3*n12)-3*m12-m10)*d;

cd010p=2*((2*(v11+9*v12+3*v10-u12-4*u11-u10-5*n12+2*n11-2*n10+3*m12)-3*m11+m10+d-4*b12+2*b11-2*b10-8*a12+4*a11-2*a10)*a10
+(13*v11-16*v12-5*v10-17*u12+5*u11-6*u10-14*n12+8*n11-2*n10+9*m12-4*m11+4*m10+4*d-b12+2*b11+2*b10-2*a12+2*a11)*a11
-(14*v11-33*v12-11*v10-19*u12+12*u11-6*u10+22*n12-10*n11+10*n10-13*m12+8*m11-m10-d+2*b12+b11+4*b10+2*a12)*a12
-2*(2*(4*v11+v12+v10)-9*u12-u11-3*u10-6*n12+3*n11-n10+5*m12-2*m11+2*m10+2*d+8*b12-4*b11+2*b10)*b10+(13*u11-16*u12-12*v10
+10*v11-34*v12-5*u10+18*n12-8*n11+8*n10-14*m12+8*m11-2*m10-2*d-4*b12+4*b11)*b11+(33*u12+12*v10-24*v11+38*v12-14*u11
+11*u10+26*n12-16*n11+2*n10-22*m12+10*m11-10*m10-10*d-4*b12)*b12-(v11+7*v12+2*v10-10*u12+u11-2*u10)*u10+2*(2*(v11
+v12+4*v10)-u12-u11-4*u10)*m12-4*(v11+v12+4*v10-u12-u11-4*u10)*n12+(8*v11-v12-v10+2*u12-4*u11)*u11-2*(2*(2*v10+v11)
-u11-2*u10)*m11+4*(2*v10+v11-u11-2*u10)*n11-(v11+26*v12+7*v10-11*u12)*u12-2*(v11-10*v12-2*v10)*v10+4*(u10-v10)*n10-2*(u10
-2*v10)*m10-4*(2*v11-v12)*v11+22*v12*v12);

cd011m=2*(-(5*v10-16*v11+28*v12+21*u12-12*u11+4*u10+2*m12-m11+m10-d-b12-6*b11-13*b10+5*a12+a11)*a11+(3*v10-10*v11+15*v12
+11*u12-6*u11+2*u10-m12+m11+13*b11+2*b10-14*a12-2*a11-5*a10)*a10-(32*v11-57*v12-11*v10-38*u12+22*u11-7*u10+3*m12
-2*m11-8*b12-b11-a12)*a12+(15*u12+4*v10-12*v11+22*v12-10*u11+3*u10-2*n12+2*n11-28*b12-4*b11-10*b10)*b10-(5*u10
-16*u11+28*u12+8*v10-24*v11+42*v12+4*n12-2*n11+2*n10+10*b12+2*b11)*b11+(57*u12+14*v10-44*v11+76*v12
-32*u11+11*u10-6*n12+4*n11+2*b12)*b12-4*(8*v11+13*v12+5*v10-9*u12-6*u11-4*u10)*n10-4*(3*v11+5*v12+3*v10-3*u12-2*u11
-u10)*n11+2*(2*(2*v11+3*v12+v10)-5*u12-3*u11-3*u10)*m11+4*(v10-2*v12+u12+u11+u10)*n12+2*(2*(v11+v12+v10-u12)+u10)*m12-
2*(13*u12-8*v10-12*v11-18*v12+8*u11+5*u10)*m10+(v10+6*v12)*u12+u10*v12-2*u11*v11);

cd0110=4*(m11-2*n11)*d;

cd011p=2*(-(7*v11+2*v12+6*v10-6*u12+u10-4*n12-2*n11-10*n10+m12-3*m11-6*m10-6*d-4*b12-b10-4*a12)*a12-(5*v11-4*v12-4*v10
-8*u12-5*u10-2*n12+2*n11+4*n10+2*m12+m11+4*m10+4*d+2*b11+b10+2*a11)*a11-(3*v11+v12-4*u12-u11-2*u10-4*n12-2*n11-4*n10
+2*m12-m10-d-b12+b11-2*a12+2*a11)*a10-(2*(v10-6*v12+u12)+7*u11+6*u10+2*n12-6*n11-12*n10-4*m12-2*m11
-10*m10-10*d-8*b12)*b12+(2*(v11+4*v12+2*v10)-u12-3*u11-4*n12+2*n10+4*m12+2*m11+4*m10+4*d+4*b12-4*b11)*b10-(5*u11-4*u12
-10*v10-16*v12-4*u10+4*n12+2*n11+8*n10-2*m12+2*m11+4*m10+4*d+4*b11)*b11+(2*(2*(v11-v12)-v10)-7*u12+u11-2*u10)*u10
-4*(v11-2*v12-v10+2*u12-u11+u10)*n12+2*(2*(v11-2*v12-v10+u12)-u11+u10)*m12+(2*v11-v12+4*v10-2*u12+u11)*u11+2*(2*(v11
-v12)+u12-u11)*m11-4*(v11-v12+u12-u11)*n11-(v11-2*v12+4*v10+2*u12)*u12+2*(v11-7*v12-2*v10)*v10+4*(u11-v11)*n10-2*(u11
-2*v11)*m10+2*(v11-2*v12)*v11-4*v12*v12);

cd012m=2*(-(23*v11-35*v12+5*v10-24*u12+18*u11+4*u10+2*m12-m11+m10-d-22*b12+3*b11+5*b10-8*a12)*a12-(7*v11-9*v12+2*v10
-7*u12+5*u11+u10-m11+5*b12+b11+6*b10-4*a12-5*a11-a10)*a10+(3*v10+14*v11-18*v12-13*u12+9*u11+2*u10-m12+m11-3*b12-8*b11
-b10+a12-a11)*a11-(2*(5*v11-7*v12+v10)-9*u12+7*u11+2*u10-2*n11-8*b12-10*b11-2*b10)*b10+(35*u12-8*v10-36*v11+48*v12
-23*u11-5*u10-4*n12+2*n11-2*n10+16*b12)*b12+(3*u10+14*u11-18*u12+4*v10+18*v11-26*v12-2*n12+2*n11+2*b12-2*b11)*b11
+4*(5*v11+6*v12+3*v10-5*u12-3*u11-2*u10)*n10+4*(2*v11+v12-2*u12-u11-u10)*n11-2*(2*(v11+2*v12+v10)-u12-2*u11)*m11
-2*(u12+2*v12-2*u11-u10)*m12+4*(2*v11-v12+v10-u12)*n12+2*(5*u11+6*u12-4*v10-6*v11-10*v12+3*u10)*m10-(v10+2*v11)*u11
+(v10+4*v12)*u12-(v11-v12)*u10);

cd0120=4*(m12-2*n12)*d;

cd012p=2*((v10-3*v12+u12+2*u11+2*u10+2*n12-2*n11+2*n10-m12+2*m11+m10+d-b11-2*a11)*a10+(2*(3*v11-2*v12+v10-3*u12+u11
+4*n12-n11+4*n10-2*m12+2*m11)+3*m10+3*d-2*b12-2*a12)*a12-(5*(v11-2*v12)
-2*v10-6*u12+4*u11-u10-4*n12+4*n11+2*n10+3*m12-m11+3*m10+3*d+b10)*a11+(2*(2*v11+v12+2*v10)-3*u12+u10-2*n12+4*n11
+2*n10+2*m12-2*m11+2*m10+2*d-4*b11)*b10+2*(2*(v11-3*v12-u12)+3*u11+u10-4*n12
+4*n11+3*n10+4*m12-m11+4*m10+4*d-2*b12)*b12+(2*(v10-4*v11+6*v12+5*u12)-5*u11+2*u10-6*n12+2*n11
-6*n10+4*m12-4*m11-2*m10-2*d)*b11-2*(2*(v11-v12+v10)+u12-u11-u10)*m12+4*(v11-v12+v10+u12-u11-u10)*n12+(v11-2*v12-2*v10
-5*u12+2*u11-u10)*u10-(2*v11+v12-v10+u12-2*u11)*u11+2*(2*(v10+v12)-u12
-u10)*m11-4*(v10+v12-u12-u10)*n11-(v11-8*v12+2*v10+4*u12)*u12+2*(2*v11-5*v12-v10)*v10+4*(u12-v12)*n10-2*(u12-2*v12)*m10
+2*(2*v11-v12)*v11-8*v12*v12);

cd100m=2*(-(2*(v11-4*v12+2*v10)+u12+5*u11+6*u10-10*n12-10*n11-5*n10+6*m12+6*m11+3*m10+d-16*b12
-4*b10-13*a12-a11-2*a10)*a10-(2*(5*v11+v12+6*v10-4*u12+u11+2*u10+6*n12+6*n11+3*n10-5*m12-5*m11)
-5*m10+d-26*b12-2*b11-4*b10)*b10-(2*(4*v11-13*v12+8*v10+u12)+17*u11+20*u10+5*n12-5*n11-3*m12+3*m11-60*b12-2*b11-16*b10
-22*a12)*a12+(3*u11-10*u12+16*v10+14*v11+4*v12+6*u10+5*n11-3*m11+2*b12-20*b11+2*a12-7*a11)*a11+(5*v11-8*v12-v10-7*u12
+4*u11-u10)*m12+(2*(4*v11-7*v12-v10-4*u12)+5*u11-u10)*n12+(3*v11-5*v12-2*v10-5*u12+2*u11-2*u10)*m11-(3*v11-2*v12-4*u12
+u11-u10)*d+(3*v11-2*v12-4*u12+u11-u10)*m10+(2*(v11-4*v12-v10-u12)+3*u11)*n10+(5*m11-6*n11+16*u10+14*u11+4*u12+12*v10
+6*v11-20*v12+4*b12-14*b11)*b11-(5*m12+6*n11-6*n12+16*u10+8*u11-26*u12+40*v10+34*v11+4*v12-5*m11-44*b12)*b12
-(5*u12+4*v10-4*v11+10*v12-3*u11+2*u10)*n11);

cd1000=(2*(2*v11-v12)-v10-2*u12+4*u11-u10+68*b12-56*b11+4*b10+68*a12-20*a11+16*a10)*a10-(3*v11+7*v12+4*v10+7*u12+3*u11
+4*u10+172*b12-68*b11+56*b10+92*a12-34*a11)*a11+(2*v10+6*v11+9*v12+9*u12+6*u11+2*u10+260*b12-172*b11+68*b10+112*a12)*a12
+(2*(2*(2*v11-v12)-v10-u12+2*u11)-u10+136*b12-40*b11+32*b10)*b10-(7*u12+8*v10+6*v11+14*v12+3*u11+4*u10+184*b12
-68*b11)*b11+(9*u12+4*v10+12*v11+18*v12+6*u11+2*u10+224*b12)*b12+2*(30*v11+31*v12+15*v10-34*u12-7*u11)*u11
+(23*(6*n11+n12)-16*m12-48*m11)*m11+(23*(n11-18*n12)+144*m12)*m12-2*(8*m10-23*n10)*m10-4*(n10+3*n12)*d-32*(3*n11
+n12)*n11-(5*u10+26*u11+28*u12-28*v10-30*v11-60*v12)*u10-(29*u12-60*v10-62*v11-150*v12)*u12-2*(5*v10+26*v11+28*v12)*v10
-4*(7*v11+34*v12)*v11-32*n10*n10+288*n12*n12-58*v12*v12;

cd100p=-(29*u11-14*u12-26*v10+4*v11-70*v12-3*u10-184*n12+96*n11-48*n10+128*m12-64*m11+40*m10-2*b12+4*b11+4*b10-3*a12
+3*a11)*a11-(61*u12+14*v10-44*v11+48*v12-18*u11+21*u10-280*n12+144*n11-88*n10
+192*m12-104*m11+48*m10-4*b12-2*b11-8*b10-3*a12)*a12-2*(29*v11-14*v12-3*v10-35*u12+2*u11-13*u10+128*n12-64*n11+40*n10
-92*m12+48*m11-24*m10-3*b12+3*b11)*b11+2*(18*v11-61*v12-21*v10-24*u12+22*u11-7*u10-192*n12+104*n11-48*n10+140*m12-72*m11
+44*m10+3*b12)*b12-(13*u12+4*v10-4*v11+6*v12-3*u11+3*u10)*u10+(2*(2*v10-v12)-3*u12+4*u11)*u11-(2*(v11-4*v12+3*v10)
+9*u12)*u12-2*(u11+u12+4*u10)*n12+2*(3*v11-13*v12-3*v10)*v10-2*(v11+v12+4*v10)*m12+(3*a10-6*a11+12*a12+4*b10-4*b11+8*b12
-24*m10+40*m11-88*m12+40*n10-56*n11+128*n12-22*u10-22*u11-58*u12+24*v10+52*v11
+48*v12)*a10+2*(3*b10-6*b11+12*b12+20*m10-28*m11+64*m12-24*n10+40*n11-88*n12+12*u10+26*u11+24*u12
-22*v10-22*v11-58*v12)*b10+2*(2*u10+u11)*n11+2*(2*v10+v11)*m11+2*(4*v11-3*v12)*v11+2*d*v10-2*m10*v10-2*n10*u10-18*v12*v12;

cd101m=2*(-(2*(4*v11-7*v12-v10-7*u12+4*u11)-3*u10-10*n12+5*n11-5*n10+6*m12-3*m11+3*m10+d-4*b12
+2*b10-a12+a11)*a11+(2*(4*(v11-v12)-v10)-7*u12+2*u11-u10+5*n12-5*n11-3*m12+3*m11+12*b12-2*b11+8*b10+4*a12-5*a11
+a10)*a10+(2*(3*v10-8*v11+14*v12+7*u12-4*u11+u10-6*n12+3*n11-3*n10+5*m12)-5*m11
+5*m10-d+2*b12-2*b11)*b11+(2*(2*v11-7*v12-v10-4*u12+4*u11-u10-3*n12+3*n11)+5*m12-5*m11+8*b12-10*b11+2*b10)*b10-(19*u12
+8*v10-20*v11+38*v12-12*u11+3*u10-15*n12+10*n11+9*m12-6*m11+4*b12-4*b11-12*b10+2*a12)*a12+(4*v11+5*v12+3*v10-4*u12-2*u11
-u10)*d-(4*v11+5*v12+3*v10-4*u12-2*u11-u10)*m10+(2*(2*(v11+2*v12)+v10)-5*u12-4*u11-3*u10)*n10+(2*(v11+2*v12+2*v10)-u12
-u11+u10)*n11-(v11+v12-v10-2*u12-u11-2*u10)*m11-(3*v10+2*v11-u12+u11+2*u10)*m12-(2*(v11-v12+2*v10+u11)+3*u10)*n12+(15*m12
+12*n11-18*n12-8*u10+20*u11-38*u12-6*v10+24*v11-38*v12-10*m11-4*b12)*b12);

cd1010=2*(-(v11+v12+v10+u12+u11+u10+40*b12-12*b11+12*b10+8*a12)*a12-(v11-v12-u12+u11+12*b12
-4*b11+4*a12-4*a11+2*a10)*a10+(u12+v12+12*b12-12*b11+4*b10+16*a12-2*a11)*a11-(2*(v11+v12+v10)+u12+u11+u10+16*b12)*b12
-(2*(v11-v12)-u12+u11+8*b12-8*b11+4*b10)*b10-(2*(v11+4*v12+v10-u12-2*u11)-u10)*u10-(2*(2*(2*v11+v12)+v10-5*u12)
-u11)*u11+(u12+2*v12+32*b12-4*b11)*b11+2*(2*(2*v11+v12)+v10)*v10-(16*m11-23*n11)*m10-2*(8*m12-23*n12)*m12+(u12-8*v10-4*v11
-22*v12)*u12+2*(v11+10*v12)*v11+d*n11+23*m11*n10-32*n10*n11-32*n12*n12+2*v12*v12);

cd101p=(11*u12-12*v10-12*v11-26*v12+11*u11+4*u10-48*n12-16*n11-24*n10+32*m12+8*m11+8*m10-2*b12+2*b11-3*a12+3*a11)*a10
+2*(11*(v11+v12)+4*v10-13*u12-6*u11-6*u10+32*n12+8*n11+8*n10-24*m12-8*m11-12*m10-3*b12+3*b11)*b10+(21*u11+18*u12-6*v10
-14*v11-40*v12+16*u10-40*n12+8*n11-32*n10+24*m12-16*m11-8*m10-8*b12-2*b10-6*a12)*a12+2*(16*v10+21*v11+18*v12-20*u12-7*u11
-3*u10+24*n12-16*n11-8*n10-20*m12+4*m11-16*m10-6*b12)*b12+2*(15*v11+4*v12-2*v10-20*u12-5*u11
-11*u10+24*n12+16*n10-16*m12+4*m11+3*b11)*b11+(15*u11+4*u12-22*v10-10*v11-40*v12-2*u10-32*n12+8*n11+24*m12+16*m10+4*b11
+2*b10+3*a11)*a11-2*(u11-2*u12-u10)*n12+(5*u12-10*v10-8*v11+6*v12-3*u11)*u11
-2*(v11-2*v12-v10)*m12-2*(6*(v11-3*v12)-5*v10)*v10+(5*u10-6*u11+18*u12+12*v10-10*v11+22*v12)*u10
-2*(u11-u12)*n11+(3*u12+22*v10+6*v11+4*v12)*u12-2*(3*v11-5*v12)*v11-2*(v11-v12)*m11+2*d*v11-2*m10*v11-2*n10*u11+6*v12*v12;

cd102m=2*((2*(5*v11-11*v12+v10)-13*u12+13*u11+3*u10+10*n12-5*n11+5*n10-6*m12+3*m11-3*m10-d-20*b12-2*b10-7*a12)*a12
+(2*(13*(v11-v12)+3*v10-11*u12+5*u11+u10-6*n12+3*n11-3*n10+5*m12)-5*m11+5*m10
-d-14*b12)*b12-(2*(5*(v11-v12)+v10-4*u12+2*u11)+u10-5*n12+5*n11+3*m12-3*m11-4*b11+4*b10-a12-2*a11)*a11+(2*(2*(v11-v12)
+v10)-5*u12+3*u11-5*n11+3*m11-2*b12-4*b11+a12-a11+a10)*a10-(2*(4*(v11-2*v12)+v10-5*u12+5*u11+u10+3*n12-3*n11)-5*m12
+5*m11-2*b12-4*b11)*b11+(2*(3*v11-5*v12-2*u12+2*u11+u10+3*n11)-5*m11+2*b12-2*b11+2*b10)*b10-(2*(2*v11+v12+v10-2*u12)
-u11-u10)*n10-(2*v11-3*v12+v10-2*u12+2*u11+u10)*m12-(v11+4*v12+v10-u12-2*u11-u10)*d+(v11+4*v12+v10-u12-2*u11
-u10)*m10-(2*(2*(v11-v12)+v10)-3*u12+2*u11+u10)*n12+(2*v10+3*v12+u12-u11+u10)*m11-(2*(v11-v12-v10)-3*u12-2*u10)*n11);

cd1020=2*((v11+2*v12+v10+2*u12+u11+u10+52*b12-24*b11+16*b10+32*a12-10*a11)*a11-(2*v11+3*v12+v10
+3*u12+2*u11+u10+88*b12-52*b11+24*b10+34*a12)*a12-(u11+v11+24*b12-16*b11+4*b10+20*a12-8*a11+4*a10)*a10+(2*(v11+2*v12
+v10+u12)+u11+u10+64*b12-20*b11)*b11-(2*(2*v11+3*v12+v10)+3*u12+2*u11+u10+68*b12)*b12-2*(5*v11+9*v12+4*v10-5*u12-4*u11
-u10)*u10-(u11+2*v11+40*b12-16*b11+8*b10)*b10+(23*(n10+6*n12)-48*m12)*m12+4*(4*v11+5*v12+v10)*v10+2*(8*m11-23*n11)*m11
-(16*m12-23*n12)*m10+(5*u11+20*u12-10*v10-18*v11-22*v12)*u11+(11*u12-18*v10-22*v11-44*v12)*u12+10*(v11+4*v12)*v11+d*n12
-32*n10*n12+32*n11*n11-96*n12*n12+22*v12*v12);

cd102p=(2*(7*v11-8*v12-v10-9*u12)+7*u11-4*u10-56*n12+40*n11-8*n10+40*m12-24*m11+16*m10+2*b10)*a11
-(2*(6*(v11+v12)+5*v10)-11*u12-4*u11-u10+24*n12-32*n11+8*n10-16*m12+24*m11-2*b11-3*a11)*a10+2*(7*v11-18*v12-4*v10-8*u12
+7*u11-u10+40*n12-24*n11+16*n10-28*m12+20*m11-4*m10)*b11+2*(4*v11+11*v12+v10-6*u12-6*u11-5*u10+16*n12-24*n11-12*m12
+16*m11-4*m10+3*b11)*b10-2*(2*(3*v10+7*v11-7*u12-u10-32*n12+20*n11-4*n10+24*m12-12*m11+10*m10)-3*b12)*b12-(2*(2*(v11-v12)
+3*v10)-3*u12+3*u11)*u11-(5*u11-12*u12-8*v10+6*v11-14*v12-3*u10)*u10+2*(u11-u12+u10)*n12+2*(7*v10+2*v11+2*u12)*u12
-2*(5*v11-12*v12-3*v10)*v10+2*(v11-v12+v10)*m12+(3*a12+4*b12+8*m10-40*m11+64*m12-40*n10+48*n11-96*n12-6*u10-14*u11+4*v10
+28*v12)*a12-2*(u10+u12)*n11-2*(v10+v12)*m11-6*(v11-v12)*v11+2*d*v12-2*m10*v12-2*n10*u12+8*v12*v12;

cd110m=-(7*u12-16*v10-12*v11+6*v12-7*u11-10*u10+4*n12+4*n11+2*n10+22*b12-2*b11+4*b10+23*a12+3*a11+4*a10)*a10+2*(7*(v11
-v12)+10*v10-3*u12+6*u11+8*u10-2*m12-2*m11-m10+d-23*b12-3*b11-4*b10)*b10
+(25*u11-24*u12+56*v10+42*v11-22*v12+36*u10+2*n12-2*n11-92*b12-2*b11-22*b10-36*a12)*a12-(17*u11-6*u12+28*v10+20*v11
-16*v12+22*u10+2*n11+2*b12-32*b11-2*b10+4*a12-11*a11)*a11+2*(25*v11-24*v12+36*v10
-11*u12+21*u11+28*u10+m12-m11-36*b12)*b12-2*(17*v11-6*v12+22*v10-8*u12+10*u11+14*u10+m11+4*b12-11*b11)*b11+4*(v11
+6*v12+2*v10-2*u12-2*u11-u10)*m10-4*(2*(2*(v11+v12)+v10-3*u12)-u11-2*u10)*n10-4*(2*(v11-v12-3*u12)+3*u11-u10)*n12-4*(3*(v11
-2*v12)-v10-u12+u11)*m12+4*(5*u12-2*v11-u11+2*u10)*n11-4*(v11-5*v12-2*v10+u11)*m11+(2*(u11+u12)+u10)*u10+2*(2*(v11+v12)
+v10)*v10+(u11+u12)*u11+2*(v11+v12)*v11-u12*u12-2*v12*v12;

cd1100=-8*(n10+3*n12-3*m12-m10)*d;

cd110p=-(2*(2*(4*v11+v12+v10)-9*u12-u11-3*u10-6*n12+3*n11-n10+5*m12-2*m11+2*m10+2*d+8*b12-4*b11+4*b10+2*a12-a11)
+a10)*a10+2*(2*(v11+9*v12+3*v10-u12-4*u11-u10-5*n12+2*n11-2*n10+3*m12)-3*m11+m10+d-4*b12+2*b11-b10)*b10+(13*u11
-16*u12-12*v10+10*v11-34*v12-5*u10+18*n12-8*n11+8*n10-14*m12+8*m11-2*m10-2*d-4*b12+8*b11+8*b10-a12+a11)*a11+(33*u12
+12*v10-24*v11+38*v12-14*u11+11*u10+26*n12-16*n11+2*n10-22*m12+10*m11-10*m10-10*d-8*b12-4*b11-16*b10-a12)*a12
+2*(13*v11-16*v12-5*v10-17*u12+5*u11-6*u10-14*n12+8*n11-2*n10+9*m12-4*m11+4*m10+4*d-b12+b11)*b11-2*(14*v11-33*v12-11*v10
-19*u12+12*u11-6*u10+22*n12-10*n11+10*n10-13*m12+8*m11-m10-d+b12)*b12+4*(2*(v11+v12+4*v10)-u12-u11-4*u10)*n12-4*(v11+v12
+4*v10-u12-u11-4*u10)*m12-(2*(v11-10*v12-4*v10)+7*u12+u11+u10)*u10-(2*(2*(4*v11-v12)+v10)+u12-4*u11)*u11-4*(2*(2*v10
+v11)-u11-2*u10)*n11+4*(2*v10+v11-u11-2*u10)*m11+(4*(v11+11*v12+5*v10)-13*u12)*u12-2*(v11+7*v12+v10)*v10+4*(u10
-v10)*m10-4*(u10-2*v10)*n10+2*(4*v11-v12)*v11-26*v12*v12;

cd111m=(15*u12+4*v10-12*v11+22*v12-10*u11+3*u10-2*n12+2*n11-28*b12-4*b11-20*b10+13*a11+a10)*a10-2*(5*v10-16*v11+28*v12
+21*u12-12*u11+4*u10+2*m12-m11+m10-d-b12-3*b11)*b11-(5*u10-16*u11+28*u12+8*v10-24*v11+42*v12+4*n12-2*n11+2*n10+10*b12
+4*b11+4*b10-a12-3*a11)*a11+(57*u12+14*v10-44*v11+76*v12-32*u11+11*u10-6*n12+4*n11+4*b12-10*b11-28*b10+4*a12)*a12
+2*(3*v10-10*v11+15*v12+11*u12-6*u11+2*u10-m12+m11+13*b11+b10)*b10-2*(32*v11-57*v12-11*v10-38*u12+22*u11-7*u10+3*m12
-2*m11-4*b12)*b12-4*(8*v11+13*v12+5*v10-9*u12-6*u11-4*u10)*m10-4*(3*v11+5*v12+3*v10-3*u12-2*u11-u10)*m11+4*(2*(2*v11+3*v12
+v10)-5*u12-3*u11-3*u10)*n11+4*(v10-2*v12+u12+u11+u10)*m12+4*(2*(v11+v12+v10-u12)+u10)*n12-4*(13*u12-8*v10-12*v11
-18*v12+8*u11+5*u10)*n10+u10*u12-u11*u11+3*u12*u12+2*v10*v12-2*v11*v11+6*v12*v12;

cd1110=-4*(m11-n11)*d;

cd111p=-(2*(v10-6*v12+u12)+7*u11+6*u10+2*n12-6*n11-12*n10-4*m12-2*m11-10*m10-10*d-16*b12-4*b10
-2*a12)*a12+(2*(v11+4*v12+2*v10)-u12-3*u11-4*n12+2*n10+4*m12+2*m11+4*m10+4*d+4*b12-4*b11+a12-a11)*a10-(5*u11-4*u12
-10*v10-16*v12-4*u10+4*n12+2*n11+8*n10-2*m12+2*m11+4*m10+4*d+8*b11+4*b10+a11)*a11-2*(7*v11+2*v12+6*v10-6*u12+u10-4*n12
-2*n11-10*n10+m12-3*m11-6*m10-6*d-2*b12)*b12-2*(5*v11-4*v12-4*v10-8*u12-5*u10-2*n12+2*n11+4*n10+2*m12+m11+4*m10+4*d
+b11)*b11-2*(3*v11+v12-4*u12-u11-2*u10-4*n12-2*n11-4*n10+2*m12-m10-d-b12+b11)*b10-4*(v11-2*v12-v10+2*u12-u11
+u10)*m12+4*(2*(v11-2*v12-v10+u12)-u11+u10)*n12+(2*(v11-7*v12-4*v10-2*u12+2*u11)-u10)*u10+(2*(2*(v11-v12)+v10)
-u12+u11)*u11+4*(2*(v11-v12)+u12-u11)*n11-4*(v11-v12+u12-u11)*m11+2*(4*(v11-v12)-v10)*v10+4*(u11
-v11)*m10-4*(u11-2*v11)*n10+(u12-14*v10-4*v11-8*v12)*u12+2*(v11-v12)*v11+2*v12*v12;

cd112m=-(2*(5*v11-7*v12+v10)-9*u12+7*u11+2*u10-2*n11-8*b12-10*b11-4*b10+5*a12+a11+3*a10)*a10+(35*u12-8*v10-36*v11
+48*v12-23*u11-5*u10-4*n12+2*n11-2*n10+32*b12+2*b11+8*b10+11*a12)*a12-2*(23*v11
-35*v12+5*v10-24*u12+18*u11+4*u10+2*m12-m11+m10-d-11*b12)*b12-2*(7*v11-9*v12+2*v10-7*u12+5*u11+u10-m11+5*b12
+b11+3*b10)*b10+(3*u10+14*u11-18*u12+4*v10+18*v11-26*v12-2*n12+2*n11+2*b12-4*b11+10*b10-3*a12-4*a11)*a11+2*(3*v10+14*v11
-18*v12-13*u12+9*u11+2*u10-m12+m11-3*b12-4*b11)*b11+4*(5*v11+6*v12+3*v10-5*u12-3*u11-2*u10)*m10+4*(2*v11+v12-2*u12-u11
-u10)*m11-4*(2*(v11+2*v12+v10)-u12-2*u11)*n11-4*(u12+2*v12-2*u11-u10)*n12+4*(2*v11-v12+v10-u12)*m12+4*(5*u11+6*u12-4*v10
-6*v11-10*v12+3*u10)*n10-(u11-u12)*u10-2*(v11-v12)*v10-u11*u11+2*u12*u12-2*v11*v11+4*v12*v12;

cd1120=-4*(m12-n12)*d;

cd112p=(2*(2*v11+v12+2*v10)-3*u12+u10-2*n12+4*n11+2*n10+2*m12-2*m11+2*m10+2*d-4*b11-a11)*a10+(2*(2*(v11-3*v12-u12)+3*u11
+u10-4*n12+4*n11+3*n10+4*m12-m11+4*m10+4*d-4*b12)-a12)*a12+(2*(v10-4*v11+6*v12+5*u12)-5*u11+2*u10-6*n12+2*n11-6*n10
+4*m12-4*m11-2*m10-2*d-4*b10)*a11+2*(v10-3*v12+u12+2*u11+2*u10+2*n12-2*n11+2*n10-m12+2*m11+m10+d-b11)*b10+2*(2*(3*v11
-2*v12+v10-3*u12+u11+4*n12-n11+4*n10-2*m12+2*m11)+3*m10+3*d-b12)*b12-2*(5*(v11-2*v12)-2*v10-6*u12+4*u11-u10-4*n12+4*n11
+2*n10+3*m12-m11+3*m10+3*d)*b11+(2*(2*v11-5*v12-2*v10-u12)+u11-u10)*u10-4*(2*(v11-v12+v10)+u12-u11-u10)*n12+4*(v11-v12
+v10+u12-u11-u10)*m12+(2*(4*v11-v12+2*v10)-u12-u11)*u11+4*(2*(v10+v12)-u12-u10)*n11-4*(v10+v12-u12-u10)*m11-2*(v11
+8*v12+5*v10-2*u12)*u12+2*(v11-2*v12-v10)*v10+4*(u12-v12)*m10-4*(u12-2*v12)*n10-2*(v11+v12)*v11+8*v12*v12;

  dta1=3*cf2+d*d;
  dta2=3*cf1;

dd000m=cd000m*dta1-2*cd100m*dta2;
dd0000=cd0000*dta1-2*cd1000*dta2;
dd000p=cd000p*dta1-2*cd100p*dta2;
dd001m=cd001m*dta1-2*cd101m*dta2;
dd0010=cd0010*dta1-2*cd1010*dta2;
dd001p=cd001p*dta1-2*cd101p*dta2;
dd002m=cd002m*dta1-2*cd102m*dta2;
dd0020=cd0020*dta1-2*cd1020*dta2;
dd002p=cd002p*dta1-2*cd102p*dta2;
dd010m=cd010m*dta1-2*cd110m*dta2;
dd0100=cd0100*dta1-2*cd1100*dta2;
dd010p=cd010p*dta1-2*cd110p*dta2;
dd011m=cd011m*dta1-2*cd111m*dta2;
dd0110=cd0110*dta1-2*cd1110*dta2;
dd011p=cd011p*dta1-2*cd111p*dta2;
dd012m=cd012m*dta1-2*cd112m*dta2;
dd0120=cd0120*dta1-2*cd1120*dta2;
dd012p=cd012p*dta1-2*cd112p*dta2;
dd100m=-cd000m*dta2+cd100m*dta1;
dd1000=-cd0000*dta2+cd1000*dta1;
dd100p=-cd000p*dta2+cd100p*dta1;
dd101m=-cd001m*dta2+cd101m*dta1;
dd1010=-cd0010*dta2+cd1010*dta1;
dd101p=-cd001p*dta2+cd101p*dta1;
dd102m=-cd002m*dta2+cd102m*dta1;
dd1020=-cd0020*dta2+cd1020*dta1;
dd102p=-cd002p*dta2+cd102p*dta1;
dd110m=-cd010m*dta2+cd110m*dta1;
dd1100=-cd0100*dta2+cd1100*dta1;
dd110p=-cd010p*dta2+cd110p*dta1;
dd111m=-cd011m*dta2+cd111m*dta1;
dd1110=-cd0110*dta2+cd1110*dta1;
dd111p=-cd011p*dta2+cd111p*dta1;
dd112m=-cd012m*dta2+cd112m*dta1;
dd1120=-cd0120*dta2+cd1120*dta1;
dd112p=-cd012p*dta2+cd112p*dta1;

		     { // LOOP M
		      cijklcalccount++;
		      if ((cijklcalccount%1000000000)==0)
		      {
                       billioncijklcalccount++;
		       cijklcalccount=0;
		       }

// The number 39168 below is 2^8*3^2*17.

if ((((39168*dd000m)%normdta) == 0) && (((39168*dd0000)%normdta) == 0) && (((39168*dd000p)%normdta) == 0) && 
    (((39168*dd001m)%normdta) == 0) && (((39168*dd0010)%normdta) == 0) && (((39168*dd001p)%normdta) == 0) && 
    (((39168*dd002m)%normdta) == 0) && (((39168*dd0020)%normdta) == 0) && (((39168*dd002p)%normdta) == 0) && 
    (((39168*dd010m)%normdta) == 0) && (((39168*dd0100)%normdta) == 0) && (((39168*dd010p)%normdta) == 0) && 
    (((39168*dd011m)%normdta) == 0) && (((39168*dd0110)%normdta) == 0) && (((39168*dd011p)%normdta) == 0) && 
    (((39168*dd012m)%normdta) == 0) && (((39168*dd0120)%normdta) == 0) && (((39168*dd012p)%normdta) == 0) && 
    (((39168*dd100m)%normdta) == 0) && (((39168*dd1000)%normdta) == 0) && (((39168*dd100p)%normdta) == 0) && 
    (((39168*dd101m)%normdta) == 0) && (((39168*dd1010)%normdta) == 0) && (((39168*dd101p)%normdta) == 0) && 
    (((39168*dd102m)%normdta) == 0) && (((39168*dd1020)%normdta) == 0) && (((39168*dd102p)%normdta) == 0) && 
    (((39168*dd110m)%normdta) == 0) && (((39168*dd1100)%normdta) == 0) && (((39168*dd110p)%normdta) == 0) && 
    (((39168*dd111m)%normdta) == 0) && (((39168*dd1110)%normdta) == 0) && (((39168*dd111p)%normdta) == 0) && 
    (((39168*dd112m)%normdta) == 0) && (((39168*dd1120)%normdta) == 0) && (((39168*dd112p)%normdta) == 0))

  { // LOOP N
   solutioncount++;
   printf("%s%d%s%d%s","Number of cases considered = ",billioncount," billions, plus ",count,"\n");
   printf("%s%d%s%d%s","Number for which conda1 was calculated is ",billionconda1calccount," billions, plus ",conda1calccount,"\n");
   printf("%s%d%s%d%s","Number for which conda2 was calculated is ",billionconda2calccount," billions, plus ",conda2calccount,"\n");
   printf("%s%d%s","Solution count so far = ",solutioncount,"\n");
   printf("%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s","\n{d1=",d,",d2=",0,",a10=",a10,",a11=",a11,",a12=",a12,",b10=",b10,",b11=",b11,",b12=",b12,",m10=",m10,",m11=",m11,",m12=",m12,",\nn10=",n10,",n11=",n11,",n12=",n12,",u10=",u10,",u11=",u11,",u12=",u12,",v10=",v10,",v11=",v11,",v12=",v12,"}\n\n");

   fprintf(out,"%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s","\n{d1=",d,",d2=",0,",a10=",a10,",a11=",a11,",a12=",a12,",b10=",b10,",b11=",b11,",b12=",b12,",m10=",m10,",m11=",m11,",m12=",m12,",\nn10=",n10,",n11=",n11,",n12=",n12,",u10=",u10,",u11=",u11,",u12=",u12,",v10=",v10,",v11=",v11,",v12=",v12,"}\n\n");
   fflush(out);
} // end of loop N
} // end of loop M
} // end of loop L
} // end of loop K
} // end of loop J
} // end of loop I
} // end of loop H
} // end of loop G
} // end of loop F
} // end of loop E
} // end of loop D
} // end of loop C
} // end of loop B

   printf("%s%d%s%d%s","Number of cases considered = ",billioncount," billions, plus ",count,"\n");
   printf("%s%d%s%d%s","Number for which conda1 was calculated is ",billionconda1calccount," billions, plus ",conda1calccount,"\n");
   printf("%s%d%s%d%s","Number for which conda2 was calculated is ",billionconda2calccount," billions, plus ",conda2calccount,"\n");
   printf("%s%d%s","Solution count = ",solutioncount,"\n");
   fprintf(out,"%s%d%s","Solution count = ",solutioncount,"\n");
   fclose(out);

} // end of MAIN loop

