#include <bits/stdc++.h>
using namespace std;
const int INF = (1 << 30) - 1;
const long long LINF = (1ll << 62) - 1;
const int DIRX[] = {-1, 0, 0, 1, -1, -1, 1, 1},
          DIRY[] = {0, -1, 1, 0, -1, 1, -1, 1};
const double ERR = 1e-11, PI = (2 * acos(0.0));
template <class T>
inline T MIN(T a, T b) {
  return ((a < b) ? (a) : (b));
}
template <class T>
inline T MAX(T a, T b) {
  return ((b < a) ? (a) : (b));
}
template <class T>
inline T ABS(T a) {
  return ((a < 0) ? (-a) : (a));
}
template <class T>
inline void checkMIN(T& a, T b) {
  if (b < a) a = b;
}
template <class T>
inline void checkMAX(T& a, T b) {
  if (a < b) a = b;
}
template <class T>
inline T SQR(T x) {
  return (x * x);
}
template <class T>
T GCD(T a, T b) {
  return ((!b) ? (a) : GCD(b, a % b));
}
template <class T>
T fastPow(T Base, T Power) {
  T Result = 1;
  while (Power > 0) {
    if (Power & ((T)1)) Result *= Base;
    Power >>= 1;
    Base *= Base;
  }
  return Result;
}
template <class T>
T fastModPow(T Base, T Power, T Mod) {
  T Result = 1;
  while (Power > 0) {
    if (Power & ((T)1)) Result = (Result * Base) % Mod;
    Power >>= 1;
    Base = (Base * Base) % Mod;
  }
  return (Result % Mod);
}
inline int compDouble(double x, double y) {
  double d = x - y;
  if (d - ERR > 0.0)
    return 1;
  else if (d + ERR < 0.0)
    return -1;
  else
    return 0;
}
vector<pair<int, int> > vec;
double len[50005], prob[50005];
double tot[50005], par[50005];
bool comp(const pair<int, int>& a, const pair<int, int>& b) {
  return a.first * a.second * (100 - b.first) <
         b.first * b.second * (100 - a.first);
}
int main() {
  int _kase = 1;
  int i, j, k, n;
  while (_kase--) {
    cin >> n;
    vec.resize(n);
    for (i = 0; i < n; i++) cin >> vec[i].second >> vec[i].first;
    sort((vec).begin(), (vec).end(), comp);
    reverse((vec).begin(), (vec).end());
    for (i = 1; i <= n; i++) {
      len[i] = vec[i - 1].second;
      prob[i] = vec[i - 1].first / 100.;
    }
    for (i = 1; i <= n; i++) {
      tot[i] = (tot[i - 1] + len[i]) * prob[i] +
               (tot[i - 1] + len[i] + par[i - 1]) * (1. - prob[i]);
      par[i] = (par[i - 1] + len[i]) * prob[i] + (par[i - 1]) * (1. - prob[i]);
    }
    printf("%.12lf\n", tot[n]);
  }
  return 0;
}
