#include<iostream>
#include<iomanip>
using namespace std;
void exchange1(double*a, double*b) {
double temp = *a;
*a = *b;
*b = temp;
}
int main() {
int N, T;
cin >> N;
cin >> T;
double m[101] = { 0 };
double v[101] = { 0 };
double perv[101] = { 0 };
for (int i = 1; i <= N; i++) {
cin >> m[i];
cin >> v[i];
perv[i] = v[i] / m[i];
}
double vsum = 0;
for (int i = 1; i <= N; i++) {
for (int j = i + 1; j <= N; j++) {
if (perv[j] > perv[i]) {
exchange1(&perv[j], &perv[i]);
exchange1(&m[j], &m[i]);
exchange1(&v[j], &v[i]);
}
}
}int i = 1;
while (T > 0) {
if (T >= m[i]) {
T -= m[i];
vsum += v[i];
}
else {
vsum += T * v[i] / m[i];
T = 0;
}
i++;
}
cout << fixed << setprecision(2) << vsum;
}