#include <iostream>
using namespace std;
#include <vector>
#include <algorithm>
#include <stdio.h>
struct bag
{
double m;
double v;
double ave;
};
bool cmp(bag a, bag b)
{
return a.ave > b.ave;
}
vector<bag> V;
int main()
{
int n;
double t;
scanf("%d%lf", &n,&t);
if (n <= 0 || t <= 0)
{
cout << "0.00";
return 0;
}
bag temp;
while(n--)
{
double m1, v1;
scanf("%lf%lf", &m1, &v1);
temp.m = m1;
temp.v = v1;
temp.ave = v1 / m1;
V.push_back(temp);
}
sort(V.begin(), V.end(), cmp);
double sum = 0;
for (int i = 0; t > 0; i++)
{
if (V[i].m <= t)
{
t -= V[i].m;
sum += V[i].v;
}
else
{
sum += V[i].ave * t;
t = 0;
}
}
printf("%.2lf", sum);
return 0;
}