n,a=map(int,input().split())
x=list(map(int,input().split()))

dp=[[[0]*(n*50+1) for i in range(n+1)] for i in range(n)]
#dp[i][j][k]=i番目まででj枚のカードを選んだ時の合計がkになる組み合わせ
dp[0][0][0]=1
dp[0][1][x[0]]=1
for i in range(1,n):
    for j in range(n+1):
        for k in range(n*50+1):
            if dp[i-1][j][k]==0:continue
            #入れるとき
            dp[i][j+1][k+x[i]]+=dp[i-1][j][k]
            #入れない時
            dp[i][j][k]+=dp[i-1][j][k]

ans=0
for j in range(1,n+1):
    for k in range(n*50+1):
        if a*j==k:
            ans+=dp[-1][j][k]
print(ans)
#print(*dp[-1],sep='\n')