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

int main() {
	int n; cin >> n; int arr[n]; int k;
	cin >> k;
	for(int i = 0; i < n; i++)
	cin >> arr[i];
	
	int sum = 0;
	unordered_map<int, int> hash;
	hash[0] = -1;
	int maxl = INT_MIN;
	for(int i = 0; i < n; i++){
		sum += arr[i];
		if(hash.find(sum-k) != hash.end()){
			int len = i - hash[sum-k];
			maxl = max(maxl, len);
		}
		hash[sum] = i;
	}
	hash.clear(); sum = 0; int cnt = 0;
	hash[0] = -1;
	for(int i = 0; i < n; i++){
		sum += arr[i];
		if(hash.find(sum-k) != hash.end()){
			int len = i - hash[sum-k];
			if(len == maxl)
			cnt++;
		}
		hash[sum] = i;
	}
	cout << cnt;
	return 0;
}