kPrint(file,g,comp)
FILE *file;
poly g;
int comp;
{
  POLY f;
  int i,j,size;
  int printed = 0;
  extern char **varnames;

  if (2*N != numvars) fprintf(file,"Error(kPrint): 2*N != numvars\n");
  f = mToKan1(g);
  size = pSize(f);
  fprintf(file,"$");
  if (size == 0) fprintf(file,"0");
  for (i=0; i<size; i++) {
    if (f[i]->compt == comp) {
      printed = 1;
      printf("   +(%d)",f[i]->coeff);
      for (j=0; j<N; j++) {
	if (f[i]->e[j].x) {
	  fprintf(file," %s^(%d)",varnames[j+N],f[i]->e[j].x);
	}
      }
      for (j=0; j<N; j++) {
	if (f[i]->e[j].D) {
	  fprintf(file," %s^(%d)",varnames[j],f[i]->e[j].D);
	}
      }
    }
  }
  if (!printed) fprintf(file,"0");
  fprintf(file," ");
  fprintf(file,"$ ");
  polyFree(f);
}
