#include<iostream>
#include<vector>
typedef long long ll;
using namespace std;
int result = 0;
vector<int>Hash(1000003,0);
const int mod = 1000003;
ll n, c;
inline ll read() {
int w=1, q=0;
char ch = ' ';
while (ch != '-' && (ch < '0' || ch>'9')) ch = getchar();
if (ch == '-') w = -1, ch = getchar();
while (ch >= '0' && ch <= '9')q = q * 10 + ch - '0', ch = getchar();
return w * q;
}
void check(ll val) {
ll pos = (val % mod+mod)%mod;
result += Hash[pos];
return;
}
int main() {
n = read();
c = read();
vector<ll>arr(n);
for (ll i = 0; i < n; i++) {
ll cur = read();
ll pos = cur % mod;
arr[i] = cur;
Hash[pos] += 1;
}
for (ll i = 0; i < n; i++) {
ll val = arr[i] - c;
check(val);
}
cout << result;
}