#include <bits/stdc++.h>
static const int INF = std::numeric_limits<int>::max();
struct Node {
  int len, prob;
};
struct comp {
  bool operator()(const Node& lhs, const Node& rhs) const {
    double lp = lhs.prob / 100.0, rp = rhs.prob / 100.0;
    int sum = lhs.len + rhs.len;
    double a = sum + lhs.len * lp * (1 - rp);
    double b = sum + rhs.len * rp * (1 - lp);
    return a > b;
  }
};
int main() {
  int n;
  std::cin >> n;
  std::vector<Node> v(n);
  for (int i = 0; i < n; ++i) {
    std::cin >> v[i].len >> v[i].prob;
  }
  std::sort(v.begin(), v.end(), comp());
  double res = 0, acc = 0;
  for (int i = 0; i < n; ++i) {
    double p = v[i].prob / 100.0;
    res += v[i].len + acc * (1 - p);
    acc += v[i].len * p;
  }
  std::cout << std::fixed << std::setprecision(9) << res << std::endl;
}
