#include <bits/stdc++.h>
using namespace std;
int M;
int r[10001];
int f[10001][100];
inline int _mod(int u,int v){
if (u>=0) return u%v;
return v-abs(u)%v;
}
inline void work(int n,int k){
memset(f,0,sizeof(f));
for (int i=1;i<n+1;i++) scanf("%d",&r[i]);
for (int i=0;i<k;i++) f[1][i]=!(r[1]%k-i);
for (int i=2;i<n+1;i++){
for (int j=0;j<k;j++){
f[i][j]=f[i-1][_mod(j-r[i]%k,k)]|f[i-1][_mod(j+r[i]%k,k)];
}
}
if (f[n][0]) printf("%s","Divisible");
else printf("%s","Not divisble");
putchar('\n');
}
int main(){
scanf("%d",&M);
for (int i=1;i<M+1;i++){
int n,k;
scanf("%d%d",&n,&k);
work(n,k);
}
return 0;
}
跟题解无区fa