Link to this code: https://cses.fi/paste/29d15be75c988e607d8ef4/
/*
  2024 cùng những điều ước.
*/

#include <bits/stdc++.h>
using namespace std; 

typedef long long ll; 
typedef pair<int, int> ii; 

const ll LINF = 1e18; 
const int INF = 1e9;

// Đây là dạng bài kinh điển sử dụng công thức của tổng tiền tố
// Tổng đoạn [l, r] = x <=> pref[r] - pref[l - 1] = x
//                      <=> pref[r] - x = pref[l - 1]    
// => Đưa về bài toán đếm có bao nhiêu cặp (l, r) (l < r) sao cho pref[r] - x = pref[l - 1] 

const int N = 2e5 + 5;  

int n, x; 
int a[N]; 
ll pref[N];  

signed main() {
	ios::sync_with_stdio(0); cin.tie(0); 
	cin >> n >> x;  

	for (int i = 1; i <= n; i++) {
		cin >> a[i];  
		pref[i] = pref[i - 1] + a[i]; 
	}	

	// Nhận thấy pref[i] có thể âm hoặc có thể có giá trị rất lớn nên ta dùng map 
	map<ll, int> cnt;   
	ll ans = 0;  
	for (int i = 0; i <= n; i++) { // Chú ý: mấy em mới code đặc biệt hay quên xét pref[0]
		ans += cnt[pref[i] - x]; 
		cnt[pref[i]]++; 
	}

	cout << ans << '\n'; 

	return 0;  
}