program pg;
var f:array[0..10001]of int64;
    n,m,j,i,k:longint;
    a:array[0..30]of longint;
begin
 readln(n,m);
 for i:=1 to n do
  readln(a[i]);
 fillchar(f,sizeof(f),0);
 f[0]:=1;
 for i:=1 to n do
  for j:=a[i] to m do
   f[j]:=f[j]+f[j-a[i]];
 writeln(f[m]);
end.

/**************************************************************
	Problem: 2074
	User: admin
	Language: Pascal
	Result: Wrong Answer
****************************************************************/