#include <stdio.h>
struct gold{
int m;
int v;
double mean;
};
void sort(struct gold a[],int n){
struct gold temp;
for(int i=0;i<n-1;i++){
for(int j=0;j<n-i-2;j++){
if(a[j].mean<a[j+1].mean){
temp=a[j];a[j]=a[j+1];a[j+1]=temp;
}
}
}
}
int main(){
int n,max_gram;
double max_value;
scanf("%d %d",&n,&max_gram);
struct gold a[n];
for(int i=0;i<n;i++){
scanf("%d %d",&a[i].m,&a[i].v);
a[i].mean=(double)a[i].v/a[i].m;
}
sort(a,n);
int i=0;
while(max_gram>0&&i<n){
if(a[i].m<=max_gram){
max_value+=a[i].v;
max_gram-=a[i].m;
}else{
max_value+=max_gram*(a[i].mean);
max_gram=0;
}
i++;
}
printf("%.2f",max_value);
return 0;
}