#include<iostream>
#include<bits/stdc++.h>

#define MAX_N 1000005

using namespace std;

long N, i,j;
long long S;
long t1, A[MAX_N];
double Zmax, Zar[MAX_N],P[MAX_N], t;


main()
{
	//long N,i,j;
	//double Zmax, Zar[200],P[200], t;
	 
//	long t1, A[200];
	//long long S;
	cin>>N;
	for (i=0;i<N;i++)
	{
		cin>>A[i]>>P[i];
	//	cout<<A[i]<<" "<<P[i]<<endl;
	 //cout<< "stigli smo ovde"<<endl;
	}
	for (i=0;i<N;i++)
	{
	for (j=i+1;j<N;j++)
		{
		if (P[i]>P[j])
		{
			t=P[i];
			P[i]=P[j];
			P[j]=t;
			t1=A[i];
			A[i]=A[j];
			A[j]=t1;
		}
		}
	}
	// provera da li je pravilno uredjen niz:
//	for (j=0;j<N;j++)
//{
//		cout<<A[j]<<" " ;}
//		cout<<endl;
//	for (j=0;j<N;j++){
//		cout<<P[j]<< " " ;
//	}
	// Racunanje zarade drzave:
	Zmax=0.0; // pocetna vrednost za zaradu:
	for (i=0; i<N; i++){
		S=0;
		for (j=i;j<N; j++){
			S=S+A[j];
		}
		Zar[i]=P[i]*S;
		if(Zar[i]>Zmax){
			Zmax=Zar[i];
		//	cout<<Zar[i]<<"promena sume"<<endl;
		}
		
	}
		// provera zaade:
	//	for (i=0; i<N; i++){
	//		cout<<Zar[i]<<" ";
	//	}
	// Maksimalna zarada drzave je: 
	//cout<< std::floor(Zmax*100+ 0.5)/100<< endl;
//	cout<< (double)Zmax/100 <<endl;
	printf("%.4lf", (double)Zmax/100);
	// Ovde proveriti zaokruzivanje na dve decimale!!!
	
	return 0;
}