#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=20;
int a[N],mylcm[N][N] ,n,m;
bool f[N];
int go(int x){
if(x==n) {
bool ff=true;
int s=0;
for(int i=0;i<n;i++){
if(f[i]) s++;
for(int j=0;j<n;j++){
if(i!=j&&f[i]&&f[j]){
if(mylcm[i][j]<=m) ff=false;
}
}
}
if(ff) return s;
else return 1;
}
int fth,sth;
f[x]=1; fth=go(x+1);
f[x]=0; sth=go(x+1);
return max(fth,sth);
}
signed main(){
ios::sync_with_stdio(false); cin.tie(nullptr);
cin>>n>>m;
for(int i=0;i<n;i++) cin>>a[i];
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
mylcm[i][j]=a[i]*(a[j]/__gcd(a[i],a[j]));
}
}
cout<<go(0);
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBpbnQgbG9uZyBsb25nIAp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgTj0yMDsKaW50IGFbTl0sbXlsY21bTl1bTl0gLG4sbTsKYm9vbCBmW05dOwppbnQgZ28oaW50IHgpewoJaWYoeD09bikgewoJCWJvb2wgZmY9dHJ1ZTsKCQlpbnQgcz0wOwoJCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCQlpZihmW2ldKSBzKys7CgkJCWZvcihpbnQgaj0wO2o8bjtqKyspewoJCQkJaWYoaSE9aiYmZltpXSYmZltqXSl7CgkJCQkJaWYobXlsY21baV1bal08PW0pIGZmPWZhbHNlOwoJCQkJfQoJCQl9CgkJfQoJCWlmKGZmKSByZXR1cm4gczsKCQllbHNlIHJldHVybiAxOwoJfQoJaW50IGZ0aCxzdGg7CglmW3hdPTE7IGZ0aD1nbyh4KzEpOwoJZlt4XT0wOyBzdGg9Z28oeCsxKTsKCXJldHVybiBtYXgoZnRoLHN0aCk7Cn0Kc2lnbmVkIG1haW4oKXsKCWlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZShudWxscHRyKTsKCWNpbj4+bj4+bTsKCWZvcihpbnQgaT0wO2k8bjtpKyspIGNpbj4+YVtpXTsKCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCWZvcihpbnQgaj0wO2o8bjtqKyspewoJCQlteWxjbVtpXVtqXT1hW2ldKihhW2pdL19fZ2NkKGFbaV0sYVtqXSkpOwoJCX0KCX0KCWNvdXQ8PGdvKDApOwp9Cg==