#include <iostream>
#include <cmath>

using namespace std;

struct str {
	double z;
	double p;
	
};
 

void swap(str* a, str* b) {
    str t = *a;
    *a = *b;
    *b = t;
}

int partition(str arr[], int low, int high) {
    int pivot = arr[high].p;    
    int i = (low - 1);  

    for (int j = low; j <= high - 1; j++)
    {
        if (arr[j].p <= pivot)
        {
            i++;    
            swap(&arr[i], &arr[j]);
        }
    }
    swap(&arr[i + 1], &arr[high]);
    return (i + 1);
}

void quickSort(str arr[], int low, int high) {
    if (low < high)
    {        
        int pi = partition(arr, low, high);
        quickSort(arr, low, pi - 1);
        quickSort(arr, pi + 1, high);
    }
}

double maks(str arr[], int n) {
    double m = 0;
    double m2 = 0;  
       
    m = arr[n - 1].z * (arr[n - 1].p / 100);
   
    for (int i = n - 2; i >= 0; i--) {
        m2 = 0;
        for (int j = i; j < n; j++) {
            m2 = m2 +  arr[j].z ;
        }
        m2 = m2 * arr[i].p / 100.0;
       
        if (m2 > m) {
            m = m2;
           
        }
    }
    
    m = round(m * 100000.0) / 100000.0;
    
    return m;
}

int main()
{
	
	int n; 	
	cin >> n; 
    str arr[n];

    for (int i = 0; i < n; i++) {
        arr[i].z = 0;
        arr[i].p = 0;
    }
	for (int i = 0; i < n; i++) {
		cin >> arr[i].z >> arr[i].p;
	}
    quickSort(arr, 0, n - 1);

    double r = maks(arr, n);    
    printf("%.4lf", r);

    return 0;
}