#include<bits/stdc++.h>
using namespace std;
int n, t,w;
double v;
struct good
{
int m;
int v;
good(int w=0,int y=0)
{
m = w;
v = y;
}
}a[100];
bool cmp(good& a, good& b)
{
if (b.m == 0 || b.v == 0)
return true;
return a.v * b.m > a.m * b.v ? true : false;
}
int main()
{
cin >> n >> t;
for (int i = 0; i < n; i++)
{
cin >> a[i].m >> a[i].v;
}
sort(a, a + n,cmp);
int j = 0;
while (true)
{
if (w + a[j].m < t)
{
w += a[j].m;
v += double(a[j].v);
j++;
}
else if (w + a[j].m == t)
break;
else
{
v += (double(t) - w) * a[j ].v / a[j ].m;
break;
}
}
printf("%.2f", v);
return 0;
}