#include <stdio.h>
#include <math.h>


yabx(ax,ay,n,az)
float *ax,*ay,*az;
/* float *a,*b,*as,*bs;   az[4]; */
int n;
{
  float x,y,xx,xy,a,b,as,bs;
  int   i;
  x=y=xx=xy=0.;
  for(i=0;i<n;i++){
    a=ax[i]; b=ay[i];
    x+=a;    y+=b;
    xx+=a*a; xy+=a*b;
  }
  as=n;
  bs=as*xx-x*x;
  a=(as*xy-x*y)/bs;
  b=(y-a*x)/as;
  x=0;
  for(i=0;i<n;i++){ y=ax[i]*a+b-ay[i]; x+=y*y; }
  x/=(as-2.);
  as=sqrt(as/bs*x);
  bs=sqrt(xx/bs*x);
  az[0]=a; az[1]=as; az[2]=b; az[3]=bs;
}

main()
{
  FILE *fp,*fp1;
  int i,n;
  float ax[99],ay[99],xx[4],yy[4];
  fp=fopen("yabx.dat","r");
  fp1=fopen("offset.dat","w");
  fscanf(fp,"%d\n",&n);
  for(i=0;i<n;i++)fscanf(fp,"%f ",&ax[i]);  
  for(i=0;i<n;i++)fscanf(fp,"%f ",&ay[i]); 
  printf("%d\n",n); 
  for(i=0;i<n;i++)printf("%f ",ax[i]); printf("\n");
  for(i=0;i<n;i++)printf("%f ",ay[i]); printf("\n");
  yabx(ax,ay,n,xx);
  printf("k=%f b=%f\n",xx[0],xx[2]);
  fscanf(fp,"%d\n",&n);
  for(i=0;i<n;i++)fscanf(fp,"%f ",&ax[i]);  
  for(i=0;i<n;i++)fscanf(fp,"%f ",&ay[i]); 
  printf("%d\n",n); 
  for(i=0;i<n;i++)printf("%f ",ax[i]); printf("\n");
  for(i=0;i<n;i++)printf("%f ",ay[i]); printf("\n");
  yabx(ax,ay,n,yy);
  printf("k=%f b=%f\n",yy[0],yy[2]);
  fprintf(fp1,"0.0   0.0\n");
  fprintf(fp1,"%f %f\n",yy[0],yy[2]);
  fprintf(fp1,"%f %f\n",xx[0],xx[2]);
  fclose(fp1);
  
}
