#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

struct frilenser
{
    int zarada;
    double procenat;
    
};
bool poredjenje(frilenser a, frilenser b)
{
    return a.procenat < b.procenat;
}
int main()
{
    int n;
    cin >> n;
    vector<frilenser> a(n);
    for (int i = 0; i < n; i++)
    {
        cin >> a[i].zarada >> a[i].procenat;
    }
    sort(a.begin(), a.end(), poredjenje);
    vector<long long int> s(n);
    s[0] = 0;
    for (int i = 0; i < n; i++)
    {
        s[0] = s[0] + a[i].zarada;
    }
    for (int i = 1; i < n; i++)
    {
        s[i] = s[i - 1] - a[i - 1].zarada;
    }
    double max = 0;
    for (int i = 0; i < n; i++)
    {
        if (max < ((double)s[i]) * a[i].procenat)
        {
            max = ((double)s[i]) * a[i].procenat;
        }

    }
    cout.setf(ios::fixed, ios::floatfield);
    cout.precision(3);
    cout << (max/100.0);

}