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

namespace Takm2Zadatak2
{
    class Program
    {
        struct PlataIPorez
        {
            public double plata;
            public double porez;
        }
        static int uporedi(PlataIPorez a, PlataIPorez b)
        {
            if (a.porez < b.porez)
                return 1;
            else return -1;
        }
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            PlataIPorez[] listaPlata = new PlataIPorez[n];
            string[] s;
            for (int i = 0; i < n; i++)
            {
                s = Console.ReadLine().Split();
                listaPlata[i].plata = double.Parse(s[0]);
                listaPlata[i].porez = double.Parse(s[1]);
            }
            double ukupnaZarada = 0;
            double trenutnaZarada = 0;
            double trenutnaUkupno = 0;
            Array.Sort(listaPlata, uporedi);
            for (int i = 0; i < n; i++)
            {
                trenutnaUkupno += listaPlata[i].plata;
                trenutnaZarada = trenutnaUkupno * listaPlata[i].porez / 100;
                if (trenutnaZarada > ukupnaZarada)
                    ukupnaZarada = trenutnaZarada;
            }
            Console.WriteLine(ukupnaZarada);
        }
    }
}