#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i, a, b) for (int i = (a); i <= (b); ++i)
#define drp(i, a, b) for (int i = (a); i >= (b); --i)
double arr[6000][5];
int n;
bool check(double y)
{
double l=-2e9,r=2e9;
rep(i,1,n-1){
double k = arr[i][2],b=arr[i][3];
double templ = -2e9,tempr = 2e9;
if(k<0) templ = (y-b)/k;
if(k>0) tempr = (y-b)/k;
if(k==0) if(b>y) return false;
if(tempr<l||templ>r) return false;
l=max(l,templ),r=min(r,tempr);
}
return true;
}
int main()
{
cin>>n;
rep(i,1,n) cin>>arr[i][0]>>arr[i][1];
rep(i,1,n-1){
arr[i][2] = (arr[i+1][1]-arr[i][1])/(arr[i+1][0]-arr[i][0]);
arr[i][3] = arr[i][1]-arr[i][2]*arr[i][0];
}
double left = 0,right = 1e6,ans=0;
while(left<=right){
double mid = (left+right)/2;
if(!check(mid)) ans=mid,left = mid+0.01;
else right = mid-0.01;
}
printf("%.2lf",ans);
return 0;
}