#include <bits/stdc++.h>
using namespace std;
double ucitaj1()
{
	bool minus =false;
	double rez;
	char ch;
	ch=getchar();
	while (true)
	{
		if (ch=='-') break;
		if (ch>='0' or ch<='9') break;
		ch=getchar();
	}
	if (ch=='-') minus=true;else rez=(ch-'0');
	while (true)
	{
		ch=getchar();
		if (ch<'0' or ch>'9') break;
		rez=rez*10+(ch-'0');
	}
	if (ch=='.' or ch==',')
	{
	double i=10;
	while (true)
	{
		ch=getchar();
		if (ch<'0' or ch>'9') break;
		rez=rez+(ch-'0')/i;
		i=i*10;
	}
	}
	if (minus)
	{
		return -rez;
	}
	else
	{
		return rez;
	}
}
int ucitaj()
	{
		bool minus=false;
		int rez=0;
		char ch;
		ch=getchar();
		while (true)
		{
			if (ch=='-') break;
			if (ch>='0' or ch<='9')break;
			ch=getchar();
		}
		if (ch=='-') minus=true; else rez=(ch-'0');
		while (true)
		{
			ch=getchar();
			if (ch<'0' or ch>'9') break;
			rez=rez*10+(ch-'0');
		}
		if (minus)
		{
			return -rez;
		}
		else
		{
			return rez;
		}
	}
int main()
{
	int n,i,k;
	double P[200005],max,pom,A[200005],sa;
	sa=0;
	n=ucitaj();
	for (i=0;i<n;i++)
	{
		A[i]=ucitaj1();
		P[i]=ucitaj1();
		sa=sa+A[i];
	}
	gore:
	k=0;
	for(i=0;i<n;i++)
	{
		if (P[i]>P[i+1])
		{
			pom=P[i];
			P[i]=P[i+1];
			P[i+1]=pom;
			pom=A[i];
			A[i]=A[i+1];
			A[i+1]=pom;
			k=1;
		}
	}
	if (k==1)
	{
		goto gore;
	}
	max=sa*P[0]/100;
	for (i=1;i<n;i++)
	{
		sa=sa-A[i-1];
		if (sa*P[i]/100>max)
		{
			max=sa*P[i]/100;
		}
	}
	printf("%lf",max);
}