#include <bits/stdc++.h>
using namespace std;
const int N=1e6+6, mod=1e9+7;
int n, a[N], x;
long long ans;
map<long long, long long> mp;
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> n >> x;
for(int i=1;i<=n;++i) cin >> a[i];
for(int i=1;i<=n;++i){
ans+=mp[a[i]*1LL-x]+mp[a[i]*1LL+x];
ans%=mod;
mp[a[i]]=(mp[a[i]]+1)%mod;
}
cout << ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTj0xZTYrNiwgbW9kPTFlOSs3OwppbnQgbiwgYVtOXSwgeDsKbG9uZyBsb25nIGFuczsKbWFwPGxvbmcgbG9uZywgbG9uZyBsb25nPiBtcDsKCnNpZ25lZCBtYWluKCkKewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCiAgICBjaW4gPj4gbiA+PiB4OwogICAgZm9yKGludCBpPTE7aTw9bjsrK2kpIGNpbiA+PiBhW2ldOwogICAgZm9yKGludCBpPTE7aTw9bjsrK2kpewogICAgICAgIGFucys9bXBbYVtpXSoxTEwteF0rbXBbYVtpXSoxTEwreF07CiAgICAgICAgYW5zJT1tb2Q7CiAgICAgICAgbXBbYVtpXV09KG1wW2FbaV1dKzEpJW1vZDsKICAgIH0KICAgIGNvdXQgPDwgYW5zOwogICAgcmV0dXJuIDA7Cn0K