#include #include int cmp (const void *a, const void *b) { long long *a_ = (long long *)a; long long *b_ = (long long *)b; if (b_[0]*a_[1] < a_[0]*b_[1]) { return 1; } if (b_[0]*a_[1] > a_[0]*b_[1]) { return -1; } return 0; } int main () { int n = 0; long long ab[200000][2] = {}; int res = 0; long long ans = 0LL; long long sum = 0LL; res = scanf("%d", &n); for (int i = 0; i < n; i++) { res = scanf("%lld", ab[i]); res = scanf("%lld", ab[i]+1); } qsort(ab, n, sizeof(long long)*2, cmp); for (int i = 0; i < n; i++) { ans += ab[i][0]*sum; sum += ab[i][1]; } printf("%lld\n", ans); return 0; }