https://www.luogu.com.cn/problem/P2240
/*
P2240 【深基12.例1】部分背包问题
https://www.luogu.com.cn/problem/P2240
*/
#include <bits/stdc++.h>
using namespace std;
//https://www.luogu.com.cn/problem/P2240
int n,t;
double ans;
struct gd{
int m,v;
double f;
}a[105];
bool cmp(gd x,gd y)
{
return x.f>y.f;
}
int main( void )
{
cin>>n>>t;
for(int i=1;i<=n;i++)
{
cin>>a[i].m>>a[i].v;
a[i].f=a[i].v*1.0/a[i].m;
}
sort(a+1,a+n+1,cmp);
// for(int i=1;i<=n;i++)
// cout<<a[i].f<<' '<<a[i].m<<' '<<a[i].v<<endl;
for(int i=1;i<=n;i++)
{
if(t-a[i].m>-0.000001)
{
t-=a[i].m;
ans+=a[i].v;
}
else
{
cout<<fixed<<setprecision(2)<<ans+1.0*t*a[i].f;
return 0;
}
}
cout<<fixed<<setprecision(2)<<ans;
return 0;
}