#include using namespace std; int main() { /* ios::sync_with_stdio(false); */ int N, K; cin >> N >> K; vector A(N); for (int i = 0; i < N; ++i) cin >> A[i]; function dvcq = [&](int l, int r) { if (r - l < 1) return (int64_t) 0; int64_t res = 0; map cnt; for (int i = l; i < r; ++i) ++cnt[A[i]]; if (cnt.begin()->second < 2) { map sum; for (int i = l; i < r; ++i) sum[A[i]] += i + 1; for (int i = l; i < r; ++i) { if (A[i] <= K) res += sum[K - A[i]] - (int64_t) i * cnt[K - A[i]]; --cnt[A[i]]; sum[A[i]] -= i + 1; } } else { int i = l; int j = i; while (j < r && A[j] != cnt.begin()->first) ++j; for (++j; j < r && A[j] != cnt.begin()->first; ++j) ; res += dvcq(i, j); while (true) { while (i < r && A[i] != cnt.begin()->first) ++i; if (++i >= r) break; res -= dvcq(i, j); for (++j; j < r && A[j] != cnt.begin()->first; ++j) ; if (j > r) j = r; res += dvcq(i, j); if (j == r) break; } } return res; }; cout << dvcq(0, N) << endl; return 0; }