#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; #define MOD 1000000007 int main() { int n, x; cin >> n >> x; vector a(n + 2); for (int i = 1; i <= n; ++i) { cin >> a[i]; } a[0] = -1, a[n + 1] = 1e9 + 1; sort(a.begin(), a.end()); ll ans = 0; for (int i = 1; i <= n; ++i) { int ok = 0, ng = n + 1; while (1 < abs(ok - ng)) { int mid = (ok + ng) / 2; if (a[mid] <= x - a[i]) { ok = mid; } else { ng = mid; } } int u = ok; ok = 0, ng = n + 1; while (1 < abs(ok - ng)) { int mid = (ok + ng) / 2; if (a[mid] < x - a[i]) { ok = mid; } else { ng = mid; } } int d = ok; ans += u - d; } cout << ans << endl; return 0; }