program fff
implicit none

integer :: n, i, j, k, co
real(12) :: z1, res
real(12),allocatable,dimension(:) :: x, y
real(12),allocatable,dimension(:,:) :: z

read*, n
allocate(x(n),y(n))
do i = 1, n
read*, x(i), y(i)
end do

if (n==2) then
print*, ((x(1)-x(2))**2 + (y(1)-y(2))**2)*1/2
return
end if

allocate(z(4,n*(n-1)*(n-2)/6))

co = 0
z = 0.0D0
do i = 1, n
	do j = i+1, n
    	do k = j+1, n
        co = co + 1
        z(1,co) = ((x(i)-x(j))**2 + (y(i)-y(j))**2)**0.5D0
		z(2,co) = ((x(j)-x(k))**2 + (y(j)-y(k))**2)**0.5D0
        z(3,co) = ((x(k)-x(i))**2 + (y(k)-y(i))**2)**0.5D0
        z1 = (z(1,co)+z(2,co)+z(3,co))*0.5D0
        z(4,co) = (z1*(z1-z(1,co))*(z1-z(2,co))*(z1-z(3,co)))**0.5D0
		z(4,co) = z(1,co)*z(2,co)*z(3,co)/(4*z(4,co))
			if (z(1,co)*(2**0.5)>z(2,co)+z(3,co)) z(4,co) = z(1,co)*0.5 
			if (z(2,co)*(2**0.5)>z(3,co)+z(1,co)) z(4,co) = z(2,co)*0.5 
			if (z(3,co)*(2**0.5)>z(1,co)+z(2,co)) z(4,co) = z(3,co)*0.5 
        end do
    end do
end do

res = 0.0D0
do i = 1, (n*(n-1)*(n-2)/6)
	if (res<z(4,i)) res = z(4,i)
end do

print*, res

end program
