#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn = 200005;
int n;
int wz[maxn];
int yy[maxn];
struct node {
int x, v;
} a[maxn];
bool cmp(node a, node b) {
return a.v > b.v;
}
int lowbit(int x) {
return x & (-x);
}
void add_num(int x) {
for (int i = x; i < maxn; i += lowbit(i)) {
wz[i]++;
}
}
int sum_num(int x) {
int res = 0;
for (int i = x; i; i -= lowbit(i)) {
res += wz[i];
}
return res;
}
void add_coord(int x, int v) {
for (int i = x; i < maxn; i += lowbit(i)) {
yy[i] += v;
}
}
int sum_coord(int x) {
int res = 0;
for (int i = x; i; i -= lowbit(i)) {
res += yy[i];
}
return res;
}
void run() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i].v >> a[i].x;
}
sort(a + 1, a + n + 1, cmp);
int ans = 0;
for (int i = 1; i <= n; i++) {
int x = a[i].x;
int v = a[i].v;
int sumLeftNum = sum_num(x - 1);
int sumLeftCoord = sum_coord(x - 1);
int sumRightNum = sum_num(maxn) - sum_num(x);
int sumRightCoord = sum_coord(maxn) - sum_coord(x);
ans += v * (x * sumLeftNum - sumLeftCoord) + v * (sumRightCoord - x * sumRightNum);
add_coord(x, x);
add_num(x);
}
cout << ans << "\n";
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
int T = 1;
while (T--) {
run();
}
return 0;
}