def ip():return int(input()) def mp():return map(int, input().split()) def lmp():return list(map(int, input().split())) N, M = mp() A = lmp() if M % 2 == 1: exit(print(0)) from collections import defaultdict cnt = defaultdict(int) for i in range(N): cnt[A[i]] = i+1 cnt[A[i]+M] = N+i+1 from itertools import accumulate A.sort() cum = [0] + list(accumulate(A+A)) ans = 0 from bisect import bisect_left M2 = M//2 for a in A: if cnt[a+M2]: ans += cnt[a+M2] - cnt[a] - 1 # print(a, ans) print(ans)