#pragma GCC optimize("Ofast") #include using namespace std; typedef long long int ll; typedef unsigned long long int ull; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); ll myRand(ll B) { return (ull)rng() % B; } inline double time() { return static_cast(chrono::duration_cast(chrono::steady_clock::now().time_since_epoch()).count()) * 1e-9; } int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); int n,m; cin >> n >> m; vector a(n); set st; for (int i = 0; i < n; ++i) { cin >> a[i]; a[i] -= 1; st.insert(a[i]); } ll cnt = 0; if (m%2 == 0) { for (int i = 0; i < n; ++i) { if (st.find(a[i]+m/2) != st.end()) cnt += 1; } } cout << cnt*(n-2) << endl; }