void ExpConf(int i, int *ntrisc)
{
    int j,conf,first;

    first = 1;
    for (j=0; j < ligtyp[TriArr[i]->lig[0]]->nconf; j++) {
	conf = ligtyp[TriArr[i]->lig[0]]->ConfArr[j];

	if (TriFin[conf] != NULL) {
	   if (Find_Lig_Conf(conf,i)) {
	      if (first) {

		Trans_Coo(TriArr[i],TriFin[conf]->coo);
		TriArr[i]->conf = conf;
		first = 0;

	      } else {

	 	TriAll(&TriArr[*ntrisc]);
		TriArr[*ntrisc]->coo = 
			(double *) malloc(sizeof(double)*ndocka*3);
		memcpy(TriArr[*ntrisc], TriArr[i], sizeof(TRISTRU));
		Trans_Coo(TriArr[*ntrisc],TriFin[conf]->coo);
		TriArr[*ntrisc]->conf = conf;
		first = 0;
		(*ntrisc)++;
	      }
	   }
	}
    }
}

double DstTwo(int il0,int il1,int type)
{
   int j;
   double c0[3],c1[3],d01,dd;

   dd = 0.0;
   if (type == 0) {
	for (j=0; j < 3; j++) {
	   c0[j] = ligtyp[il0]->c[0][j];
	   c1[j] = ligtyp[il1]->c[0][j];
	   dd = dd + (c0[j]-c1[j])*(c0[j]-c1[j]);
	}
   } else {
	for (j=0; j < 3; j++) {
	   c0[j] = inttyp[il0]->c[0][j];
	   c1[j] = inttyp[il1]->c[0][j];
	   dd = dd + (c0[j]-c1[j])*(c0[j]-c1[j]);
	}
   }
   return(sqrt(dd));
}

