var n:integer; a:array[1..2,0..10000]of longint; b:array[1..2,1..1000]of integer;
i,j,g,j2,j3:integer; min:longint;
begin
assign(input,'energii.in'); reset(input);
readln(n,g);
for i:=1 to n do readln(b[2,i],b[1,i]);
for i:=1 to n do begin
if odd(i) then
for j:=1 to 10000 do
begin
if j=b[2,i] then begin if (a[2,j]>b[1,i]) or (a[2,j]=0) then a[1,j]:=b[1,i] else a[1,j]:=a[2,j]; end
else if j<b[2,i] then a[1,j]:=a[2,j] else if a[2,j-b[2,i]]>0 then begin if ((a[2,j-b[2,i]]+b[1,i])<a[2,j]) or (a[2,j]=0) then a[1,j]:=a[2,j-b[2,i]]+b[1,i] else a[1,j]:=a[2,j] end else a[1,j]:=a[2,j];
end
else
for j:=1 to 10000 do
begin
if j=b[2,i] then begin if (a[1,j]>b[1,i]) or (a[1,j]=0) then a[2,j]:=b[1,i] else a[2,j]:=a[1,j]; end
else if j<b[2,i] then a[2,j]:=a[1,j] else if a[1,j-b[2,i]]>0 then begin if ((a[1,j-b[2,i]]+b[1,i])<a[1,j]) or (a[1,j]=0) then a[2,j]:=a[1,j-b[2,i]]+b[1,i] else a[2,j]:=a[1,j] end else a[2,j]:=a[1,j];
end
end;
assign(output,'energii.out'); rewrite(output);
if odd(n) then n:=1 else n:=2;
for i:=g to 10000 do if a[n,i]<>0 then if min=0 then min:=a[n,i] else if a[n,i]<min then min:=a[n,i];
if min<>0 then writeln(min) else writeln('-1');
close(output);
end.