//
//  main.cpp
//  frilenceri
//
//  Created by Lazar on 19.12.20..
//

#include <iostream>
#include <iomanip>
using namespace std;
void swapD(double* a, double* b){
    double t = *a;
    *a = *b;
    *b = t;
}
void swapI(int* a, int* b){
    int t = *a;
    *a = *b;
    *b = t;
}
int partition(double P[], int A[], int a, int b){
    int p = P[b];
    int i = (a - 1);
    for (int j = a; j <= b - 1; j++){
        if (P[j] < p){
            i++;
            swapD(&P[i], &P[j]);
            swapI(&A[i], &A[j]);
        }
    }
    swapD(&P[i + 1], &P[b]);
    swapI(&A[i + 1], &A[b]);
    return (i + 1);
}
void quickSort(double P[], int A[], int a, int b){
    if (a < b){
        int pi = partition(P, A, a, b);
        quickSort(P, A, a, pi - 1);
        quickSort(P, A, pi + 1, b);
    }
}
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    int N;
    cin >> N;
    int A[N];
    double P[N];
    for(int i = 0; i < N; i++) cin >> A[i] >> P[i];
    long long zbir = 0;
    double max = 0;
    quickSort(P, A, 0, N - 1);
    int j = 1;
    for(int i = N - 1; i >= 0; i -= j){
        double p = P[i];
        zbir += A[i];
        j = 1;
        while(P[i - j] == P[i]){
            zbir += A[i - j];
            j++;
        }
        if(max < (p * zbir) / 100) max = (p * zbir) / 100;
    }
    cout << fixed << max;
    return 0;
}
//
//  main.cpp
//  frilenceri
//
//  Created by Lazar on 19.12.20..
//

#include <iostream>
#include <iomanip>
using namespace std;
void swapD(double* a, double* b){
    double t = *a;
    *a = *b;
    *b = t;
}
void swapI(int* a, int* b){
    int t = *a;
    *a = *b;
    *b = t;
}
int partition(double P[], int A[], int a, int b){
    int p = P[b];
    int i = (a - 1);
    for (int j = a; j <= b - 1; j++){
        if (P[j] < p){
            i++;
            swapD(&P[i], &P[j]);
            swapI(&A[i], &A[j]);
        }
    }
    swapD(&P[i + 1], &P[b]);
    swapI(&A[i + 1], &A[b]);
    return (i + 1);
}
void quickSort(double P[], int A[], int a, int b){
    if (a < b){
        int pi = partition(P, A, a, b);
        quickSort(P, A, a, pi - 1);
        quickSort(P, A, pi + 1, b);
    }
}
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    int N;
    cin >> N;
    int A[N];
    double P[N];
    for(int i = 0; i < N; i++) cin >> A[i] >> P[i];
    long long zbir = 0;
    double max = 0;
    quickSort(P, A, 0, N - 1);
    int j = 1;
    for(int i = N - 1; i >= 0; i -= j){
        double p = P[i];
        zbir += A[i];
        j = 1;
        while(P[i - j] == P[i]){
            zbir += A[i - j];
            j++;
        }
        if(max < (p * zbir) / 100) max = (p * zbir) / 100;
    }
    cout << fixed << max;
    return 0;
}