#include <iostream>
#include <algorithm>
#include <vector>
#include <iomanip>
using namespace std;
struct fr
{
    int a;
    double p;
};
bool bolji (fr a, fr b)
{
    return (a.p<b.p);
}
int main()
{
    int i,n,s=0;
    double maxi,maxi2;
    cin>>n;
    vector <fr> f(n);
    for (i=0;i<n;i++)
    {
        cin>>f[i].a>>f[i].p;
        s+=f[i].a;

    }
    sort(f.begin(),f.end(),bolji);
    maxi=s*f[i].p;
    for (i=1;i<n;i++)
    {
        s-=f[i-1].a;
        maxi2=s*f[i].p;
        if (maxi2>maxi)
              maxi=maxi2;
    }
    cout<<fixed<<setprecision(4)<<maxi/100<< endl;
    return 0;
}