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
****************************************************************/