#include using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; using vi = vector; #define pb push_back #define eb emplace_back #define fi first #define se second #define all(x) begin (x), end(x) #define sz(x) (int) (x).size() #define rep(i,a,b) for (int i = (a); i < (b); i++) mt19937 rng(random_device{}()); int main() { ios::sync_with_stdio(false); cin.tie(0); int n, x; cin >> n >> x; vi a(n); int ans = 0; rep(i,0,n) cin >> a[i]; sort(a.begin(), a.end()); rep(i,0,n){ auto lo = lower_bound(a.begin()+i, a.end(), x - a[i]); auto hi = upper_bound(a.begin()+i, a.end(), x - a[i]); int qtd = hi - lo; if(*lo == x - a[i]){ if(i == lo - a.begin()){ ans += qtd * 2; } else ans += qtd * 2 - 1; } } cout << ans << endl; }