#include <bits/stdc++.h>
#define ll long long int
#define pb push_back
using namespace std;
vector<ll> vec;
inline ll solve(ll step,ll prod,ll n,ll k)
{
if(step>(n-1))
{
if(prod<=k)
return 1;
else
return 0;
}
ll p=k/vec[step];
if(prod>p)
return 1;
return (solve(step+1,prod*vec[step],n,k)+solve(step+1,prod,n,k));
}
int main()
{
ll n,k,i,p,c=0,ans,pr,tot;
cin>>n>>k;
for(i=0;i<n;i++)
{
scanf("%lld",&p);
if(p>k)
continue;
if(p==1)
c++;
else
vec.pb(p);
}
sort(vec.begin(),vec.end());
tot=1<<c;
tot--;
// reverse(vec.begin(),vec.end());
n=vec.size();
ans=solve(0,1,n,k)-1;
pr=ans*tot;
ans+=pr;
ans+=tot;
cout<<ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nIGludAojZGVmaW5lIHBiIHB1c2hfYmFjawoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZlY3RvcjxsbD4gdmVjOwoKaW5saW5lIGxsIHNvbHZlKGxsIHN0ZXAsbGwgcHJvZCxsbCBuLGxsIGspCnsKCglpZihzdGVwPihuLTEpKQoJewoJCWlmKHByb2Q8PWspCgkJcmV0dXJuIDE7CgkJZWxzZQoJCXJldHVybiAwOwoJfQoKCgoJbGwgcD1rL3ZlY1tzdGVwXTsKCglpZihwcm9kPnApCiAgICByZXR1cm4gMTsKCglyZXR1cm4gKHNvbHZlKHN0ZXArMSxwcm9kKnZlY1tzdGVwXSxuLGspK3NvbHZlKHN0ZXArMSxwcm9kLG4saykpOwp9CgppbnQgbWFpbigpCnsKCWxsIG4sayxpLHAsYz0wLGFucyxwcix0b3Q7CgoJY2luPj5uPj5rOwoKCglmb3IoaT0wO2k8bjtpKyspCgl7CgkJc2NhbmYoIiVsbGQiLCZwKTsKCQlpZihwPmspCgkJY29udGludWU7CgoJCWlmKHA9PTEpCgkJYysrOwoJCWVsc2UKCQl2ZWMucGIocCk7Cgl9CgoJc29ydCh2ZWMuYmVnaW4oKSx2ZWMuZW5kKCkpOwoKCXRvdD0xPDxjOwoJdG90LS07CgovLwlyZXZlcnNlKHZlYy5iZWdpbigpLHZlYy5lbmQoKSk7CgoJbj12ZWMuc2l6ZSgpOwoJYW5zPXNvbHZlKDAsMSxuLGspLTE7CgoJcHI9YW5zKnRvdDsKCglhbnMrPXByOwoJYW5zKz10b3Q7CgoKCWNvdXQ8PGFuczsKCglyZXR1cm4gMDsKfQo=