#include <stdio.h>
//

#define MM_MAX 1000001


long temp2, A[MM_MAX];
long N;
long n,m,i,j;
long long S;

double UZarada, Z[MM_MAX],P[MM_MAX];
double temp1;

main()
{
	// Unosenje broja ucesnika:
	scanf("%ld", &N);
	for (m=0;m<N;m++)
	{
		// Unosenje iznosa zarade i poreza:
		scanf("%ld%lf", &A[m], &P[m]);
	
	}
	for (m=0;m<N;m++)
	{
	for (n=m+1;n<N;n++)
		{
		if (P[m]>P[n])
		{
			temp1=P[m];
			P[m]=P[n];
			P[n]=temp1;
			temp2=A[m];
			A[m]=A[n];
			A[n]=temp2;
		}
		}
	}

	
	UZarada=0.0; 
	for (m=0; m<N; m++){
		S=0;
		for (n=m;n<N; n++){
			S=S+A[n];
		}
		Z[m]=P[m]*S;
		if(Z[m]>UZarada){
			UZarada=Z[m];
		
		}
		
	}
		
// Racunanje finalne zarade :

	printf("%lf", (double)UZarada/100);
	
	
	return 0;
}