#include <bits/stdc++.h>
using namespace std;
typedef struct node {
  long long a;
  long long b;
} node;
void SWAP(node* x, node* y) {
  node tmp = *x;
  *x = *y;
  *y = tmp;
}
bool cmp(node x, node y) {
  if ((x.a - y.a) * (x.b - y.b) < 0) {
    return x.a > y.a;
  } else {
    if (x.a - y.a > 0)
      return (x.a - y.a) > (x.b - y.b);
    else
      return (y.a - x.a) < (y.b - x.b);
  }
}
long long dis(node arr[], int n) {
  long long ret = 0;
  for (int i = 0; i < n; i++) {
    ret += arr[i].a * i + arr[i].b * (n - i - 1);
  }
  return ret;
}
node arr[100001];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%lld %lld", &arr[i].a, &arr[i].b);
  }
  sort(arr, arr + n, cmp);
  printf("%lld", dis(arr, n));
  return 0;
}
