WA #9#10#11#12
#include<bits/stdc++.h>
using namespace std;
const int N=2e4+10;
int n,sumw[N],suml[N],f[N],sumr[N],sumd[N];
struct node
{
int w,d;
}a[N];
int y(int i)
{
return sumr[i+1]-sumr[i]+sumw[i]*sumd[i];
}
int x(int i)
{
return sumd[i];
}
int aa(int i)
{
return sumw[i+1];
}
//sumr[j+1]-sumr[j]+sumw[j]*sumd[j]=f[i]-suml[i]-sumr[i+1]+sumw[i+1]*sumd[j];
int main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i].w>>a[i].d;
for(int i=2;i<=n+1;i++)sumw[i-1]=sumw[i-2]+a[i-1].w,suml[i]=suml[i-1]+a[i-1].d*sumw[i-1];
sumw[n+1]=0;
for(int i=n;i>=1;i--)sumd[i]=sumd[i+1]+a[i].d,sumw[i]=sumw[i+1]+a[i].w,sumr[i]=sumr[i+1]+a[i].w*sumd[i];
f[n+1]=suml[n+1];
for(int i=n;i>=1;i--)f[i]=sumr[i+1]+suml[i];
int ans=1e9;
int q[N],l=1,r=1;
q[1]=0;
for(int i=n;i>=1;i--)
{
while(l<r&&y(q[l+1])-y(q[l])<=aa(i)*(x(q[l+1])-x(q[l])))l++;
ans=min(ans,suml[i]+sumr[q[l]+1]+sumr[i+1]-sumr[q[l]]-(sumw[i+1]-sumw[q[l]])*sumd[q[l]]);
while(l<r&&(y(q[r])-y(q[r-1]))*(x(i)-x(q[r]))>=(y(i)-y(q[r]))*(x(q[r])-x(q[r-1])))r--;
q[++r]=i;
}
cout<<ans;
return 0;
}