1 #include<cstdio>
2 #include<cstring>
3 #include<algorithm>
4 using namespace std;
5 const int maxn=20000+5;
6 int dis[maxn];
7 int num[maxn];
8 int n;
9 struct COW
10 {
11 int vol,x;
12 bool operator <(const COW &a) const
13 {
14 return vol<a.vol;
15 }
16 }cow[maxn];
17 int lowbit(int x)
18 {
19 return x&-x;
20 }
21 int sum(int *c,int x)
22 {
23 int ret=0;
24 while(x>0)
25 {
26 ret+=c[x];
27 x-=lowbit(x);
28 }
29 return ret;
30 }
31 void add(int *c,int x,int inc,int mpos)
32 {
33 while(x<=mpos)
34 {
35 c[x]+=inc;
36 x+=lowbit(x);
37 }
38 }
39 int main()
40 {
41 while(scanf("%d",&n)!=EOF)
42 {
43 memset(dis,0,sizeof(dis));
44 memset(num,0,sizeof(num));
45 int mpos=0;
46 for(int i=0;i<n;i++)
47 {
48 scanf("%d%d",&cow[i].vol,&cow[i].x);
49 if(cow[i].x>mpos) mpos=cow[i].x;
50 }
51 sort(cow,cow+n);
52 long long ans=0;
53 for(int i=0;i<n;i++)
54 {
55 long long tot=0;
56 tot+=sum(num,cow[i].x-1)*cow[i].x-sum(dis,cow[i].x-1);
57 tot+=(sum(dis,mpos)-sum(dis,cow[i].x))-(sum(num,mpos)-sum(num,cow[i].x))*cow[i].x;
58 ans+=tot*cow[i].vol;
59 add(dis,cow[i].x,cow[i].x,mpos);
60 add(num,cow[i].x,1,mpos);
61 }
62 printf("%lld\n",ans);
63 }
64 return 0;
65 }