var a:array[1..3,1..1001] of real;
g,w,eg,cg:integer;
f:text;
i,j:longint;
e,s:real;
procedure citire;
var i:integer;
f:text;
begin
assign(f,'energii.in');
reset(f);
readln(f,g);
readln(f,w);
for i:=1 to g do
begin
readln(f,a[1,i],a[2,i]);
a[3,i]:=a[2,i]/a[1,i];
end;
end;
procedure sw(var a,b:real);
var t:real;
begin
t:=a;
a:=b;
b:=t;
end;
procedure qs(left,right:integer);
var r:real;
i,j:integer;
begin
i:=left;
j:=right;
r:=a[3,(i+j) div 2];
while i<j do
begin
while a[3,i]<r do inc(i);
while a[3,j]>r do dec(j);
if i<=j then begin sw(a[1,i],a[1,j]); sw(a[2,i],a[2,j]); sw(a[3,i],a[3,j]); inc(i); dec(j); end;
end;
if i<right then qs(i,right);
if j>left then qs(left,j);
end;
begin
citire;
qs(1,g);
s:=0;
i:=0;
e:=0;
while e<w do
begin
inc(i);
e:=e+a[1,i];
s:=s+a[2,i];
end;
assign(f,'energii.out');
rewrite(f);
write(f,s:0:0);
close(f);
end.