#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct node
{
int hp,dps;
}s[50];
bool cmp(node x,node y)
{
return (1.0*x.dps/x.hp)>(1.0*y.dps/y.hp);
}
int main()
{
int a,b,m,n,i,j;
while(scanf("%d",&n)!=EOF)
{
int sumdps=0;
for(i=0;i<n;i++)
{
scanf("%d%d",&s[i].dps,&s[i].hp);
sumdps+=s[i].dps;
}
int sum=0;
sort(s,s+n,cmp);
for(i=0;i<n;i++)
{
for(j=0;j<s[i].hp;j++)
sum+=sumdps;
sumdps-=s[i].dps;
}
printf("%d\n",sum);
}
return 0;
}
#include<cstring>
#include<algorithm>
using namespace std;
struct node
{
int hp,dps;
}s[50];
bool cmp(node x,node y)
{
return (1.0*x.dps/x.hp)>(1.0*y.dps/y.hp);
}
int main()
{
int a,b,m,n,i,j;
while(scanf("%d",&n)!=EOF)
{
int sumdps=0;
for(i=0;i<n;i++)
{
scanf("%d%d",&s[i].dps,&s[i].hp);
sumdps+=s[i].dps;
}
int sum=0;
sort(s,s+n,cmp);
for(i=0;i<n;i++)
{
for(j=0;j<s[i].hp;j++)
sum+=sumdps;
sumdps-=s[i].dps;
}
printf("%d\n",sum);
}
return 0;
}