uses math;
const oo=1000000000;
var n,i,j:longint;
    max,s:longint;
    a: array[1..1000] of longint;
    f: array[0..1000] of longint;
begin
  readln(n,s);
  max:=-oo;
  for i:=1 to n do
  begin
    read(a[i]);
    if a[i]>max then max:=a[i];
  end;
  f[0]:=s div max-1;
  s:=s mod max+max;
  for i:=1 to s do
  begin
    f[i]:=oo;
    for j:=1 to n do
    if a[j]<=i then
    if f[i-a[j]]+1<f[i] then f[i]:=f[i-a[j]]+1;
  end;
  writeln(f[s]);
end. 