#include<bits/stdc++.h>
using namespace std;
struct Node{
int m;
int v;
double q;
}a[110];
int n,b;
double t,sum;
bool tmp(Node a,Node b){
if(a.q>b.q){
return 1;
}else{
return 0;
}
}
int main(){
cin>>n>>t;
for(int i=1;i<=n;i++){
cin>>a[i].m>>a[i].v;
a[i].q=a[i].v/a[i].m*1.0;
}
sort(a+1,a+n+1,tmp);
while(t>0&&b<=n){
b++;
if(t>=a[b].m){
t-=a[b].m;
sum+=a[b].v;
a[b].q=-1;
}else{
sum+=t*a[b].q;
t=0;
a[b].m-=t;
}
}
cout<<fixed<<setprecision(2)<<sum;
return 0;
}