#include <bits/stdc++.h>
using namespace std;
int n;
struct muz {
  int len;
  int p;
  long double pro;
};
muz a[50003];
muz b[50003];
void mergesort(muz *a, muz *b, int n) {
  int i, i0, i1, iRight, iEnd, width, j;
  for (width = 1; width < n; width *= 2)
    for (i = 0; i < n; i += width * 2) {
      i0 = i;
      i1 = iRight = min(i + width, n);
      iEnd = min(i + width * 2, n);
      for (j = i; j < iEnd; j++)
        if (i0 < iRight &&
            (i1 == iEnd ||
             (long double)a[i0].pro / (1.00000000000000000000001 -
                                       (long double)a[i0].p / 100.000) >
                 (long double)a[i1].pro / (1.00000000000000000000001 -
                                           (long double)a[i1].p / 100.000)))
          b[j] = a[i0++];
        else
          b[j] = a[i1++];
      for (j = i; j < iEnd; j++) a[j] = b[j];
    }
}
int main() {
  cin >> n;
  int i;
  for (i = 0; i < n; i++) {
    scanf("%d %d", &a[i].len, &a[i].p);
    a[i].pro = (long double)a[i].len * a[i].p / 100.0000;
  }
  mergesort(a, b, n);
  long double lena = 0.000;
  long double ans = 0.000;
  for (i = 0; i < n; i++) {
    ans += (long double)a[i].len;
    ans += (long double)lena * (1.000 - (long double)a[i].p / 100.000);
    lena += (long double)a[i].pro;
  }
  cout << setprecision(20) << ans << endl;
  return 0;
}
