//#Ewise Electric

#include <bits/stdc++.h>
using namespace std;
#define ll long long
bool ONE_CASE=true;
 
const ll OL=1e18;
const double eps=1e-7;
vector<pair<long double,long double>> neods;
int n;
 
void solve(){
    cin>>n;
    
    for(int i=0;i<n;i++){
        int l,m;
        cin>>l>>m;
        neods.push_back({l,m});
    }    
    sort(neods.begin(),neods.end());
    cout<<fixed<<setprecision(8);
    
    for(int i=0;i<n-1;i++){
        
        //we need to BS between l and r
        long double l=neods[i].first,r=neods[i+1].first;
        long double mid=(l+r)/2.0,x1=0,x2=0;
            for(int z=i+1;z<n;z++){
                x2+=(neods[z].second)/(powl((neods[z].first-mid),2));
            }
            for(int z=0;z<=i;z++){
                x1+=(neods[z].second)/(powl((neods[z].first-mid),2));
                if(x1>x2+eps)break;
            }
        while(abs(x2-x1)>eps){
            
            
            /*cout<<mid<<endl;
            cout<<x2<<"#"<<x1<<endl;*/
            
            if(x2>x1){
                r=mid;
            }
            else{
                l=mid;
            }
            mid=(r+l)/2.0;
            x1=x2=0;
            for(int z=i+1;z<n;z++){
                x2+=(neods[z].second)/(powl((neods[z].first-mid),2));
            }
            for(int z=0;z<=i;z++){
                x1+=(neods[z].second)/(powl((neods[z].first-mid),2));
                if(x1>x2+eps)break;
            }
            /*cout<<mid<<endl;
            cout<<x2<<"#"<<x1<<endl;*/
        }
        
        cout<<mid<<endl;
    }
}
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    
    
    
    int t=1;
    if(!ONE_CASE)
        cin>>t;
    while(t--){
        
        solve();
    }
}