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

typedef unsigned long long broj;

struct frilenser
{
    broj dolari;
    broj porez;
};

bool veci(const frilenser & a, const frilenser & b)
{
    return a.porez>b.porez;
}

int main()
{
    int n;
    cin>>n;
    frilenser gospodin[n];
    for(int i=0;i<n;i++)
    {
        double d;
        cin>>gospodin[i].dolari>>d;
        d=100.0*d+0.001;
        gospodin[i].porez=(broj)d;
    }
    sort(gospodin,gospodin+n,veci);
    
    broj suma=0,sum[n];
    for(int i = 0;i<n;i++)
    {
        suma+=gospodin[i].dolari;
        sum[i]=suma;
    }
    
    broj max = 0;

    for(int i=0;i<n;i++)
    {
        broj porez=gospodin[i].porez;
        broj ukupno=sum[i];
        
        ukupno*=porez;

        if(max<ukupno)    max=ukupno;
    }
    
    broj ceo=max/10000, deo=max%10000;
    cout<<ceo<<"."<<deo;
    return 0;
}