#include<bits/stdc++.h>
using namespace std;
const int M=1e9+7;
map<int,int>tmp,mp;
map<int,int>::iterator it;
int T,n,k,i,t,a[1002];
int main(){
scanf("%d",&T);
while (T--){
scanf("%d%d",&n,&k);
mp.clear();
for (i=0;i<n;i++){
scanf("%d",&a[i]);
if (k%a[i]==0){
tmp=mp;
for (it=tmp.begin();it!=tmp.end();it++){
t=a[i]*it->first;
if (k%t==0) (mp[t]+=it->second)%=M;
}
mp[a[i]]++;
}
}
printf("%d\n",mp[k]);
}
}