import java.util.*;
public class Main {
public static void main
(String[] args
) { Scanner sc
= new Scanner
(System.
in); int n = sc.nextInt();
long k = sc.nextLong();
long[] arr = new long[n + 1];
long[] prefix = new long[n + 1];
for (int i = 1; i <= n; i++) {
arr[i] = sc.nextLong();
prefix[i] = prefix[i - 1] + arr[i];
}
Map
<Long, Long
> freq
= new HashMap
<>(); freq.put(0L, 1L);
int count = 0;
for (int j = 1; j <= n; j++) {
long key = (prefix[j] - j) % k;
if (key < 0) key += k;
count += freq.getOrDefault(key, 0L);
freq.put(key, freq.getOrDefault(key, 0L) + 1);
}
sc.close();
}
}
aW1wb3J0IGphdmEudXRpbC4qOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFNjYW5uZXIgc2MgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwogICAgICAgIGludCBuID0gc2MubmV4dEludCgpOwogICAgICAgIGxvbmcgayA9IHNjLm5leHRMb25nKCk7CgogICAgICAgIGxvbmdbXSBhcnIgPSBuZXcgbG9uZ1tuICsgMV07CiAgICAgICAgbG9uZ1tdIHByZWZpeCA9IG5ldyBsb25nW24gKyAxXTsKCiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgICAgIGFycltpXSA9IHNjLm5leHRMb25nKCk7CiAgICAgICAgICAgIHByZWZpeFtpXSA9IHByZWZpeFtpIC0gMV0gKyBhcnJbaV07CiAgICAgICAgfQoKICAgICAgICBNYXA8TG9uZywgTG9uZz4gZnJlcSA9IG5ldyBIYXNoTWFwPD4oKTsKICAgICAgICBmcmVxLnB1dCgwTCwgMUwpOwoKICAgICAgICBpbnQgY291bnQgPSAwOwogICAgICAgIGZvciAoaW50IGogPSAxOyBqIDw9IG47IGorKykgewogICAgICAgICAgICBsb25nIGtleSA9IChwcmVmaXhbal0gLSBqKSAlIGs7CiAgICAgICAgICAgIGlmIChrZXkgPCAwKSBrZXkgKz0gazsKCiAgICAgICAgICAgIGNvdW50ICs9IGZyZXEuZ2V0T3JEZWZhdWx0KGtleSwgMEwpOwogICAgICAgICAgICBmcmVxLnB1dChrZXksIGZyZXEuZ2V0T3JEZWZhdWx0KGtleSwgMEwpICsgMSk7CiAgICAgICAgfQoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oY291bnQpOwogICAgICAgIHNjLmNsb3NlKCk7CiAgICB9Cn0K