#include <stdio.h>
FILE *fp;
char c1[14],c2[14],b[144],ff[50];
float a[4],d[4];
float r,u,v,x,y,z;
float flux;
main(int ac, char **av)
{
  int i,j,k,ij,ip=0;
  if(ac<4){ printf("\n\t***** whoiswho *****\n");
            printf("\n\tUsage: whoiswho 4 00:43:57 41:27:28\n\n");
            exit(0); }
  sscanf(av[1],"%d",&k);
  strcpy(c1,av[2]);  strcpy(c2,av[3]);
  chs(c1,&x); chs(c2,&y);
  printf("%d %f %f\n",k,x,y); 
  fp=fopen("fitma.pos9","r");  k--;
  if(fp==0){ printf("fitma.pos9 not found!\n"); exit(0); }
  r=999.;  j=0;
l10: ip++;
  fgets(b,144,fp); if(feof(fp))goto l20;
  if(b[0]=='#')goto l10;
  if(b[0]=='*')goto l20;
  for(ij=0;ij<80;ij++)if(b[ij]==32)break; b[ij]=0; ij++;  
  sscanf(&b[ij],"%f %f %f %f %f %f %f %f %f",
  &a[0],&d[0],&a[1],&d[1],&a[3],&d[3],&a[2],&d[2],&flux); 
//   printf("%f %f\n",a[k],d[k]);
  u=a[k]-x; if(u<0.)u=-u; u*=15.;
  v=d[k]-y; if(v<0.)v=-v;
  z=u+v;
  if(z<r){ strcpy(ff,b); j=ip; r=z; }
  goto l10;
l20:
  fclose(fp);
  printf("%d:  %s %f\n",j,ff,r);
}

chs(a,y)
char *a; float *y;
{
  float x;
  char b[20];
  int i,j,k;
  strcpy(b,a); k=strlen(b);
  j=1; for(i=0;i<k;i++){ if(b[i]==32)continue; if(b[i]=='-')j=-1; break; }
  for(i=0;i<k;i++)if(b[i]<'.' || b[i]> '9')b[i]=32;
  i=k=0; x=0.; sscanf(b,"%d %d %f",&i,&k,&x);
  x=k/60.+x/3600.+i;
  *y=x*j;
}

toms2(aa,c,k)
double aa;           // input
char c[14];          // output
int k;               // input
{
  int  i,j;
  double a,b,x;
  a=aa;
  if(k==1){ if(a>24.)a-=24.; if(a<0.)a+=24.; }
  c[0]=32; if(a<0.){ a=-a; c[0]='-'; }
  i=a; b=(a-i)*60.;
  j=b; x=(b-j)*60.;
  if(j==60){ j=0; i++; }
  if(k==1)sprintf(&c[1],"%2.2d:%2.2d:%6.3f",i,j,x);
  if(k==0)sprintf(&c[1],"%2.2d:%2.2d:%5.2f",i,j,x);
  if(c[7]==32)c[7]='0';   if(c[8]==32)c[8]='0';
  if(c[7]=='6'){
    c[7]='0'; j++; sprintf(&c[4],"%2.2d",j);
    if(c[4]=='6'){
      c[4]='0'; i++; sprintf(&c[1],"%2.2d",i);
    }
    c[3]=':'; c[6]=':';
  }
}
