## https://yukicoder.me/problems/no/3456 from collections import deque def main(): N, D = map(int, input().split()) A = list(map(int, input().split())) d_map = {} for a in A: b = a % D if b not in d_map: d_map[b] = [] d_map[b].append((a - b) // D) answer = 0 for array in d_map.values(): dp_map = {} for a in array: if a not in dp_map: dp_map[a] = [0, 0] if (a - 1) in dp_map: answer += dp_map[a - 1][1] dp_map[a][1] += dp_map[a - 1][0] dp_map[a][0] += 1 print(answer) if __name__ == "__main__": main()