import java.util.Scanner;
public class abcd {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
//有N堆金币
int N= sc.nextInt();
//袋子的容量
int T=sc.nextInt();
//带走的价值
double money=0;
//用二维数组接收每一堆金币的总重量和总价值
int a[][]=new int[N][2];
for (int i = 0; i < N; i++) {
for (int j = 0; j < 2; j++) {
a[i][j]=sc.nextInt();
}
}
//将二维数组根据金币单价来排列
for (int i = 0; i < N; i++) {
for (int j=i+1;j<N;j++){
if (a[i][1]/a[i][0]<a[j][1] / a[j][0]) {
int temp1=a[i][1];
int temp2=a[i][0];
a[i][1]=a[j][1];
a[i][0]=a[j][0];
a[j][1]=temp1;
a[j][0]=temp2;
}
}
}
/* for (int i = 0; i < N; i++) {
System.out.println(a[i][0]+" "+a[i][1]);
}*/
for (int i=0;i<N-1;++i) {
if (T>=a[i][0]){
money+=a[i][1];
T-=a[i][0];}
//判断背包容量不够装下一堆金币
if (T<a[i+1][0]){
// System.out.println(T);
// System.out.println ( (30.00/16.00));
// System.out.println(i+1);
// System.out.println( (1.00 * a[i+1][1] /1.00* a[i+1][0]));
money+=T*1.0*(double)1.0*a[i+1][1]/a[i+1][0];
break;
}
}
System.out.println(String.format("%.2f",money));
}
}