#include <iostream>
#include <iomanip>
using namespace std;
double N, T, ans = 0; //堆、背包承重
double a[102][3]; //价值比、重量、价值
void check1() {
for (int i = 1; i < N + 1; i++)
cout << a[i][0] << " " << a[i][1] << " " << a[i][2] << endl;
}
int main() {
cin >> N >> T;
for (int i = 1; i <= N; i++)//cin
{
cin >> a[i][1] >> a[i][2];
a[i][0] = a[i][2] / a[i][1];
}
int tem = 0;
for (int i = 1; i < N; i++)//将数组a按价值比由高到低排序
{
for (int j = i; j <= N; j++)
if (a[j][0] > a[i][0])tem = j;
a[0][0] = a[i][0]; a[0][1] = a[i][1]; a[0][2] = a[i][2];
a[i][0] = a[tem][0]; a[i][1] = a[tem][1]; a[i][2] = a[tem][2];
a[tem][0] = a[0][0]; a[tem][1] = a[0][1]; a[tem][2] = a[0][2];
}
check1();
for (int i = 1; i <= N; i++)
{
if (T > a[i][1])
{
ans += a[i][2];
T -= a[i][1];
}
else if (T == a[i][1])
{
ans += a[i][2];
cout << setiosflags(ios::fixed) << setprecision(2) << ans << endl;
return 0;
}
else
{
ans += (T * a[i][0]);
cout << setiosflags(ios::fixed) << setprecision(2) << ans << endl;
return 0;
}
}
cout << setiosflags(ios::fixed) << setprecision(2) << ans << endl;
return 0;
}