#include<iostream>
#include<iomanip>
#include<algorithm>
using namespace std;
struct treasure{
int w,v;
double dv;
}tr[111];
bool cmp(treasure a,treasure b){
return a.dv>b.dv;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,t;
cin>>n>>t;
for(int i=1;i<=n;i++){
cin>>tr[i].w>>tr[i].v;
tr[i].dv=tr[i].v/tr[i].w;
}
sort(tr,tr+n+1,cmp);
int i1=0;
double ans;
while(t>0){
if(t>=tr[i1].w){
t-=tr[i1].w;
ans+=tr[i1].v;
}else{
ans+=t*tr[i1].dv;
t=0;
}
i1++;
}
cout <<fixed<<setprecision(2)<<ans<< endl;
return 0;
}