#include <bits/stdc++.h>
using namespace std;
const int MAXN = -1;
struct disk {
  long long L;
  double p;
  disk(long long L = 0, double p = 0.) : L(L), p(p) {}
};
bool operator<(disk a, disk b) {
  return (a.L * a.p * (1 - b.p)) > (b.L * b.p * (1 - a.p));
}
int n;
vector<disk> P;
int main() {
  while (cin >> n) {
    P.resize(n);
    for (int i = (0); i < (int)(n); i++)
      scanf("%lld %lf", &P[i].L, &P[i].p), P[i].p /= 100;
    sort(P.begin(), P.end());
    double ans = 0., E = 0.;
    for (int i = ((int)n) - 1; i >= 0; i--) {
      disk D = P[i];
      ans += D.L * (1 + E * D.p);
      E = D.p * E + (1 - D.p) * (E + 1);
    }
    printf("%.6f\n", ans);
  }
  return 0;
}
