# include <stdio.h>
# include <stdlib.h>
typedef struct _node{
int m , v ;
double rou ;
}Node , *PNode ;
Node coin[105] ;
int cmp(const void *a , const void *b){
return (*(PNode )b ).rou - ( *(PNode)a ).rou ;
}
int main(){
int n , t , i , j , rest = 0 ;
double value = 0 ;
scanf("%d%d",&n,&t) ;
for (i = 0;i < n;i++){
scanf("%d%d",&coin[i].m,&coin[i].v) ;
coin[i].rou = (double)coin[i].v / (double)coin[i].m ;
}
qsort(coin , n , sizeof(Node) , cmp) ;
/*for(i=0;i<n;i++)
printf("%lf %lf %lf\n",coin[i].m , coin[i].v ,coin[i].rou) ;*/
rest = t ;
for(i=0;i<n;i++){
if (rest >= coin[i].m){
rest -= coin[i].m ;
value += coin[i].v ;
}
else{
//int tmp = t - rest ;
value += rest * ( (double)coin[i].v / coin[i].m ) ;
break ;
}
}
printf("%.2lf",value) ;
return 0 ;
}