using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        struct porez
        {
            public int zarada;
            public double procenat;
        }
        static void mSort(porez[] a, int l, int d)
        {
            if (l < d)
            {
                int s = (l + d) / 2;
                mSort(a, l, s);
                mSort(a, s + 1, d);
                merge(l, s, d, a);
            }
        }
        static void merge(int l, int s, int d, porez[] a)
        {
            porez[] b = new porez[d - l + 1];
            int k = 0;
            int i = l; int j = s + 1;
            while (i <= s && j <= d)
                if (a[i].procenat < a[j].procenat) b[k++] = a[i++];
                else b[k++] = a[j++];

            while (i <= s) b[k++] = a[i++];
            for (i = 0; i < k; i++)
                a[l + i] = b[i];
        }
        static void Main(string[] args)
        {
            double max = 0.0, zbir = 0;
            int n = int.Parse(Console.ReadLine());
            int t = 0;
            string[] s;
            porez[] a = new porez[n];
            for (int i = 0; i < n; i++)
            {
                s = Console.ReadLine().Split();
                a[i].zarada = int.Parse(s[0]);
                a[i].procenat = double.Parse(s[1]) / 100;
            }
            mSort(a, 0, n - 1);
            for (int i = 0; i < n; i++)
            {
                zbir = 0.0;
                for (int j = t; j < n; j++)
                {
                    zbir += a[i].procenat * a[j].zarada;
                    
                }
                if (max < zbir)
                    max = zbir;
                t++;
            }
            Console.WriteLine(max);

        }
    }
}