program zad2;
type
  freelancer=record
    pl:integer;
    po:double;
  end;
  procedure qs(var a: array of freelancer; var n:integer);
var i, j:integer;
    tmp:freelancer;
begin
  for i:=0 to n-2 do for j:=i to n-2 do
  begin
    if(a[j].po>a[j+1].po) then
    begin
      tmp:=a[j];
      a[j]:=a[j+1];
      a[j+1]:=tmp;
    end;
  end;
end;
var
N,i:integer;
max,zbir:double;
a:array[1..200000] of freelancer;
begin
  zbir:=0;
  ReadLn(n);
  for i:=0 to n-1 do
  begin
    Read(a[i].pl);
    ReadLn(a[i].po);
    zbir:=zbir+a[i].pl;
  end;
  qs(a,n);
  max:=zbir*a[1].po/100;
  for i:=2 to n do
  begin
     zbir:=zbir-a[i-1].pl;
     if (zbir*a[i].po > max) then max:=zbir*a[i].po/100;
  end;
  Writeln(max:0:4);
  ReadLn();
end.