#include<stdio.h>
#define maxn 100
typedef struct node{
double v,m,m_v;
}list;
void swap(list *a,list *b){
list temp;
temp=*a;
*a=*b;
*b=temp;
}
void sort(list *a,int n){
for(int i=0;i<n;i++){
if(a[i].m_v<a[i+1].m_v){
swap(a+i,a+i+1);
}
}
}
int main(){
double n,t;
double sum=0;
list bag[maxn];
scanf("%lf%lf",&n,&t);
for(int i=0;i<n;i++){
scanf("%lf%lf",&bag[i].m,&bag[i].v);
bag[i].m_v=bag[i].v/bag[i].m;
}
sort(bag,(int)n);
for(int i=0;i<n;i++){
if(t>bag[i].m){
sum+=bag[i].v;
t-=bag[i].m;
}
else{
sum+=bag[i].v*(t/bag[i].m);
break;
}
}
printf("%.2lf",sum);
return 0;
}