using System;
using System.Linq;
using System.Security.Cryptography;
using System.Diagnostics;

namespace C
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            int[] a = new int[n];
            double[] p = new double[n];
            string[] s = Console.ReadLine().Split();
            a[0] = int.Parse(s[0]);
            p[0] = double.Parse(s[1]);
            double[] b = new double[n];//svi slucajevi 
            for (int i = 1; i < n; i++)
            {
                s = Console.ReadLine().Split();
                a[i] = int.Parse(s[0]);
                p[i] = double.Parse(s[1]);
            }
            Array.Sort(p, a);
            double bmax = 0;
            for (int j = 0; j < n; j++)
            {
                b[0] += p[0] * a[j];
            }
            if (b[0] > bmax)
            {
                bmax = b[0];
            }
            bool f;
            for (int i = 1; i < n; i++)
            {
                f = p[i] != p[i - 1];
                for (int j = i; j < n && f; j++)
                {
                    b[i] += p[i] * a[j];
                }
                if (b[i] > bmax)
                {
                    bmax = b[i];
                }
            }
            Console.WriteLine("{0}", Math.Round(bmax / 100, 4));
        }
    }
}