class Solution {
public int subarraysDivByK(int[] A, int K) {
HashMap<Integer, Integer> map = new HashMap<>();
map.put(0, 1);
int sum = 0, ans = 0;
for (int i : A) {
sum += i;
int remainder = (sum % K + K) % K;
int cnt = map.getOrDefault(remainder, 0);
ans += cnt;
map.put(remainder, cnt + 1);
}
return ans;
}
}