#include <bits/stdc++.h>

using namespace std;

typedef long long LL;
#define repp(i,a,b) for(int i = (int)(a) ; i < (int)(b) ; ++i)
#define repm(i,a,b) for(int i = (int)(a) ; i > (int)(b) ; --i)

int main(){
	int N,L; cin >> N >> L;
	deque<pair<double,int>> W;
	double ans = 0.0;
	int c = 0;
	repp(i,0,N){
		double t; int v; cin >> t >> v;
		while(!W.empty() && W.back().first >= t && v < L){
			t = (W.back().first * min(L-v,W.back().second) + t * v) / min(L,W.back().second+v);
			v = min(L,v+W.back().second);
			ans -= W.back().first * W.back().second;
			c -= W.back().second;
			W.pop_back();
		}
		W.push_back(make_pair(t,v));
		ans += t*v;
		c += v;
		while(c > L){
			auto p = W.front(); W.pop_front();
			int z = c-L;
			ans -= p.first*min(z,p.second);
			c = max(L,c-p.second);
			p.second -= z;
			if(p.second > 0) W.push_front(p);
		}
		cout << fixed << setprecision(12) << ans/L << endl;
	}
	return 0;
}
