#include<cstdio>
#include<utility>
const int N=5e5+6;
std::pair<double,int>q[N];
int n,L,dlt,H,T;long long v;
double all,t;
int main(){
	scanf("%d%d%lf%d",&n,&L,&t,&v);
	printf("%.13f\n",t);
	q[0]=std::make_pair(t,v);
	all=t*v;
	for(int i=2;i<=n;++i){
		scanf("%lf%lld",&t,&v);
		dlt=v;
		while(dlt)if(dlt<q[H].second)all-=q[H].first*dlt,q[H].second-=dlt,dlt=0;else
		all-=q[H].first*q[H].second,dlt-=q[H++].second;
		while(H<=T&&t<q[T].first)all-=q[T].first*q[T].second,t=(t*v+q[T].first*q[T].second)/(v+q[T].second),v+=q[T--].second;
		q[++T]=std::make_pair(t,v);
		all+=t*v;
		printf("%.13f\n",all/L);
	}
	return 0;
}