#include<iostream>
#include<algorithm>
#include<iomanip>
using namespace std;
struct node{
double m,v;
}a[105];
bool cmp(node a,node b){
return (a.v/a.m)>(b.v/b.m);
}
int main(){
int n;
double t;
cin>>n>>t;
for(int i=1;i<=n;i++){
int m,v;
cin>>m>>v;
if(m!=0&&v!=0){
a[i].m=m;
a[i].v=v;
}
}
sort(a+1,a+n+1,cmp);
double m=0,v=0;
int top=0;
while(m<=t){
top++;
m+=a[top].m;
v+=a[top].v;
}
if(m>t)v-=a[top].v/a[top].m*(m-t);
cout<<fixed<<setprecision(2)<<v;
return 0;
}