#include using namespace std; #include using namespace atcoder; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define rep2(i, s, n) for (int i = (s); i < (int)(n); i++) #define all(v) v.begin(), v.end() #define ll long long #define pii pair #define pll pair #define vi vector #define vl vector #define vvi vector #define vvl vector #define vvvi vector #define vvvl vector template auto debug(const T &vec){ if constexpr (!std::is_arithmetic_v){ for (const auto &v : vec)debug(v); cout << endl;} else{ for (const auto &e : vec){ cout << e << " ";} cout << endl;} } void print(){cout << '\n';} template void print(const T &a, const Ts &...b){ cout << a; (cout << ... << (cout << ' ', b)); cout << '\n';} int main() { ll n,x; cin >> n >> x; const ll M=1e5+1; vl f(M,0); rep(i,n){ ll a; cin >> a; f[a]++; } f=convolution(f,f); if (x>=f.size()){ print(0); }else{ print(f[x]); } }