#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i, n) for(int i=0; i<(n); i++) #define FOR(i, m, n) for(int i=(m);i<(n);i++) #define sz(x) ((int)(x).size()) #define all(x) (x).begin(),(x).end() #define SORT(x) sort((x).begin(),(x).end()) #define REVE(x) reverse((x).begin(),(x).end()) #define mp make_pair #define pb push_back typedef vector VI; typedef vector VS; typedef vector> VVI; typedef pair PII; typedef long long LL; int main() { int n, x; cin >> n >> x; VI a(100010); rep(i, n) { int m; cin >> m; a[m]++; } LL ans = 0; rep(i, x + 1) { if (0 <= x - i && x - i <= 100000) { int p = a[i] * a[x - i]; ans += p; } } cout << ans << endl; }