#include <algorithm>
#include <stdio.h>
using namespace std;
struct bag {
double w;
double v;
double wv;
};
bool cmp(bag a, bag b) {
return a.wv > b.wv;
}
int main() {
int n, m;
scanf("%d%d", &n, &m);
struct bag a[n];
for (int i = 0; i < n; i++) {
scanf("%lf%lf", &a[i].w, &a[i].v);
a[i].wv = a[i].v / a[i].w;
}
sort(a, a + n, cmp);
int i = 0;
double jb = 0;
while (m > 0) {
if (m >= a[i].w) {
m -= a[i].w;
jb += a[i].v;
i++;
} else {
jb += (double)m * a[i].wv;
m = 0;
}
}
printf("%.2lf", jb);
return 0;
}
07-23