#include <bits/stdc++.h>

typedef long long lld;

struct frilenser{
    lld a;
    double p;
};

bool compare(frilenser a, frilenser b){
    return a.p<b.p;
}

int main()
{
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    std::cout.tie(0);
    std::cerr.tie(0);

    int n;
    frilenser* niz;
    lld* zbir;

    std::cin >> n;
    niz = (frilenser*) calloc(n,sizeof(frilenser));
    zbir = (lld*) calloc(n, sizeof(lld));

    for(int i=0;i<n;++i){
        std::cin >> niz[i].a >> niz[i].p;
    }

    if(n==1){
        printf("%.2f",niz[0].a*niz[0].p/100.0);
        return 0;
    }

    std::sort(niz,niz+n,compare);

    zbir[n-1] = niz[n-1].a;
    for(int i=n-2;i>=0;--i){
        zbir[i] = niz[i].a+zbir[i+1];
    }

    double maxValue = zbir[0]*(niz[0].p/100.0);
    double tempValue;
    for(int i=1;i<n;++i){
        tempValue = zbir[i]*(niz[i].p/100.0);
        if(tempValue>maxValue){
            maxValue = tempValue;
        }
    }

    printf("%.4f",maxValue);

    return 0;
}