/* *Rainto96 *Beijing University of Posts and Telecommunications School of Software Engineering *http://blog.csdn.net/u011775691 */ #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define pb push_back #define ALL(x) x.begin(),x.end() #define VINT vector #define PII pair #define MP(x,y) make_pair((x),(y)) #define ll long long #define ull unsigned ll #define MEM0(x) memset(x,0,sizeof(x)) #define MEM(x,val) memset((x),val,sizeof(x)) #define scan(x) scanf("%I64d",&(x)) #define scan2(x,y) scanf("%I64d%I64d",&(x),&(y)) #define scan3(x,y,z) scanf("%I64d%I64d%I64d",&(x),&(y),&(z)) #define scan4(x,y,z,k) scanf("%I64d%I64d%I64d%I64d",&(x),&(y),&(z),&(k)) #define Max(a,b) a=max(a,b) #define Min(a,b) a=min(a,b) using namespace std; ll f[1111]; ll dp[1111][1111]; int main(){ #ifndef ONLINE_JUDGE //freopen("C:/OJ/in.txt","r",stdin); #endif ll MOD = 1e9+7.5; ll T;cin>>T; while(T--){ ll n,p;cin>>n>>p; for(ll i=1;i<=n;i++){ cin>>f[i]; } //dp[1][f[1]%p]=1; MEM0(dp); dp[0][0]=1; for(ll i=1;i<=n;i++){ for(ll j=0;j