#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define max(a,b) a<b?b:a
#define min(a,b) a<b?a:b
#define POW2(a)  a*a
#define ROOP(i,n) for(i = 0;i < n;i++)
#define _USE_MATH_DEFINES

typedef struct POINT{
	double x;
	double y;
}POINT;

//????????????????????¢
double norm(POINT a){
	return sqrt(norm2(a));
}

//a->b?????´??§???????????????
POINT make_vec(POINT a,POINT b){
	b.x -= a.x;

	b.y -= a.y;
	return b;
}

double distance(POINT a,POINT b){
	return norm(make_vec(a,b));
}


double diameter_poly(POINT p[],int n){
	POINT g[n];
	int i,j,m = -1;
	for(i = 0;i < n;i++){
		for(j = i+1;j < n;j++){
			m = max(distance(p[i],p[j]),m);
		}
	}
	return m;
}

int main(){
	int k;
	int i;
	POINT p[101];
	scanf("%d",&k);
	for(i =0 ;i < k;i++){
		scanf("%lf%lf",&p[i].x,&p[i].y);
	}
	printf("%.10lf\n",diameter_poly(p,k));
	return 0;
}