#include<bits/stdc++.h>
using namespace std;
long long read(){
long long x=0,y=1;
char ch;
ch=getchar();
while(ch<'0'||ch>'9'&&ch!=EOF){
if(ch=='-'){
y=-1;
}
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=x*10+(ch-'0');
ch=getchar();
}
return x*y;
}
void write(long long x){
if(x<0)
putchar('-'),x=-x;
if(x>9)
write(x/10);
putchar(x%10+'0');
return;
}
struct coin{
long long m,v;
}a[1005];
bool cmp(coin a,coin b){
return a.v*1.0/a.m>b.v*1.0/b.m;
}
int main(){
long long n=read(),t=read();
for(int i=1;i<=n;i++){
cin>>a[i].m>>a[i].v;
}
sort(a+1,a+n+1,cmp);
long long k=1;
double ans=0.0;
while(t>=a[k].m&&k<=n){
t-=a[k].m;
ans+=1.0*a[k++].v;
}
ans+=t*1.0*a[k].v/a[k].m;
printf("%.2f",ans);
return 0;
}