semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main(int argc, char* argv[])
{
	int n,i,j;
	float a,dis=0;
	struct point
	{	
		float x,y;
	}p[100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%f %f",&(p[i].x),&(p[i].y));
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			a=sqrt(pow(p[i].x-p[j].x,2)+pow(p[i].y-p[j].y,2));
			if(a>=dis)
			{
				dis=a;
			}
		}
	}
	printf("%.4f",dis);
	return 0;
}
int main()
{
	double a[10],b[10],c,max=0.0;
	int n,i=0,j=0;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%lf%lf",&a[i],&b[i]);
	}
	for(i=0;i<n-1;i++){
		for(j=i+1;j<n;j++){
			c=sqrt(pow(a[j]-a[i],2)+pow(b[i]-b[j],2));
			if(c>max)
				max=c;
		}
	}
	printf("%.4lf",max);
	return 0;
}
float max(float*d)
{
	float maxd=0;
	for(int i=0;i<1000;i++)
	{
		if(d[i]>maxd)
			maxd=d[i];
	}
	return maxd;
}
main()
{
	int n;
	scanf("%d",&n);
	float p[100][2];
	float d[1000];
	int i,j,k=0;
	for(i=0;i<1000;i++)
		d[i]=0;
	for(i=0;i<n;i++)
		scanf("%f %f",&p[i][0],&p[i][1]);
	for(i=0;i<n-1;i++)
	{
		for(j=i+1;j<n;j++)
		{
			d[k]=sqrt((p[i][0]-p[j][0])*(p[i][0]-p[j][0])+(p[i][1]-p[j][1])*(p[i][1]-p[j][1]));
			k++;
		}
	}
	float maxd;
	maxd=max(d);
	printf("%.4f",maxd);
}
int main()
{
	int n,i,j;
	cin>>n;
	double num[100][2];
	for(i=1;i<=n;i++)
	{
		cin>>num[i][0]>>num[i][1];
	}
	double Mdis=0.0,dis;
	for(i=1;i<=n-1;i++){
		for(j=i+1;j<=n;j++){
			dis=sqrt(pow(num[i][0]-num[j][0],2)+pow(num[i][1]-num[j][1],2));
			if(Mdis<dis)
			{
				Mdis=dis;
			}
			else
				continue;
		}
	}
	cout<<Mdis<<endl;
	return 0;
}
int main()
{
	int n,i,j;
	double a,b;
	double d,maxd,maxd1;
	struct distance{
		double x,y;
	}*num;
	scanf("%d",&n);
	num=(struct distance*)malloc(sizeof(int)*n);
	for(i=0;i<n;i++)
	{
		scanf("%lf %lf",&a,&b);
		(num+i)->x=a;
		(num+i)->y=b;
	}
	for(i=0;i<n;i++)
	{
		if(i==0)
		{
		     for(j=i+1;j<n;j++)
			 {
			        
			        d=sqrt(((num+i)->x-(num+j)->x)*((num+i)->x-(num+j)->x)+((num+i)->y-(num+j)->y)*((num+i)->y-(num+j)->y));
			        if(j==i+1)
			   	        maxd=d;
			        else
					{
				        if(d>maxd)
					    maxd=d;
					}	
			 }
			 maxd1=maxd;
		}
		else 
		{
		     for(j=i+1;j<n;j++)
			 {
			        d=sqrt(((num+i)->x-(num+j)->x)*((num+i)->x-(num+j)->x)+((num+i)->y-(num+j)->y)*((num+i)->y-(num+j)->y));
			        if(j==i+1)
			   	        maxd=d;
			        else
					{
				        if(d>maxd)
					    maxd=d;
					}
					
			 }          
			if(maxd>maxd1)
			maxd1=maxd;
		}
	}
	printf("%.4lf",maxd1);
	return 0;
}
int main()
{
    int n,i,j;
    scanf("%d",&n);
    double *p;double* q;double *r;
    r=(double*)malloc((n*(n-1)/2)*sizeof(double));
    p=(double*)malloc((n)*sizeof(double));
    q=(double*)malloc((n)*sizeof(double));
    for(i=0;i<n;i++)
    {
        scanf("%lf %lf",p+i,q+i);
    }
    int s;s=-1;
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
        {
            s=s+1;
            r[s]=sqrt((p[i]-p[j])*(p[i]-p[j])+(q[i]-q[j])*(q[i]-q[j]));
        }
    }
    for(i=1;i<n*(n-1)/2;i++)
    {
        if(r[i]>r[0])
        r[0]=r[i];
    }
    printf("%0.4f\n",r[0]);
    return 0;
}
void main()
{
 int n,i,j;
 double a[100][2],max;
 scanf("%d",&n);
 for(i=0;i<n;i++)
	 for(j=0;j<2;j++)
		 scanf("%lf",&a[i][j]);
 max=sqrt((a[0][0]-a[1][0])*(a[0][0]-a[1][0])+(a[0][1]-a[1][1])*(a[0][1]-a[1][1]));
 for(i=0;i<n;i++)
 {
  for(j=i;j<n;j++)
  {
   if(max<sqrt((a[i][0]-a[j][0])*(a[i][0]-a[j][0])+(a[i][1]-a[j][1])*(a[i][1]-a[j][1])))
	   max=sqrt((a[i][0]-a[j][0])*(a[i][0]-a[j][0])+(a[i][1]-a[j][1])*(a[i][1]-a[j][1]));
  }
 }
 printf("%.4lf",max);
}
void main()
{
   int n,i,j;
   double a[100],b[100],max=0;
   scanf("%d",&n);
   for(i=0;i<n;i++)
   {
      scanf("%lf%lf",&a[i],&b[i]);
   }
   for(i=0;i<n;i++)
   {
      for(j=i+1;j<n;j++)
	  {
	     if((a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j])>max)max=(a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j]);
	  }
   }
   max=sqrt(max);
   printf("%.4f\n",max);
}
main()
{
    int n,i,j;
    double d,maxd=0;
    struct
    {
        double x,y;
    }pts[100];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%lf %lf",&pts[i].x,&pts[i].y);
        for(j=0;j<i;j++)
        {
            d=sqrt((pts[i].x-pts[j].x)*(pts[i].x-pts[j].x)+(pts[i].y-pts[j].y)*(pts[i].y-pts[j].y));
            if(d>maxd)maxd=d;
        }
    }
    printf("%.4lf",maxd);
    return 0;
}
float distance(float x1,float y1,float x2,float y2)
{
	float z;
	z=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
	float d;
	d=sqrt(z);
	return d;
}


int main()
{
	int n;
	scanf("%d",&n);

	struct {
		float x,y;
	} zuobiao[100];
	float dist[100][100];
	
	int i,j;
	for(i=0;i<n;i++)
	{
		scanf("%f %f",&zuobiao[i].x,&zuobiao[i].y);

	}

	for (i=0; i<100; i++)
		for (j=0; j<100; j++)
			dist[i][j]=0;


	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n;j++)
		{
			dist[i][j]=dist[j][i]=distance(zuobiao[i].x,zuobiao[i].y,zuobiao[j].x,zuobiao[j].y);
		}
    }

	float dis=dist[0][0];
	for(i=0;i<100;i++)
	{
		for(j=0;j<100;j++)
		{
			if(dist[i][j]>=dis) dis=dist[i][j];
		}
	}

	printf("%.4f\n",dis);
	return 0;
}
//
//  main.cpp
//  ????
//
//  Created by ???? on 13-12-25.
//  Copyright (c) 2013? ????. All rights reserved.
//

int main()
{
    int n;
    struct dis
    {
        int  x;
        int  y;
        double dis;
    } a[2000];
    
    double num[2000][2];
    double max=0;
    
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>num[i][0]>>num[i][1];
    }
    
    int t=1;
    
    for(int i=1;i<=n;i++)
        {
            for(int j=i;j<=n;j++)
                {
                    a[t].x=i;
                    a[t].y=j;
                    a[t].dis=sqrt(  (num[i][0]-num[j][0])*(num[i][0]-num[j][0])
                                  + (num[i][1]-num[j][1])*(num[i][1]-num[j][1]) );
                    t++;
                    //cout<<a[t].dis<<endl;
                }
        }

    for(int i=1;i<n*n;i++)
    {
        if(a[i].dis>=max)
            max=a[i].dis;
        //cout<<max;
    }
    
    printf("%.4f\n",max);
    
    
    return 0;
}
double d(double x1,double y1,double x2,double y2){
	return(sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));
}
int main(){
	int n;
	cin>>n;
	double x[100],y[100];
	for(int i=1;i<=n;i++){
		cin>>x[i]>>y[i];
	}
	double max=d(x[1],y[1],x[2],y[2]);
	for(int i=1;i<=n;i++){
		for(int j=i+1;j<=n;j++){
			if(d(x[i],y[i],x[j],y[j])>max) max=d(x[i],y[i],x[j],y[j]);
		}
	}
	printf("%.4lf",max);
	return 0;
}
double dist(double x1,double y1,double x2,double y2)
{
       double dist;
       dist=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
       return dist;
}
main()
{
      int n;
      scanf("%d",&n);
      int i,j,k;
      double length[n][n];
      double x[n],y[n];
      for(i=0;i<n;i++)
      scanf("%lf %lf",&x[i],&y[i]);
      for(i=0;i<n;i++)
      {
      for(j=0;j<n;j++)
      {
      length[i][j]=dist(x[i],y[i],x[j],y[j]);
      }
      }
      double t=0;
      for(i=0;i<n;i++)
      {
      for(j=0;j<n;j++)
      {
      if(length[i][j]>t)
      t=length[i][j];
      }
      }
      printf("%.4lf",t);
      getchar();
      getchar();
}
int main()
{
	double max=0,m,x[1000],y[1000];
	int n,i,j;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	scanf("%lf%lf",&x[i],&y[i]);
	for(i=0;i<n;i++)
		for(j=1;j<n;j++)
		{
			m=pow(x[j]-x[i],2)+pow(y[j]-y[i],2);
			if(m>max)
				max=m;
		}
		printf("%.4lf\n",sqrt(max));
		return 0;
}
main()
{
int n,i,j;
float a[100][2];
float s,max=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%f %f",&a[i][0],&a[i][1]);
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
{
if(((a[i][0]-a[j][0])*(a[i][0]-a[j][0])+(a[i][1]-a[j][1])*(a[i][1]-a[j][1]))>max)
max=(a[i][0]-a[j][0])*(a[i][0]-a[j][0])+(a[i][1]-a[j][1])*(a[i][1]-a[j][1]);
}
s=sqrt(max);
printf("%0.4f",s);
getchar();
getchar();
getchar();
}
int main(int argc, char* argv[])
{
	struct point{
		float x;
		float y;
	}a[5000];
	int n,i,j;
	float q;
	double l=0,m=0,m1,m2,m3;
	scanf("%d",&n);
    for(i=0;i<n;i++)
	{
		scanf("%f",&a[i].x);
        scanf("%f",&a[i].y);
	}
    for(i=0;i<n-1;i++)
	{
		for(j=i+1;j<n;j++)
		{
			m1=a[i].x-a[j].x;
			m2=a[i].y-a[j].y;
			m3=pow(m1,2)+pow(m2,2);
			l=pow(m3,0.5);
			if(l>=m)
			m=l;			
		}
	}
	q=(float)m;
	printf("%.4f",q);
	return 0;
}
int main()
{
	int n,i,j,p=1;
	float a[100],b[100],c[10000];
	scanf("%d",&n);
	for(i=0;i<n;i++)  {
		scanf("%f %f",&a[i],&b[i]);
	}
	c[0]=0;
	for(i=0;i<n;i++)
		for(j=0;j<n;j++) {
			c[p]=sqrt((a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j]));
			if(c[p]>c[0]) {
			   c[0]=c[p];
				p++;
		    }
		}
		printf("%.4f\n",c[0]);
		return 0;
}
int main()
{
	int  n, i, j;
    double t, s[1000][1000];
	struct point{
		double x;
		double y;
		
	}place[10000];
    scanf("%d", &n);
	for(i=0; i<n; i++)
	{
		scanf("%lf %lf", &place[i].x, &place[i].y);
		
	}
	for(i=0; i<n-1; i++)
	{
		for(j=i+1; j<n; j++)
		{
			s[i][j]=sqrt((place[j].x-place[i].x)*(place[j].x-place[i].x)+(place[j].y-place[i].y)*(place[j].y-place[i].y));
			if(s[i][j]>s[0][0])
			{
				t=s[0][0];
				s[0][0]=s[i][j];
				s[i][j]=t;
			}
		}
	}
		
	
	printf("%.4lf\n", s[0][0]);
	return 0;
}
int main(int argc, char* argv[])
{
	int num,i,a,b,na=1;
	 double x[50],y[50],z[400];
	 double dis=0;
	
	scanf("%d",&num);
    for (i=1;i<=num;i++) { 
      scanf("%lf",&x[i]);
      scanf("%lf",&y[i]);
	}

	for (a=1;a<=num;a++){
		for(b=a+1;b<=num;b++){
	      z[na]=(x[a]-x[b])*(x[a]-x[b])+(y[a]-y[b])*(y[a]-y[b]);
		  if (z[na]>dis) {
			  dis=z[na];}
		  na++;		  
		}
	}	
	printf("%.4lf\n",sqrt(dis));
	return 0;
}
double  x[1000],y[1000],s[1000][1000],m[1000];
int main(int argc, char* argv[])
{
	int n;
	scanf("%d",&n);
	int j,i;
	for(j=1;j<=n;j++)
	{
	   scanf("%lf%lf",&x[j],&y[j]);
	}
	for(j=1;j<=n;j++)
	{
		for(i=1;i<=n;i++)
		{
			s[j][i]=sqrt((x[j]-x[i])*(x[j]-x[i])+(y[j]-y[i])*(y[j]-y[i]));
		}
	}
	for(j=1;j<=n;j++)
	{
       s[j][j]=0;
		for(i=1;i<=n;i++)
		{
		   if(s[j][i]>s[j][i-1])
		   {
			  m[j]=s[j][i];
		   }
	    	else
			{
                s[j][i]=s[j][i-1];
		    	m[j]=s[j][i];
			}
		}
	}
	double d=m[1];
	for(j=2;j<=n;j++)
	{
		   if(m[j]>m[j-1])
		   {
			 d=m[j];
		   }
	    	else
			{
                m[j]=m[j-1];
		    	d=m[j];
			}
		}
	  printf("%.4f\n", d);
	return 0;
}
int main()
{
	int k,i,j;                                                                     //?????k??????
	double a[10000],b[10000],dissq=0;                                              //???????????X,Y?dissq???????
	cin>>k;                                                                      //??k?
	for(i=0;i<k;i=i+1)
	{
		cin>>a[i]>>b[i];                                                          //???????X,Y?
	}
	for(i=0;i<k;i=i+1)
	{
		for(j=0;j<k;j=j+1)                                                          //??????????????
		{
			if((a[j]-a[i])*(a[j]-a[i])+(b[j]-b[i])*(b[j]-b[i])>dissq)
			{dissq=(a[j]-a[i])*(a[j]-a[i])+(b[j]-b[i])*(b[j]-b[i]);}                 //??????????
		}
	}
	
	cout<<sqrt(dissq);                                                              //?dissq??????????????
	return 0;                                                                         //??
}
int main()
{
  int n;
  cin>>n;
  double max=0.0;
  int sum=n*(n-1)/2;
  double array[101][2];
  double distance[5001];
  for(int i=0;i<n;i++)
	  cin>>array[i][0]>>array[i][1];
  int k=0;
  for(int i=0;i<n-1;i++)
	  for(int j=i+1;j<n;j++)
		  distance[k++]=pow((array[i][0]-array[j][0]),2)+pow((array[i][1]-array[j][1]),2);
  for(k=0;k<sum;k++)
         if(max<=distance[k])
				  max=distance[k];
  double Max;
  Max=sqrt(max);
	 printf("%.4f\n",Max);
	   return 0;
}
void main()
{
	int n,i,j,k=0;
	double a[20],b[20],c[100],d=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%lf%lf",&a[i],&b[i]);
	for(i=0;i<n-1;i++)
	{
		for(j=i+1;j<n;j++)
		{
			c[k]=sqrt((a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j]));
			if(c[k]>d) d=c[k];
			k++;
		}
	}
	printf("%.4lf\n",d);
}
int main()
{
	int n,i,j,k;
	double distance[100],b,x[100][2],c,first;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		for(j=0;j<2;j++)
		{
			scanf("%lf",&x[i][j]);
		}
	}
	for(i=0;i<n;i++)
	{
		for(k=1;k<n;k++)
		{
			b=sqrt((x[k][0]-x[i][0])*(x[k][0]-x[i][0])+(x[k][1]-x[i][1])*(x[k][1]-x[i][1]));
			if(i==1)
			{
				c=b;
			}
			else
			{
				if(b>c)
				{
					c=b;
				}
			}
			distance[k]=c;
		}
	}
	for(k=1;k<n;k++)
	{
		if(k==1)
		{
			first=distance[1];
		}
		else
		{
			if(distance[i]>first)
			{
				first=distance[i];
			}
		}
	}
	printf("%.4lf",first);
	return 0;
}
int main(int argc, char* argv[])
{
	int n;
	scanf("%d",&n);
	struct point{
		double x,y;
	};
	struct point *pp;
	pp=(struct point*)malloc(sizeof(point)*n);
	int i,j;
	double temp=0;
	for(i=0;i<n;i++)
	{
		scanf("%lf %lf",&((pp+i)->x),&((pp+i)->y));
	}
    for(i=0;i<n;i++)
	{
		for(j=n-1;j>i;j--)
		{
			if(temp<(((pp+i)->x)-((pp+j)->x))*(((pp+i)->x)-((pp+j)->x))+(((pp+i)->y)-((pp+j)->y))*(((pp+i)->y)-((pp+j)->y)))
			{
				temp=(((pp+i)->x)-((pp+j)->x))*(((pp+i)->x)-((pp+j)->x))+(((pp+i)->y)-((pp+j)->y))*(((pp+i)->y)-((pp+j)->y));
			}
		}
	}
	printf("%.4f\n",sqrt(temp));
	return 0;
}
int main()
{
	int i,n,j,m;
	double x[100],y[100],d[100][100],t=0;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%lf %lf",&x[i],&y[i]);
	}
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			d[i][j]=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
		}
	}
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			if(d[i][j]>t){
				t=d[i][j];
			}
		}
	}
	printf("%.4lf",t);
return 0;
}
int main(int argc, char* argv[])
{
	int n,i,j;
	double x[9999],y[9999],ls,l;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%lf %lf",&x[i],&y[i]);
	}
	ls=sqrt((x[0]-x[1])*(x[0]-x[1])+(y[0]-y[1])*(y[0]-y[1]));
	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n;j++)
		{
			l=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
			if(l>ls) ls=l;
		}
	}
	printf("%.4lf\n",ls);
	return 0;
}
int main()
{
	int n,i,j;
	float x,y;
	struct point
	{
		float x;
		float y;
	}p[100];
	double s;
	double smax = 0;
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		scanf ("%f%f", &x, &y);
		p[i].x = x;
		p[i].y = y;
	}
	for (i = 0; i < n; i++)
	{
		for (j=0; j < n; j++)
		{

		    s= sqrt ( (p[i].x-p[j].x) * (p[i].x-p[j].x) + (p[i].y-p[j].y) * (p[i].y-p[j].y) );
		    if (smax >= s)
			{
				continue;
			}
			else
			{
				smax = s;
			}
		}
	}
	printf("%.4lf\n" , smax);
	return 0;
}
int main()
{
	int n,i,j;
	double x[1000],y[1000],s[1000][1000],max=0,d;
	cin>>n;
	for(i=0;i<n;i++)
		cin>>x[i]>>y[i];
    for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
	
		{	d=(x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]);
		    s[i][j]=sqrt(d);
		if(s[i][j]>max)max=s[i][j];
	
		}
	}
	printf("%.4f\n",max);
	return 0;
}
int main()
{
	int n,i,j;
	double a[2000],b[2000],k,max=0;
	cin>>n;
	for(i=0;i<n;i++)
	   cin>>a[i]>>b[i];
	for(i=0;i<n-1;i++)
		for(j=i+1;j<n;j++)
		{
			k=(a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j]);
			if(k>max)
				max=k;
		}
		max=sqrt(max);
	cout<<fixed<<setprecision(4)<<max<<endl;

return 0;
}
double juli(double m,double n,double x,double y)
{
     double z;
     z=sqrt((m-x)*(m-x)+(n-y)*(n-y));
     return(z);
}
void main()
{
     int i,j,t;
     double a[20][2],c=0;
     scanf("%d\n",&t);
     for(i=0;i<t;i++)
        scanf("%lf%lf\n",&a[i][0],&a[i][1]);
     for(i=0;i<t-1;i++)
     for(j=i+1;j<t;j++)
       {
      if(juli(a[i][0],a[i][1],a[j][0],a[j][1])>=c)
         c=juli(a[i][0],a[i][1],a[j][0],a[j][1]);
          }
      printf("%.4lf",c);
}
int main() {
       int n,N,i,j,s=0;
       cin>>n;

       N=n*(n-1)/2;
       
       float a[n],b[n];
       double dis[N],max=0;

       for(i=0; i<n; i++){
                cin>>a[i]>>b[i];
       }
       
       for(i=0; i<n; i++){
                for(j=i+1; j<n; j++){
                dis[s]=sqrt((a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j]));                s=s+1;
                }
       }
       
       for(s=0; s<N; s++){
                if(dis[s]>max) max=dis[s];
                }
       
       
       printf("%.4f\n",max);

       return 0;
       

}
void main()
{
	int n,i,j;
	double a[100][2],b[100][100],m=0.0;
    scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%lf %lf",&a[i][0],&a[i][1]);
    for(i=0;i<(n-1);i++)
		for(j=(i+1);j<n;j++)
		{
			b[i][j]=sqrt((a[j][0]-a[i][0])*(a[j][0]-a[i][0])+(a[j][1]-a[i][1])*(a[j][1]-a[i][1]));
		}
	for(i=0;i<n;i++)
		for(j=i+1;j<n;j++)
		{
	    	if(b[i][j]>m)
			     m=b[i][j];
		}
	printf("%.4f\n",m);
}
main()
{
      int n,k,i,j; 
      double s,m,x,y;
      scanf("%d",&n);
      double *a=(double *)malloc((n+1)*sizeof(double));
      double *b=(double *)malloc((n+1)*sizeof(double));
      for(i=1;i<=n;i++)
      {
            scanf("%lf %lf",&a[i],&b[i]);
      }
      for(m=0,i=1;i<=n-1;i++)
      {
         for(j=i+1;j<=n;j++)
         {
              x=a[j]-a[i]; y=b[j]-b[i];
              s=x*x+y*y;
              if(s>=m) m=s;
         }
      }
      double dis=sqrt(m);
      printf("%.4f",dis);
}
main()
{
      double x[2011],y[2011],k,l,max;
      int n,j,i;
      scanf("%d",&n);
      for(i=0;i<n;i++)
         {
          scanf("%lf",&x[i]);
          scanf("%lf",&y[i]);
          }
      max=0;    
      for(i=0;i<n-1;i++)
         for(j=i+1;j<n;j++)
            {
             k=x[i]-x[j];
             l=y[i]-y[j];              
             k=sqrt(k*k+l*l);
             if(k>max)max=k;
             }
      printf("%.4lf\n",max);
      //getchar();
      //getchar();
      }
int main()
{
	int n;
	scanf("%d",&n);
	struct point
	{
		double x;
		double y;
	}p[100];
    

	double d;
	int i=0,j=0;
	
	double max=0;
	for (i=0;i<n;i++)
	{
		scanf("%lf %lf",&p[i].x,&p[i].y);
		for (j=0;j<i;j++)
		{
	     d=sqrt((p[i].x-p[j].x)*(p[i].x-p[j].x)+(p[i].y-p[j].y)*(p[i].y-p[j].y));
	
		  if (d>max)
		  {
			  max=d;

		  }
        }
     }
	printf("%.4lf",max);
	return 0;

}
int main(int argc, char* argv[])
{
	double a,b,t;
    double max=0.0;
	int n,i,j;
    scanf("%d",&n);

    double s[100][2];
	
    for(i=0;i<=n-1;i++)
	{ 
		scanf("%lf%lf",&s[i][0],&s[i][1]);	
	}

    for(j=0;j<=n-2;j++)
	{
		for(i=0;i<=n-j-1;i++)
		{
			a=(s[j][0]-s[j+i][0])*(s[j][0]-s[j+i][0]);
            b=(s[j][1]-s[j+i][1])*(s[j][1]-s[j+i][1]);
		    t=sqrt(a+b);
            if(t>max)
	        max=t;	
		}



	}

    printf ("%.4f\n",max);


	return 0;
}
double dis(double x,double y)
{
      double s;
      s=sqrt(x*x+y*y);
      return s; 
}
main()
{
      double a[L]={0},b[L]={0},S[L]={0};
      int n,i,j,k;
      double D;
      scanf("%d",&n);
      for(i=1;i<=n;i++)
      {
             scanf("%lf %lf",&a[i],&b[i]);                       
      }
      for(i=1;i<n;i++)
      {
            double max=0;
            double s=0;
            for(j=i+1;j<=n;j++)
            {
                   double x=a[i]-a[j];
                   double y=b[i]-b[j];
                   s=dis(x,y);
                   if(s>max)
                   max=s;            
            }
            S[i]=max;          
      }
      for(i=1;i<n;i++)
      {
            if(S[i]>D)
            D=S[i];          
      }
      printf("%.4lf",D);
      getchar();
      getchar(); 
      getchar();
      getchar();
}
main()
{
      int n,i,j;
      float dis;
      scanf("%d",&n);
      float d[n][2];
      for(i=0;i<n;i++)
      {
                      scanf("%f %f",&d[i][0],&d[i][1]);
      }
      dis=0;
      for(i=0;i<n;i++)
      {
                      for(j=i+1;j<n;j++)
                      {
                                     
                               if((d[i][0]-d[j][0])*(d[i][0]-d[j][0])+(d[i][1]-d[j][1])*(d[i][1]-d[j][1])>dis)
                               dis=(d[i][0]-d[j][0])*(d[i][0]-d[j][0])+(d[i][1]-d[j][1])*(d[i][1]-d[j][1]);
                               
                      }
      }
      dis=sqrt(dis);
      printf("%.4f\n",dis);
      
}
//?????

void main()
{
	int n,i,j,k=0;
	double dot[100][2],dis[4950],t,m;
	double max(double a[],int n);
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%lf %lf",&dot[i][0],&dot[i][1]);
	}
	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n;j++)
		{
			t=(dot[i][0]-dot[j][0])*(dot[i][0]-dot[j][0])+(dot[i][1]-dot[j][1])*(dot[i][1]-dot[j][1]);
			dis[k]=sqrt(t);
			k++;
		}
	}
	m=max(dis,k-1);
	printf("%.4lf\n",m);
}

double max(double a[],int n)
{
	double t;
	int i;
	t=a[0];	
	for(i=1;i<n;i++)
	{
		if(a[i]>t)
			t=a[i];
	}
	return(t);
}
//????
int main()
{
	int n,i,j;
	double max=0,lmax,a[100],b[100],s[100][100];
    cin>>n;                                                      //????
	for(i=0;i<n;i++)
	   cin>>a[i]>>b[i];                                          //??????
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{s[i][j]=pow((a[i]-a[j]),2)+pow((b[i]-b[j]),2);          //?????????????
		if(s[i][j]>max) max=s[i][j];                             //?????????????
		}
	}
    lmax=sqrt(max); 
	cout<<fixed<<setprecision(4)<<lmax<<endl;                                        //????????
	return 0;
}
double max(double *p1,double*p2,int n)
{
	int i,j;
	double c,max=0;
	for(i=2;i<=n;i++)
		for(j=1;j<i;j++)
		{
			if(max<(c=sqrt((*(p1+i)-*(p1+j))*(*(p1+i)-*(p1+j))+(*(p2+i)-*(p2+j))*(*(p2+i)-*(p2+j)))))
				max=c;
		}
	return max;
}
void main()
{
	int i,n;
	double *p1,*p2,x[100],y[100];
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		scanf("%lf%lf",&x[i],&y[i]);
	}
	p1=&x[0];
	p2=&y[0];
	printf("%.4lf",max(p1,p2,n));
}
int main(){
	int a;
	scanf("%d",&a);
	struct point{
		double x,y;
	}point[n];
	int i=0;
	for(i=0;i<a;i++){
		scanf("%lf",&point[i].x);
		scanf("%lf",&point[i].y);
	}

	int v=0;
	double d=0;
	double max=0;
	for(i=0;i<a;i++)
	{
		for(v=0;v<a;v++){
			d=sqrt((point[i].x-point[v].x)*(point[i].x-point[v].x)+(point[i].y-point[v].y)*(point[i].y-point[v].y));
				if(d>max){
					max=d;
				}
		}
	}
	printf("%.4f\n", max);
	return 0;
}
void main()
{
	int n, i = 1, j = 1;
	double dis, x[100], y[100], d[100][100];
			scanf("%d\n", &n);
    /*??????*/
	for(i = 1; i <= n; i++)
		scanf("%lf %lf\n", &x[i], &y[i]);

    /*????????*/
	for(i = 1; i <= n; i++)
	{
		for(j = 1;j <= n; j++)
			d[i][j] = sqrt((x[j] - x[i]) * (x[j] - x[i]) + (y[j] - y[i]) * (y[j] - y[i]));
	}
    /*???????*/
	dis = d[1][1];
	for(i = 1; i <= n; i++)
	{
		for(j = 1;j <= n; j++)
		{
			if (d[i][j] >= dis)
				dis = d[i][j];
		}
	}
	printf("%.4f\n", dis);	
}
double dis(double a,double b,double c,double d)
{
	double k;
	k=sqrt((a-c)*(a-c)+(b-d)*(b-d));
	return(k);
}
void main()
{
	int n,j,i;
	double a[100],b[100],max;
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%lf%lf",&a[i],&b[i]);
	max=dis(a[0],b[0],a[1],b[1]);
	for(i=0;i<n-1;i++)
		for(j=i+1;j<n;j++)
		{
			if(dis(a[i],b[i],a[j],b[j])>max)
				max=dis(a[i],b[i],a[j],b[j]);
		}
	printf("%.4f\n",max);
}
int main(int argc, char* argv[])
{   
	int n;
    double x0,y0,s=0,w;
	struct dian { double x,y;} *d;
	scanf("%d",&n);
	d=(struct dian *) malloc(sizeof(dian)*n);
	for(int j=0;j<n;j++)
	{
		scanf("%lf%lf",&x0,&y0);
        (d+j)->x=x0;
		(d+j)->y=y0;
	
	}
	for( int l=0;l<n;l++)
	{
        for(int k=l+1;k<n;k++)
		{
			w=((d+l)->x-(d+k)->x)*((d+l)->x-(d+k)->x)+((d+l)->y-(d+k)->y)*((d+l)->y-(d+k)->y);
			if(s<sqrt(w))
			{s=sqrt(w);}

		}
	}
	printf("%.4f",s);

	return 0;
}
int main(int argc,char* argv[])
{
   struct point{
float x,y;
}p1[1000];
int i,n,j=0,k,m;
double dis,max1=0,max2=0;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%f %f",&p1[j].x,&p1[j].y);
j++;
}
for(k=0;k<n;k++){
for(m=0;m<n;m++){
dis=sqrt((p1[k].x-p1[m].x)*(p1[k].x-p1[m].x)+(p1[k].y-p1[m].y)*(p1[k].y-p1[m].y));
if(dis>=max1){
max1=dis;
}
}
if(max1>=max2){
max2=max1;
}
}
printf("%.4f",max2);
return 0;
}
int main()
{
	int n, i, m, j, l, k;
	double a[100][2];
	double b[100][100];
	double dis=0;
	scanf ("%d", &n);
	for (i=0; i<n; i++)
	{
		scanf ("%lf%lf", &a[i][0], &a[i][1]);
	}
	for (m=0; m<n; m++)
	{
		for (j=0; j<n; j++)
		{
			b[j][m]=sqrt((a[j][0]-a[m][0])*(a[j][0]-a[m][0])+(a[j][1]-a[m][1])*(a[j][1]-a[m][1]));
		}
	}
	for (l=0; l<n; l++)
	{
		for (k=0; k<n; k++)
		{
			if( b[k][l]>dis )
			{
				dis=b[k][l];
			}
		}
	}
	printf("%.4lf\n", dis);
	return 0;
}
int main(int argc, char* argv[])
{
	struct point
	{double x,y;}p[100];
	
	int i,j,n;
	double maxd =0.0, d;
	scanf("%d", &n);
	for (i=0; i<n; i++)
		scanf("%lf%lf",&p[i].x, &p[i].y);
	for (i=0; i<n; i++){
		for (j=i+1; j<n; j++){
			d = sqrt((p[j].x - p[i].x)*(p[j].x - p[i].x)+ 
				(p[j].y - p[i].y)*(p[j].y - p[i].y));
			if (d > maxd)
				maxd = d;
		}
	}
	printf ("%.4lf\n",maxd);

	return 0;
}