#include <iostream>
#include <algorithm>
#include <iomanip>
using namespace std;
long long N;
double T;
double now,tow;
long long index = 0;
struct jinbi{
double m;
double v;
double c;
}arr[1005];
bool cmp(jinbi a, jinbi b){
return a.c>b.c;
}
int main(){
cin>>N>>T;
for(int i=0;i<N;i++){
cin>>arr[i].m>>arr[i].v;
if(arr[i].v!=0){
arr[i].c=arr[i].v/arr[i].m;
}else arr[i].c=0;
}
sort(arr,arr+N,cmp);
while(tow<T){
if(arr[index].m<T-tow){
now += arr[index].v;
tow += arr[index].m;
}
else{
now += arr[index].c*(T-tow);
tow += (T-tow);
break;
}
index++;
}
cout<<fixed<<setprecision(2)<<now;
return 0;
}