semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
//
//  main.cpp
//  HomeWork_11.14.Functions
//  ?????
//  Created by ??? on 11/25/12.
//  Copyright (c) 2012 airjcy. All rights reserved.
//

//#include <string>


void delZero(char a[])
{
    int i = 0;
    int count = 0;
    for (i = 0; i < MAXNUM; i ++) {
        if (a[i] == '0') {
            count ++;
        }
        if (a[i] != '0') {
            break;
        }
    }
    for (i = 0; a[i + count] != '\0'; i ++) {
        a[i] = a[i + count];
    }
    int j;
    for (j = 0; j < count; j ++) {
        a[i + j] = '\0';
    }
}



int addWorker(int a[],int na,int b[],int nb,int c[]);

//???????c????????
int add(char a[],char b[],int c[])
{
    int na = 0;
    int nb = 0;
    int _a[MAXNUM];
    int _b[MAXNUM];
    memset(_a, 0, sizeof(_a));
    memset(_b, 0, sizeof(_b));
    //????
    while (a[na] == '0') {
        na ++;
    }
    while (a[na] != '\0') {
        _a[na] = (int)(a[na] - '0');
        na ++;
    }
    while (b[nb] != '\0') {
        _b[nb] = (int)(b[nb] - '0');
        nb ++;
    }

    //????????????
    if (na > nb) {
        
        return (addWorker(_a, na, _b, nb, c));
    }
    else
    {
        return addWorker(_b, nb, _a, na, c);
    }
     
}

//??????
int addWorker(int a[],int na,int b[],int nb,int c[])
{
    

    
    //???????????
    int nc = na + 1;
    int l = nc;
    
    //????
    na --;
    nb --;
    nc --;
    
    //????
    while (nb >= 0)
    {
        //????
        int carry = 0;
        if (a[na] + b[nb] > 9) {
            carry = 1;
        }
        c[nc] += (a[na] + b[nb]) % 10;
        if (c[nc] == 10) {
            int i = nc;
            while (c[i] == 10) {
                c[i] = 0;
                c[i - 1] += 1;
                i --;
            }
        }
        c[nc - 1] += carry;
        // ????? 999999 + 1????
        if (c[nc - 1] == 10) {
            int i = nc;
            while (c[i - 1] == 10) {
                c[i - 1] = 0;
                c[i - 2] += 1;
                i --;
            }
        }
        //cout << c[nc]<<endl;
        nb --;
        na --;
        nc --;
    }
    //???????????????????
    while (na >= 0) {
        c[nc] += a[na];
        //?????? 9999 + 1
        if (c[nc] == 10) {
            int i = nc;
            while (c[i] == 10) {
                c[i] = 0;
                c[i - 1] += 1;
                i --;
            }
        }
      //  cout << c[nc]<<endl;
        na --;
        nc --;
        
    }
    //c[nc]?????????????????-1
    if (c[nc] == 0) {
        return l - 1;
    }
    return l;
}

int main(int argc, const char * argv[])
{
    char a[MAXNUM];
    char b[MAXNUM];
    int  c[MAXNUM];
    memset(c, 0, sizeof(c));
    cin >> a;
    cin >> b;
    
    delZero(a);
    delZero(b);

    //?n??????
    int n = add(a, b, c);

    int i = 0;
    //???0??
    while (c[i] == 0) {
        i ++;
    }
    while (i >= MAXNUM) {
        cout << 0;
        return 0;
    }
    int j;
    for (j = 0; j < n; j ++) {
        cout << c[i + j];
    }
 //   cout << endl << n;
    
    
}
int main(){
	char a[300],b[300];
	cin>>a;
	cin>>b;
	int len_1=strlen(a);
	int len_2=strlen(b);
	int len=len_1;
	if(len_2>len_1){
		len=len_2;
	}
	int n_p[300]={0};
	int n_q[300]={0};
	int i=0,j=0;
	for(i=0;i<len_1;i++){
		n_p[299-i]=a[len_1-i-1]-'0';
	}
	for(j=0;j<len_2;j++){
		n_q[299-j]=b[len_2-j-1]-'0';
	}
	int end[300]={0};
	for(i=299;i>0;i--){
		if(n_p[i]+n_q[i]<10){
			end[i]=n_p[i]+n_q[i];
		}
		if(n_p[i]+n_q[i]>=10){
			end[i]=n_p[i]+n_q[i]-10;
			n_p[i-1]++;
		}
	}
	for(j=0;j<299;j++){
		if(end[j]!=0)break;
	}
//	cout<<len<<endl;
	for(i=j;i<300;i++){
		cout<<end[i];
	}
	cout<<endl;
	return 0;
}
/*
A:?????????????????: 1000ms????: 65536kB
??
??????200?????????
??
????????????200??????????????0?
??
??????????????????????0???????342?????????0342? 
????
22222222222222222222
33333333333333333333????
55555555555555555555
*/

int main()
{
    char a[300];
    char b[300];
    int aint[300];
    int bint[300];
    memset(aint,0,sizeof(aint));
    memset(bint,0,sizeof(bint));
    int la,lb,i,j;
    cin>>a>>b;
    la=strlen(a);
    lb=strlen(b);
    j=la-1;
    for(i=0;i<la;i++){
        aint[j--]=a[i]-'0';
    }
    j=lb-1;
    for(i=0;i<lb;i++){
        bint[j--]=b[i]-'0';
    }
    if(la<lb)la=lb;
    for(i=0;i<la;i++)
     {   
         aint[i]+=bint[i];
     }
     for(i=0;i<la;i++)
     {
         if(aint[i]>=10){
             aint[i+1]++;
             aint[i]%=10;
         }          
     }
    int t=0;
    for(i=299;i>=0;i--){
        if(aint[i]!=0)
             t=1;
        if(t)
            cout<<aint[i];
        if(i==0&&t==0)
            cout<<"0";
    }
    cout<<endl;
    return 0;
}
int main()
{
	int n;
	float a[200],b[200],maxx=-1;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>a[i]>>b[i];
	}
	
	for(int i=0;i<n-1;i++)
	{
		for(int j=i+1;j<n;j++)
		{
			//cout<<sqrt((a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j]))<<endl;
			if(sqrt((a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j]))>=maxx)  maxx=sqrt((a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j]));
		}
	}
	cout<<maxx<<endl;
	return 0;
}
int main()
{
	double a[999];
	double b[999];
	int k;
	cin>>k;
	double max=0;
	int i;
	for(i=0;i<=k-1;i++)
	{
		cin>>a[i];
	    cin>>b[i];
	}
	int j,m;
	double p;
	for(j=0;j<=k-1;j++)
		for(m=0;m<=k-1;m++)
		{
			p=sqrt((a[j]-a[m])*(a[j]-a[m])+(b[j]-b[m])*(b[j]-b[m]));
			if(p>max)
				max=p;
		}
	cout<<max<<endl;
	return 0;
}
struct dis{
	double x,y;
}s[1000];
int main(int argc, char* argv[])
{
	int n,i,j,k=0;
	double l[10000],m;
	scanf ("%d",&n);
    for (i=0;i<n;i++)
	{
		scanf ("%lf%lf",&s[i].x,&s[i].y);
	}
	for (i=0;i<n-1;i++)
	{
		for (j=n-1;j>i;j--)
		{
			k++;
			l[k]=sqrt((s[i].x-s[j].x)*(s[i].x-s[j].x)+(s[i].y-s[j].y)*(s[i].y-s[j].y));
		}
	}
	//for (i=1;i<k+1;i++)
//	{
		for (j=k;j>1;j--)
		{
			if (l[j]>l[j-1])
			{	m=l[j-1];
			    l[j-1]=l[j];
				l[j]=m;
			}

		}

//	}
	printf ("%.4lf\n",l[1]);

	return 0;
}
int main()

{
  double x[10],y[10],z;
  int n,i,j;
  scanf("%d\n",&n);
  for(i=0;i<n;i++)
   {
     scanf("%lf %lf\n",&x[i],&y[i]);
   }
  z=0;
  for(i=0;i<n-1;i++)
   for(j=i+1;j<n;j++)
     {
        if ( pow((x[i]-x[j]),2)+pow((y[i]-y[j]),2)>z)
          z=pow((x[i]-x[j]),2)+pow((y[i]-y[j]),2);
      }
  z=sqrt(z);
  printf("%.4f\n", z);
  return 1;

}
struct point
{
	double x;
	double y;
};
double len(struct point m,struct point n)
{
	double l;
	l=sqrt((m.x-n.x)*(m.x-n.x)+(m.y-n.y)*(m.y-n.y));
	return(l);
}
void main()
{
	struct point p[100];
	int n,i,j;
	double max=0;
	scanf("%d",&n);
	scanf("%lf %lf",&p[0].x,&p[0].y);
	for (i=1;i<=n-1;i++)
	{
		scanf("%lf %lf",&p[i].x,&p[i].y);
		for (j=0;j<=i-1;j++)
		{
			if (max<len(p[i],p[j]))
			{
				max=len(p[i],p[j]);
			}
		}
	}
	printf("%.4lf",max);
}
int main()
{
	int i,j,n;
	double max=0.0;
	float d[10][2];
	scanf("%d",&n);
	for(i=0;i<n;i++)
        scanf("%f %f",&d[i][0],&d[i][1]);
	for (i=0;i<n-1;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]))>max)
				max=(d[i][0]-d[j][0])*(d[i][0]-d[j][0])+(d[i][1]-d[j][1])*(d[i][1]-d[j][1]);
	max=sqrt(max);
	printf("%.4f",max);
//	for(i=0;i<n;i++)
//	    printf("%f %f\n",d[i][0],d[i][1]);
	return 0;
}
main(){
 double a[50][2],dis,temp;
 int i,j,n;
 scanf("%d",&n);
 for(i=1;i<=n;i++)scanf("%lf %lf",&a[i][1],&a[i][2]);
 dis=0;
 for(i=1;i<n;i++)
  for(j=i+1;j<=n;j++){
   temp=sqrt(pow(a[i][1]-a[j][1],2)+pow(a[i][2]-a[j][2],2));
   if(temp>dis)dis=temp;
  }
 printf("%.4f\n",dis);  
 return 0;
}
main()
{
      int n;
      scanf("%d",&n);
      double x[n],y[n];
      int i,j;
      for(i=0;i<n;i++)
      {
                      scanf("%lf %lf",&x[i],&y[i]);
      }
      double c[n][n];
      double dis=0;
      for(i=0;i<n;i++)
      {
                      for(j=0;j<n;j++)
                      {
                                      c[i][j]=(x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]);
                                      if(c[i][j]>dis)
                                      dis=c[i][j];
                      }
      }
      printf("%.4lf",sqrt(dis));
}
int main ()
{

	int nInput=0, i, j;
	double x[100], y[100], xDiff=0.0;
	double yDiff=0.0, yMax=0.0;
	int yPosition1= 0.0 , yPosition2=0.0, xMax=0.0,xPosition1= 0.0 , xPosition2=0.0;
	
	
	cin>>nInput;
	

	
	for (i=0; i<nInput; i++)
	{
		cin>>x[i]>>y[i];
	}

	for (i=0; i<nInput; i++)
		for(j=0; j<nInput; j++)
			{xDiff= x[i]-x[j];
				if(xDiff>xMax)
				{
					xMax=xDiff;
					xPosition1 = i;
					xPosition2 = j;
			
				}
			}	

	
	
	for (i=0; i<nInput; i++)
		for(j=0; j<nInput; j++)
			{yDiff= y[i]-y[j];
				if(yDiff>yMax)
				{
					yMax=yDiff;
					yPosition1 = i;
					yPosition2 = j;
			
				}
			}	


	



		cout<<endl;


	if (yMax>=xMax)
		cout<< sqrt((y[yPosition1] - y[yPosition2])*(y[yPosition1] - y[yPosition2])+(x[yPosition1] - x[yPosition2])*(x[yPosition1] - x[yPosition2]) );

	else 
		cout<< sqrt((y[xPosition1] - y[xPosition2])*(y[xPosition1] - y[xPosition2]))+(x[xPosition1] - x[xPosition2])*(x[xPosition1] - x[xPosition2]);



	return 0;
		


}
void main()
{
	int i,j,p=0;
	double m;
	double b[50]={0};
	float a[10][2]={0};
	int n;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%f%f",&a[i][0],&a[i][1]);
	}
	for(i=0;i<n-1;i++)
		for(j=i+1;j<n;j++)
		{
			b[p]=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]));
			p=p+1;
		}
		m=b[0];
		for(i=1;i<50;i++)
		{
			if(b[i]>m)m=b[i];
		}
		printf("%.4f\n",m);

}
double distance(double a1,double a2,double b1,double b2)
{
	double c;
	c=sqrt((a1-b1)*(a1-b1)+(a2-b2)*(a2-b2));
	return(c);
	
}

void main()
{
	int n,i,j;
	double A[100][2],x,y;

	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%lf",&A[i][0]);
		scanf("%lf",&A[i][1]);

	}
	

	x=distance(A[0][0],A[0][1],A[1][0],A[1][1]);
	for(i=0;i<n-1;i++)
	{
		for(j=i+1;j<n;j++)
		{
			y=distance(A[i][0],A[i][1],A[j][0],A[j][1]);
			if(y>x)
				x=y;

		}
	}
	printf("%.4lf\n",x);


}
int main(int argc, char* argv[])
{
	int n;
	scanf("%d",&n);
	double *px,*py;
	px=(double *)malloc(sizeof(double) * n);
    py=(double *)malloc(sizeof(double) * n);
	int i;
	for(i=n-1;i>=0;i--)
	{
		scanf("%lf%lf",&px[i],&py[i]);
	}
    double dis;
    double mdis;
	mdis=0;
    int j;
	for(j=n-1;j>=0;j--)
	{
		for(i=j-1;i>=0;i--)
		{
			dis=(px[j]-px[i])*(px[j]-px[i])+(py[j]-py[i])*(py[j]-py[i]);
			if(mdis<=dis) mdis=dis;
		}
	}
	mdis=sqrt(mdis);
    free(px);
	free(py);
	printf("%.4f\n",mdis);
	return 0;
}
struct point
{
       double x;
       double y;
};
main()
{
      int n;
      scanf("%d",&n);
      struct point *p;
      p=(struct point*)malloc(sizeof(point)*n);
      int i,j;
      for(i=0;i<n;i++)
      {
                      scanf("%lf %lf",&p[i].x,&p[i].y);
      }
      double*d=(double*)malloc(sizeof(double)*(n-1));
      for(i=0;i<n-1;i++)
      {d[i]=0.0;}
      double c;
      for(i=0;i<n-1;i++)
      {
                        for(j=i+1;j<n;j++)
                        {
                                          c=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(c>d[i])
                                          d[i]=c;
                        }
      }
      double max=0.0;
      for(i=0;i<n-1;i++)
      {
                        if(d[i]>max)
                        max=d[i];
      }
      printf("%.4lf\n",max);
      getchar();
      getchar();
      getchar();
}
int main()
{int n,i,j;
double a[100][2],z;
double max=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
	for(j=0;j<2;j++)
		scanf("%lf",&a[i][j]);
}
for(i=0;i<n-1;i++)
{
	for(j=i+1;j<n;j++)
	{z=(a[i][1]-a[j][1])*(a[i][1]-a[j][1])+(a[i][0]-a[j][0])*(a[i][0]-a[j][0]);
	if(z>max)
	max=z;
	}
}
printf("%.4lf",sqrt(max));
return 0;
}
void main()
{
	int n,i,j,k=0;
	double a[10],b[10],c[50],sum;
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%lf%lf",&a[i],&b[i]);
	for(i=0;i<50;i++)
	{
			c[i]=0;
	}
	for(i=0;i<n-1;i++)
	{
		for(j=i+1;j<n;j++)
		{
			c[k]=(a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j]);
			k++;
		}
	}
	
	sum=c[0];
	for(i=0;i<50;i++)
	{
			if(sum<c[i])  sum=c[i];
	}
	printf("%.4f\n",sqrt(sum));
}
int main ()
{
	int n ;
	scanf("%d",&n);
	float x[10000][2];
	int i,j;
	float dis=0;
    float b;
	for (i=0;i<n;i++)
	{
		scanf("%f%f",&x[i][0],&x[i][1]);
	}
	for (i=0;i<n;i++)
		for (j=0;j<n;j++)
		{
			b=(float)sqrt((x[i][0]-x[j][0])*(x[i][0]-x[j][0])+(x[i][1]-x[j][1])*(x[i][1]-x[j][1]));
			if (b>=dis)
			{
				dis=b;
			}
			else
			{
				dis=dis;
			}
		}
	printf("%.4f\n",dis);
	return 0;
}
main() {
	int n, i, j;
	double x[1000], y[1000], ll[1000][1000]={{0},{0}}, l[1000]={0}, dis=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++ ) {
			ll[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( ll[i][j] > l[i] ) {
				l[i] = ll[i][j];
			}
		}
		if( l[i] > dis ) {
			dis = l[i];
		}
	}
	printf("%.4f\n", dis);
}
int main()
{
	int n;
	float t,max=0;
	struct point{
	   float x,y;
	}dis[1000];
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
		scanf("%f%f",&dis[i].x,&dis[i].y);
	}
	for(int k=0;k<n;k++)
	{
		for(int j=0;j<n;j++)
		{
		t=sqrt((dis[k].x-dis[j].x)*(dis[k].x-dis[j].x)+(dis[k].y-dis[j].y)*(dis[k].y-dis[j].y));                               
        if(t>max)max=t;
		}
	}
	printf("%.4f\n",max);
	return 0;
}
int main(int argc, char* argv[])
{
	int n,i,j,k;
	double a[100][2],m,max=0,MAX=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		for(j=0;j<2;j++)
		{
			scanf("%lf",&a[i][j]);
		}
	}
	for(i=0;i<n-1;i++)
	{
		for(k=i+1;k<n;k++)
		{
			m=sqrt((a[i][0]-a[k][0])*(a[i][0]-a[k][0])+(a[i][1]-a[k][1])*(a[i][1]-a[k][1]));
	        if(m>max)
				max=m;
		}
	}
	printf("%.4lf\n",max);
	return 0;
}
int main ()
{
  	int i,j,n;
	double m=0,l,a,b,c,d;

	scanf("%d",&n);
	struct point
	{
		float x,y;
	}   *p;
	 
		p=(struct point *)malloc(sizeof(point)*n);
		for(i=0;i<n;i++)
		{
			scanf("%f%f",&(p+i)->x,&(p+i)->y);
		}
		for(i=1;i<n;i++){
		for(j=0;j<i;j++)
			{
				a=(p+i)->x;b=(p+j)->x;c=(p+i)->y;d=(p+j)->y;
                l=sqrt((a-b)*(a-b)+(c-d)*(c-d));
				if(l>m)
					m=l;
			}
		}
		printf("%.4f",m);
		free (p);
  
}
///???//
int iIndex,iIndex1,iCount;
int i,j,k,l,m,n;//???????
double x[1000];
double y[1000];
double MaxDistance,NowDistance;
/////////////
/* ???????
void Input()
{
ifstream fin("D:\\Brother\\Kon\\Debug\\message.in");
fin>>iCount;
for (i=0; i<iCount; i++)
fin>>x[i]>>y[i];
fin.close();
}
*/

void _Calculate()
{
for(i=0;i<iCount;i++)
{
for(j=i;j<iCount;j++)
{
NowDistance = sqrt( ( x[i] - x[j] )*( x[i] - x[j] ) + ( y[i] - y[j] )*( y[i] - y[j] ) );
if (NowDistance > MaxDistance) 
{MaxDistance=NowDistance;}
}
}
}
int main(int argc, char* argv[])
{

MaxDistance=-1;
//iIndex=0;iIndex1=0;
/* ??(x[iIndex],y[iIndex])
  ???????-1????????~???????????*/
//->??????????printf("Hello World!\n");
// ??????????Input();


scanf("%d",&iCount);


for (i=0;i<iCount;i++)
{

cin>>x[i]>>y[i];
}

_Calculate();

cout << MaxDistance<<endl;

return 0;
}
main()
{
      int n;
      scanf("%d",&n);
      double a[n][2];
      for(int i=0;i<n;i++)
      scanf("%lf %lf",&a[i][0],&a[i][1]);
      double b[n][n];
      for(int j=0;j<n;j++)
      {
              for(int k=j+1;k<n;k++)
              b[j][k]=(a[j][0]-a[k][0])*(a[j][0]-a[k][0])+(a[j][1]-a[k][1])*(a[j][1]-a[k][1]);
               
      } 
      
      double m=0.0;
      for(int j=0;j<n;j++)
      {
              for(int k=j+1;k<n;k++)
              {if(b[j][k]>m)
              m= b[j][k];}
      }
      double p=sqrt(m); 
      printf("%.4lf",p);
      
}
int main()
{
	int n,k=0;
	cin>>n;
	double x[100],y[100],d[500];
	for(int i=0;i<n;i++)
		cin>>x[i]>>y[i];
	for(int i=0;i<n-1;i++)
	{
		for(int j=i+1;j<n;j++)
		{
			d[k++]=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
		}
	}
	for(int i=0;i<k;i++)
	{
		for(int j=0;j<k-i;j++)
		{
			if(d[j]<d[j+1]) swap(d[j],d[j+1]);
		}
	}
	cout<<fixed<<setprecision(4)<<d[0]<<endl;
	return 0;
}
int main()
{
	struct
	{double x,y;
	}a[10000];
	double l,max=0;
	int i,j,n;
	
	scanf ("%d",&n);
	
	for (i=1;i<=n;i++)
		scanf ("%lf%lf",&a[i].x,&a[i].y);

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

	
	return 0;
}
int main(int argc, char* argv[]){
	struct point{
		double x,y;
	}p[1000];
	int n;
	scanf("%d",&n);
	int i,j;
         for(i=0;i<n;i++){
		scanf("%lf %lf",&p[i].x,&p[i].y);
	}
	double max=sqrt((p[0].x-p[1].x)*(p[0].x-p[1].x)+(p[0].y-p[1].y)*(p[0].y-p[1].y));
	for(i=0;i<n;i++){
		for(j=n-1;j>i;j--){
			double 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(max<s) max=s;
		}
	}
	printf("%.4f\n",max);
	return 0;
}
void main ()
{
	int s=0,i=0,j=0,k,t,r=0,h;
    double x[100],y[100],b[100];
   scanf ("%d",&j);
   for (i=0;i<j;i++)
   {
   scanf ("%lf%lf",&x[i],&y[i]);
   
   }

	
	
	
	for (k=0;k<j;k++)
	   
   {
	   for (i=0;i<j;i++)
	   {
		  b[r]=sqrt((x[i]-x[k])*(x[i]-x[k])+(y[i]-y[k])*(y[i]-y[k]));
		   r++;	  
	   }
   }



for (k=0;k<r-1;k++)
	   
   {
	   for (i=0;i<r-k-1;i++)
	   {
		   if (b[i]<b[i+1])
		   {
			   t=b[i];
			  b[i]=b[i+1];
			  b[i+1]=t;
			   
		   }
	   }
   
}



printf ("%.4lf",b[0]);






}
int i,num,p;
float x[10],y[10];
double dis,temp;
int main(){
scanf("%d",&num);
dis=0;
for (i=1;i<=num;i++){
	scanf("%f%f",&x[i],&y[i]);
}
for (p=1;p<=num;p++){
	for (i=num;i>0;i--){
		temp=pow((x[p]-x[i])*(x[p]-x[i])+(y[p]-y[i])*(y[p]-y[i]),0.5);
		if (temp>=dis)
		{
		dis=temp;
		}
	}
}
printf("%.4f\n", dis);
return 0;
}
int main(int argc, char *argv[])
{
  
    int i,j,n;
    double a[1000][2],max,b;
    scanf ("%d",&n);
    for (i=0;i<n;i++)
    {
        scanf ("%lf%lf",&a[i][0],&a[i][1]);
    }
    max=0;
    for (i=0;i<n;i++)
    {
        for (j=i;j<n;j++)
        {
            b=(a[j][0]-a[i][0])*(a[j][0]-a[i][0])+(a[j][1]-a[i][1])*(a[j][1]-a[i][1]);
            if (b>max)
            max=b;
        }
    }
    printf ("%.4lf",sqrt(max));
    scanf ("%d",&i);
    return 0;
}
struct point
{
       double x;
       double y;
};

int main(int argc, char *argv[])
{
  int n,i,j;
  scanf("%d",&n);
  struct point stu[n]; 
  for (i=0;i<=n-1;i++)
      scanf("%lf%lf",&stu[i].x,&stu[i].y);
  double dis[n][n];
  for (i=0;i<=n-1;i++)
  {
      for (j=i+1;j<=n-1;j++)
          dis[i][j]=sqrt((stu[i].x-stu[j].x)*(stu[i].x-stu[j].x)+(stu[i].y-stu[j].y)*(stu[i].y-stu[j].y));
  }
  double max=0;
  for (i=0;i<=n-1;i++)
  {
      for (j=i+1;j<=n-1;j++)
          if (max<dis[i][j])
             max=dis[i][j];
  }
  printf("%.4lf",max);
  return 0;
}
void main()
{
	int n,i,j;
	float a[100][2];
	double dis,d;
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%f %f",&a[i][0],&a[i][1]);
	dis=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=0;j<n;j++)
		{
			d=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]));
			if(d>dis)
				dis=d;
		}
	printf("%.4f\n",dis);
}
main()
{int i,j,k,m,n,p=0,q;
 scanf("%d",&n);
 q=n*(n-1)/2; 
 double t,jl[q];
 struct{double x;double y;}dian[n];
 for(i=0;i<n;i++)
    scanf("%lf %lf",&dian[i].x,&dian[i].y);
 for(i=0;i<(n-1);i++)
   {for(j=i+1;j<n;j++)
     {
     jl[p]=sqrt((dian[i].x-dian[j].x)*(dian[i].x-dian[j].x)+(dian[i].y-dian[j].y)*(dian[i].y-dian[j].y));  
     p++;
    } }
 for(i=0;i<(q-1);i++)
  { for(j=i+1;j<q;j++)
     if(jl[j]>jl[i]) {t=jl[j];jl[j]=jl[i];jl[i]=t;}
  }
  printf("%.4lf",jl[0]);

}
int main(){
	struct point{
		double x,y;
	}point[10];
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%lf %lf",&point[i].x,&point[i].y);
	}
	double max[10];
	for(i=0;i<n-1;i++){
		int j;
		double dis[10];
		
		for(j=i+1;j<n;j++){
			dis[j-1]=sqrt((point[i].x-point[j].x)*(point[i].x-point[j].x)+(point[i].y-point[j].y)*(point[i].y-point[j].y));
		}

		for(j=i+1;j<n-1;j++){
			if(dis[j-1]>dis[j]){
				max[i]=dis[j-1];
				dis[j]=dis[j-1];
			}
            else max[i]=dis[j];
		}
	}
	double M;
	for(i=0;i<n-1;i++){
		if(max[i]>max[i+1]){
			M=max[i];
			max[i+1]=max[i];
		}
        else M=max[i+1];
	}
	printf("%.4f",M);
	return 0;
}
int main(int argc, char* argv[])
{
	int n ,i,j,t=0;
	double x[99],y[99],s[999],max,h[999],z[999];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%lf%lf",&x[i],&y[i]);
	}
	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n;j++)
		{
			h[t]=x[i]-x[j];
			z[t]=y[i]-y[j];
			s[t]=sqrt(pow(h[t],2)+pow(z[t],2));
			t++;
		}
	}
	for(i=0;i<t;i++)
	{
		if(i==0)max=s[i];
		else if(s[i]>max)max=s[i];
	}
	printf("%.4lf",max);
	return 0;
}
int main(){
   int n,i,a,b;
  double x[10],y[10],totle=0; 
   scanf("%d",&n);
	   for (i=0;i<n;i++){
		   scanf("%lf %lf",&x[i],&y[i]);
	   }
	   for(a=0;a<n;a++){
		   for(b=0;b<n;b++){
			   if ((x[a]-x[b])*(x[a]-x[b])+(y[a]-y[b])*(y[a]-y[b])>totle)
				   totle=((x[a]-x[b])*(x[a]-x[b])+(y[a]-y[b])*(y[a]-y[b]));
		   }
	   }
    printf("%.4f\n",pow(totle,0.5));
	return 0;
}
int main()
{
	float x[100],y[100];
	int n,i,j;
	double dis[100][100],Dis;

	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%f%f",&x[i],&y[i]);
    
	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n-1;j++)
	dis[i][j]=(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(dis[0][0]<=dis[i][j])dis[0][0]=dis[i][j];
    }

    Dis=sqrt(dis[0][0]);

	printf("%.4f",Dis);

	return 0;
}
double dis(double x,double y,double p,double q)
{
	double d,e,f;
	e=x-p;
	f=y-q;
	d=sqrt(e*e+f*f);
	return d;
}

void main()
{
	int n,i,j,k;
	double a[30][2],ben[300],max;

	scanf("%d",&n);

	for(i=0;i<n;i++)
	{
		scanf("%lf %lf",&a[i][0],&a[i][1]);}
	k=0;

    for(i=0;i<n;i++)
		for(j=0;j<i;j++)
		{ben[k]=dis(a[i][0],a[i][1],a[j][0],a[j][1]);
		k=k+1;}
	max=ben[0];
    for(i=0;i<k;i++)
	{
		if(ben[i]>max) max=ben[i];}
	printf("%.4lf",max);
}
int main(){
int n;
scanf("%d",&n);
int i,a=0;
float x,y,x1,y1,x2,y2,x3,y3,x4,y4;
for(i=0;i<n;i++){
scanf("%f %f",&x,&y);
if(a==0){
x1=x2=x3=x4=x;
y1=y2=y3=y4=y;
a=1;
}
if(x<x1){
x1=x;
y1=y;}
if(x>x2){
x2=x;
y2=y;}
if(y<y3){
x3=x;
y3=y;}
if(y>y4){
x4=x;
y4=y;
}
}
float dis1,dis2,dis3,dis4,dis5,dis6,dis;
dis1=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
dis=dis1;
dis2=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
if(dis2>dis){
dis=dis2;
}
dis3=sqrt((x4-x1)*(x4-x1)+(y4-y1)*(y4-y1));
if(dis3>dis){
dis=dis3;
}
dis4=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
if(dis4>dis){
dis=dis4;
}
dis5=sqrt((x4-x2)*(x4-x2)+(y4-y2)*(y4-y2));
if(dis5>dis){
dis=dis5;
}
dis6=sqrt((x4-x3)*(x4-x3)+(y4-y3)*(y4-y3));
if(dis6>dis){
dis=dis6;
}
printf("%.4f\n",dis);
return 0;
}
/*?????(x,y)????????????????*/

double compare(double x[],double y[],int n)
{
	int i,j;
	double m;
	for(i=0;i<n-1;i++)
	{
		for(j=i+1;j<n;j++)
		{
			if(sqrt((x[j]-x[i])*(x[j]-x[i])+(y[j]-y[i])*(y[j]-y[i]))>m)
				m=sqrt((x[j]-x[i])*(x[j]-x[i])+(y[j]-y[i])*(y[j]-y[i]));
		}
	}
	return m;
}

void main()
{
	int n,k;
	double b[10],a[10];
	scanf("%d",&n);
	for(k=0;k<n;k++)
	{
		scanf("%lf%lf",&a[k],&b[k]);
	}
	printf("%.4lf\n",compare(a,b,n));
}
int main()
{	
	int num;
	double numm[100][2];
	double dis;
	cin>>num;
	double max=0;
	for(int i=0; i<num ; i++ ) cin>>numm[i][0]>>numm[i][1];
	for(int i=0;i<num;i++)
		for(int j=0;j<i;j++)
		{
			dis=sqrt(pow(numm[i][0]-numm[j][0],2)+pow(numm[i][1]-numm[j][1],2));
			if(dis>max) max=dis;
		}

		cout<<setprecision(4)<<fixed<<max;

	return 0;
}
struct point
{
	double x, y;
}points[200];
int n;

double getMaxDis(int i);
int main()
{
	scanf("%d", &n);
	int i;
	for(i=0; i<n; i++)
		scanf("%lf %lf", &points[i].x, &points[i].y);

	double MaxDis=0, t;
	for(i=0; i<n; i++)
	{
		t = getMaxDis(i);
		if(t > MaxDis)
			MaxDis = t;
	}
	printf("%.4lf", sqrt(MaxDis));
}

double getMaxDis(int i)
{
	int j;
	double MaxDis = 0, dx, dy;
	for(j=0; j<n; j++)
	{
		dx = (points[i].x - points[j].x)*(points[i].x - points[j].x);
		dy = (points[i].y - points[j].y)*(points[i].y - points[j].y);
		if(dx + dy > MaxDis)
		{
			MaxDis = dx + dy;
		}
	}
	return MaxDis;
}