#include<bits/stdc++.h>
using namespace std;
struct f
{
int v;
int w;
}b[110];
int n,m;
bool hh(f x,f y)
{
return x.v*y.w>x.w*y.v;
}
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>b[i].v>>b[i].w;
}
sort(b,b+n,hh);
double qian=0;
for(int i=0;i<n;i++)
{
if(m>b[i].v)
{
m-=b[i].v;
qian+=b[i].w;
}
else
{
qian+=double(b[i].w)/double(b[i].v)*(m-b[i].v);
break;
}
}
cout<<fixed<<setprecision(2)<<qian<<endl;
}
有点问题