RT
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int n, t;
struct _Node {
int a, b;
double c;
}x[105];
int cmp(_Node w, _Node v)
{
return w.c > v.c;
}
int main()
{
cin >> n >> t;
for (int i = 0; i < n; i++)
{
cin >> x[i].a>>x[i].b;
x[i].c = (double)x[i].b / (double)x[i].a;
}
sort(x, x + n, cmp);
int tmp = t, ans = 0;
double cnt = 0;
while (tmp-x[ans].a >= 0)
{
tmp -= x[ans].a;
cnt += x[ans].b;
ans++;
}
cnt += x[ans].c * tmp;
printf("%.2lf\n", cnt);
return 0;
}