import java.util.*;
import java.lang.*;
import java.io.*;
class Codechef
{
{
// your code goes here
Scanner sc
=new Scanner
(System.
in); int t=sc.nextInt();
while(t-->0){
int n=sc.nextInt();
int y=sc.nextInt();
int[]arr=new int[n];
for(int i=0;i<n;i++){
arr[i]=sc.nextInt();
}
//gcd==y
int gcd=gcdy(arr,y);
}
sc.close();
}
public static int gcdy(int[]arr,int y){
for(int num
:arr
) max
=Math.
max(max,num
); int []u=new int[max+1];
u[1]=arr.length;
for(int i=2;i<=max;i++){
int cnt=0;
for(int ar:arr){
if(ar%i==0){
cnt++;
}
}
u[i]=cnt;
}
int []mul=new int[max+1];
int []g=new int[max+1];
for(int i=1;i<=max;i++){
mul[i]=u[i]*(u[i]-1)/2; // how many pairs are divisible by i;
}
g[max]=mul[max];
for(int i=max-1;i>=1;i--){
int mu=1,multiple=0;
for(int j=2*i;j<=max;j+=i){
if(j<=max){
multiple+=g[j];
}
mu++;
}
g[i]=mul[i]-multiple;
}
return g[y];
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBDb2RlY2hlZgp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgkJU2Nhbm5lciBzYz1uZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwoJCWludCB0PXNjLm5leHRJbnQoKTsKCQl3aGlsZSh0LS0+MCl7CgkJICAgIGludCBuPXNjLm5leHRJbnQoKTsKCQkgICAgaW50IHk9c2MubmV4dEludCgpOwoJCSAgICBpbnRbXWFycj1uZXcgaW50W25dOwoJCSAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKCQkgICAgICAgIGFycltpXT1zYy5uZXh0SW50KCk7CgkJICAgIH0KCQkgICAgLy9nY2Q9PXkKCQkgICAgaW50IGdjZD1nY2R5KGFycix5KTsKCQkgICAgU3lzdGVtLm91dC5wcmludGxuKGdjZCk7CgkJfQoJCXNjLmNsb3NlKCk7Cgl9CglwdWJsaWMgc3RhdGljIGludCBnY2R5KGludFtdYXJyLGludCB5KXsKCSAgICBpbnQgbWF4PUludGVnZXIuTUlOX1ZBTFVFOwoJICAgIGZvcihpbnQgbnVtOmFycikgbWF4PU1hdGgubWF4KG1heCxudW0pOwoJICAgIGludCBbXXU9bmV3IGludFttYXgrMV07CgkgICAgdVsxXT1hcnIubGVuZ3RoOwoJICAgIGZvcihpbnQgaT0yO2k8PW1heDtpKyspewoJICAgICAgICBpbnQgY250PTA7CgkgICAgICAgIGZvcihpbnQgYXI6YXJyKXsKCSAgICAgICAgICAgIGlmKGFyJWk9PTApewoJICAgICAgICAgICAgICAgIGNudCsrOwoJICAgICAgICAgICAgfQoJICAgICAgICB9CgkgICAgICAgIHVbaV09Y250OwoJICAgIH0KCSAgICBpbnQgW11tdWw9bmV3IGludFttYXgrMV07CgkgICAgaW50IFtdZz1uZXcgaW50W21heCsxXTsKCSAgICBmb3IoaW50IGk9MTtpPD1tYXg7aSsrKXsKCSAgICAgICAgbXVsW2ldPXVbaV0qKHVbaV0tMSkvMjsgLy8gaG93IG1hbnkgcGFpcnMgYXJlIGRpdmlzaWJsZSBieSBpOwoJICAgIH0KCSAgICBnW21heF09bXVsW21heF07CgkgICAgZm9yKGludCBpPW1heC0xO2k+PTE7aS0tKXsKCSAgICAgICAgaW50IG11PTEsbXVsdGlwbGU9MDsKCSAgICAgICAgZm9yKGludCBqPTIqaTtqPD1tYXg7ais9aSl7CgkgICAgICAgICAgICBpZihqPD1tYXgpewoJICAgICAgICAgICAgICAgIG11bHRpcGxlKz1nW2pdOwoJICAgICAgICAgICAgfQoJICAgICAgICAgICAgbXUrKzsKCSAgICAgICAgfQoJICAgICAgICBnW2ldPW11bFtpXS1tdWx0aXBsZTsKCSAgICB9CgkgICAgcmV0dXJuIGdbeV07Cgl9Cn0=