#include <iostream>
#include <cmath>
#include <bits/stdc++.h>

using namespace std;

void unos_niza(int a[],double b[],int n)
{
    for (int i=0;i<n;i++)
        cin >> a[i] >> b[i];
}

void postavljanje_niza(double a[],int n)
{
    for (int i=0;i<n;i++)
        a[i]=0.0;
}

void sortiranje_nizova(double a[],int b[],int n)
{
    pair<double,int>pairt[n];
    for (int i = 0; i < n; i++)
    {
        pairt[i].first=a[i];
        pairt[i].second=b[i];
    }
    sort(pairt, pairt + n);
    for (int i = 0; i < n; i++)
    {
        a[i]=pairt[i].first;
        b[i]=pairt[i].second;
    }
}

void zaokruzivanje(double p[],int n)
{
    for (int i=0;i<n;i++)
        p[i]=ceil(p[i]*100.00)/100.0;
}

double maximum_niza(double a[],int n)
{
    int i;
    double max=a[0];
    for (i=1;i<n;i++)
        if (a[i]>max)
            max=a[i];
    return max;
}

int main()
{
    int n,i,j;
    cin >> n;
    int a[n];
    double p[n];
    unos_niza(a,p,n);
    double novac[n],max;
    postavljanje_niza(novac,n);
    zaokruzivanje(p,n);
    sortiranje_nizova(p,a,n);
    for (i=0;i<n;i++)
    {
        if (p[i]>0.0 && p[i]<=100.0 && a[i]>=1 && a[i]<=pow(10,6))
            for (j=i;j<n;j++)
            {
                novac[i]+=(double)a[j];
                novac[i]=(novac[i]*p[i])/100.0;
            }
        else
            return 0;
    }
    max=maximum_niza(novac,n);
    cout << max << endl;
    return 0;
}