#include <bits/stdc++.h>

using namespace std;

struct struka
{
    long long a;
    double b;
};

bool cmp(struka& x, struka& y)
{ return(x.b>y .b);
}

int main()
{ long long n, k, i, sum, sq, a, b, c, m, br, provera, deli, s, puta, brgrupa, x1, x2, y1, y2;
  double tren, maxa;
  bool tf, naso;
  string str, s1, s2;
  cin>> n;
  vector<struka> veka(n);
  for(i=0; i<n; i++)
  { cin>> veka[i].a>> veka[i].b;
  }
  sort(veka.begin(), veka.end(), cmp);
  for(i=1; i<n; i++)
  { veka[i].a+=veka[i-1].a;
    if(veka[i].a==veka[i-1].a)veka[i-1].a=-1;
  }
  maxa=0.0;
  for(i=0; i<n; i++)
  { if(veka[i].a!=-1)
    { tren=(veka[i].a)*1.0*veka[i].b;
      if(tren>maxa)maxa=tren;
    }
  }
  cout<<fixed<<showpoint<<setprecision(4)<<maxa/100.0;

  return 0;
}