#include <bits/stdc++.h>
using namespace std;
const long long INF=0x3f3f3f3f3f3f3f3f;
const int N=100005;
struct node
{
long long w,h;
int l,r;
}a[N];
int n;
long long ans[N];
int nexlow(int cur)
{
while(1)
{
int l=a[cur].l,r=a[cur].r;
if(a[l].h<a[cur].h) cur=l;
else if(a[r].h<a[cur].h) cur=r;
else return cur;
}
}
void solve(int cur)
{
int cnt=0;
long long time=0;
while(cnt<n)
{
cnt++;
time+=a[cur].w;
ans[cur]=time;
int l=a[cur].l,r=a[cur].r;
int wholow=min(a[l].h,a[r].h);
time+=(wholow-a[cur].h-1)*a[cur].w;
a[l].r=r;
a[r].l=l;
if(a[l].h<a[r].h)
{
a[l].w+=a[cur].w;
cur=l;
}
else
{
a[r].w+=a[cur].w;
cur=r;
}
cur=nexlow(cur);
}
return;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
scanf("%11d%11d",&a[i].w,&a[i].h);
for(int i=0;i<=n+1;i++)
a[i].l=i-1,a[i].r=i+1;
a[0].w=a[n+1].w=1;
a[0].l=a[n+1].l=INF;
long long minn=INF;
int cur=0;
for(int i=1;i<=n;i++)
{
if(a[i].h<minn)
{
minn=a[i].h;
cur=i;
}
}
solve(cur);
for(int i=1;i<=n;i++)
printf("%11d\n",ans[i]);
return 0;
}