//Includes
#include <bits/stdc++.h>
#include <cstdio> //For input/ouput file
#include <numeric> //For GCD and LCM
#include <iomanip> //For Decimal Points
#include <chrono>
//Marcos
#define fast_io() std::ios::sync_with_stdio(false); std::cin.tie(NULL);
#define TestCases(type) type t; std::cin >> t; while(t--)
#define ArrOne(name, type, size) type* name = new type[size]
#define ArrTwo(name, type, rows, cols) type** name = new type*[rows]; for(int i = 0; i < rows; i++){ name[i] = new type[cols]; }
#define sp(a, b, type) { type temp = a; a = b; b = temp; }
#define PI 3.14159265358979
#define MOD 1000000007
#define ll long long
#define lli long long int
#define ull unsigned long long
#define ld long double
#define li long int
void solve() {
ll n, k;
std::cin >> n >> k;
std::vector<ll> arr(n), pfx(n);
std::cin >> arr[0]; pfx[0] = arr[0];
for(ll i = 1; i < n; i++) {
std::cin >> arr[i];
pfx[i] = pfx[i - 1] + arr[i];
}
ll cnt = 0;
for(ll i = 0; i < (n - 1); i++) {
ll _sum = pfx[i];
for(ll j = (n - 1); j > i; j--) {
_sum += arr[j];
if(_sum % k == 0) {
cnt++;
}
}
}
std::cout << cnt << "\n";
}
void testCases() {
TestCases(int)
solve();
}
//main function
int main()
{
//#
fast_io();
//#
//#
#ifndef ONLINE_JUDGE
std::freopen("input.txt", "r", stdin);
std::freopen("output.txt", "w", stdout);
#endif
//#
testCases();
//solve();
return 0;
}
Copy