``cpp
#include<bits/stdc++.h>
using namespace std;
struct s
{
double m;//质量
double v;//价格
double w;//单价
}b[105];
double n,t;
double ans;
bool cmp(s x,s y)
{
return x.w>y.w;//从大到小排单价
}
int main()
{
cin>>n>>t;
for(int i=1;i<=n;i++)
{
cin>>b[i].m;
cin>>b[i].v;
b[i].w=b[i].v/b[i].m;//算单价
}
sort(b+1,b+100,cmp);
int a=1;
while(1)
{
if(t>=b[a].m)
{
ans+=b[a].v;
t-=b[a].m;
a++;
}
else
{
ans=ans+t*b[a].w;
break;
}
}
cout<<fixed<<setprecision(2)<<ans;
return 0;
}