#include <stdio.h>
double h[100];
int m[100],v[100];
void swap(int*x,int*y)
{
int tem=*x;
*x=*y;
*y=tem;
}
void swap2(double*x,double*y)
{
double tem=*x;
*x=*y;
*y=tem;
}
void Quicksort(int L,int R)
{
if(L>=R)
return;
int i=L-1,j=R+1,p=h[(i+j)/2];
while(i<j)
{
do i++;while(h[i]<p);
do j--;while(h[j]>p);
if(i<j)
{
swap2(&h[i],&h[j]);
swap(&m[i],&m[j]);
swap(&v[i],&v[j]);
}
}
Quicksort(L,j);
Quicksort(j+1,R);
}
int main()
{
int n,t,i,L=0,t1=0;
double v1=0;
scanf("%d%d",&n,&t);
for(i=0;i<n;i++)
{
scanf("%d %d",&m[i],&v[i]);
h[i]=(double)v[i]/m[i];
}
Quicksort(L,n-1);
i=n-1;
while(t-0>-0.000000001&&i>=0)
{
if(t-m[i]>-0.0000001)
v1+=m[i]*h[i],t-=m[i],i--;
else if(t-m[i]<-0.000000000001)
{
v1+=h[i]*(t-t1);
break;
}
}
printf("%.2f",v1);
return 0;
}