#include<cstdio>#include<iostream>#include<algorithm>#include<vector>usingnamespacestd;structP{intt,d;};// Greedy approach to minimize cost
// cost = 2 * T * (total - D)
// Therefore, larger D and smaller T are better
// Key insight: convert to D / T ratio - larger is better
boolcmp(constP&a,constP&b){returnb.d*a.t<a.d*b.t;}vector<P>v;intN;intmain(){scanf("%d",&N);inti,total;total=0;for(i=0;i<N;++i){structPp;scanf("%d %d",&p.t,&p.d);v.push_back(p);total+=p.d;}sort(v.begin(),v.end(),cmp);unsignedlonglongres=0;for(i=0;i<N;++i){total-=v[i].d;res+=total*v[i].t*2;}cout<<res<<endl;return0;}