#include #include using namespace std; const int MAXN = 1010; const int MOD = 1000000007; int dp[MAXN][MAXN], a[MAXN]; int main() { int T; scanf("%d", &T); while (T--) { int n, p; scanf("%d%d", &n, &p); for (int i = 1; i <= n; i++) { scanf("%d", &a[i]); a[i] %= p; } memset(dp, 0, sizeof(dp)); dp[0][0] = 1; for (int i = 1; i <= n; i++) { for (int j = 0; j < p; j++) dp[i][j] = (dp[i-1][j] + dp[i-1][(j-a[i]+p) % p]) % MOD; } printf("%d\n", dp[n][0]); } return 0; }