import java.util.*;
import java.lang.*;
import java.io.*;
class Codechef
{
static int MAX_N=200000;
static ArrayList
<Integer
>[]U
=new ArrayList[MAX_N
+5]; static void div(){
for (int i=1;i<=MAX_N;i++){
U[i]=new ArrayList<>();
}
for (int i=1;i<=MAX_N;i++){
for (int j=i;j<=MAX_N;j+=i){
U[j].add(i);
}
}
}
{
// your code goes here
div();
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){
int max =0;
for(int num:arr){
}
int[]freq=new int[max+1];
for(int num:arr){
freq[num]++;
}
int[]u=new int[max+1];
for(int i=1;i<=max;i++){
for(int j=i;j<= max;j+=i){
u[i]+=freq[j];
}
}
int[]mul=new int[max + 1];
int[]g=new int[max + 1];
for(int i=1;i<=max;i++){
if(u[i]>=2){
mul[i]=u[i]*(u[i]-1)/2; //nC2 : ways to get all no. of pairs
}
}
g[max]=mul[max];
for(int i=max-1;i>=1;i--){
int multiple=0;
for(int j=2*i;j<=max;j+=i){
multiple+=g[j];
}
g[i]=mul[i]-multiple;
}
return g[y];
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBDb2RlY2hlZgp7CiAgICBzdGF0aWMgaW50IE1BWF9OPTIwMDAwMDsKICAgIHN0YXRpYyBBcnJheUxpc3Q8SW50ZWdlcj5bXVU9bmV3IEFycmF5TGlzdFtNQVhfTis1XTsgCiAgICBzdGF0aWMgdm9pZCBkaXYoKXsKICAgICAgICBmb3IgKGludCBpPTE7aTw9TUFYX047aSsrKXsKICAgICAgICAgICAgVVtpXT1uZXcgQXJyYXlMaXN0PD4oKTsKICAgICAgICB9CiAgICAgICAgZm9yIChpbnQgaT0xO2k8PU1BWF9OO2krKyl7CiAgICAgICAgICAgIGZvciAoaW50IGo9aTtqPD1NQVhfTjtqKz1pKXsKICAgICAgICAgICAgICAgIFVbal0uYWRkKGkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCiAgICB7CiAgICAgICAgLy8geW91ciBjb2RlIGdvZXMgaGVyZQogICAgICAgIGRpdigpOwogICAgICAgIFNjYW5uZXIgc2M9bmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKICAgICAgICBpbnQgdD1zYy5uZXh0SW50KCk7CiAgICAgICAgd2hpbGUodC0tPjApewogICAgICAgICAgICBpbnQgbj1zYy5uZXh0SW50KCk7CiAgICAgICAgICAgIGludCB5PXNjLm5leHRJbnQoKTsKICAgICAgICAgICAgaW50W11hcnI9bmV3IGludFtuXTsKICAgICAgICAgICAgZm9yIChpbnQgaT0wO2k8bjtpKyspewogICAgICAgICAgICAgICAgYXJyW2ldPXNjLm5leHRJbnQoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBnY2QgPT0geQogICAgICAgICAgICBpbnQgZ2NkID0gZ2NkeShhcnIseSk7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihnY2QpOwogICAgICAgIH0KICAgICAgICBzYy5jbG9zZSgpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBpbnQgZ2NkeShpbnRbXWFycixpbnQgeSl7CiAgICAgICAgaW50IG1heCA9MDsKICAgICAgICBmb3IoaW50IG51bTphcnIpewogICAgICAgICAgICBtYXg9TWF0aC5tYXgobWF4LG51bSk7CiAgICAgICAgfQogICAgICAgIGludFtdZnJlcT1uZXcgaW50W21heCsxXTsKICAgICAgICBmb3IoaW50IG51bTphcnIpewogICAgICAgICAgICBmcmVxW251bV0rKzsKICAgICAgICB9CiAgICAgICAgaW50W111PW5ldyBpbnRbbWF4KzFdOwogICAgICAgIGZvcihpbnQgaT0xO2k8PW1heDtpKyspewogICAgICAgICAgICBmb3IoaW50IGo9aTtqPD0gbWF4O2orPWkpewogICAgICAgICAgICAgICAgdVtpXSs9ZnJlcVtqXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpbnRbXW11bD1uZXcgaW50W21heCArIDFdOwogICAgICAgIGludFtdZz1uZXcgaW50W21heCArIDFdOwogICAgICAgIGZvcihpbnQgaT0xO2k8PW1heDtpKyspewogICAgICAgICAgICBpZih1W2ldPj0yKXsKICAgICAgICAgICAgICAgIG11bFtpXT11W2ldKih1W2ldLTEpLzI7ICAvL25DMiA6IHdheXMgdG8gZ2V0IGFsbCBuby4gb2YgcGFpcnMKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBnW21heF09bXVsW21heF07CiAgICAgICAgZm9yKGludCBpPW1heC0xO2k+PTE7aS0tKXsKICAgICAgICAgICAgaW50IG11bHRpcGxlPTA7CiAgICAgICAgICAgIGZvcihpbnQgaj0yKmk7ajw9bWF4O2orPWkpewogICAgICAgICAgICAgICAgbXVsdGlwbGUrPWdbal07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZ1tpXT1tdWxbaV0tbXVsdGlwbGU7CiAgICAgICAgfQogICAgICAgIHJldHVybiBnW3ldOwogICAgfQp9