Solution#
Memo#
// Baekjoon - 2003
// https://www.acmicpc.net/problem/2003
use std::io::{self, Read, Write};
fn main() {
    let mut stdin = io::stdin().lock();
    let mut stdout = io::stdout().lock();
    let mut input = String::new();
    stdin.read_to_string(&mut input).unwrap();
    let mut lines = input.lines();
    let meta_line: Vec<usize> = lines.next().unwrap()
        .split_whitespace()
        .map(|x| x.parse().unwrap())
        .collect();
    let n = meta_line[0];
    let m = meta_line[1];
    let nums: Vec<usize> = lines.next().unwrap()
        .split_whitespace()
        .map(|x| x.parse().unwrap())
        .collect();
    let mut count = 0;
    let mut sum = 0;
    let mut left = 0;
    for right in 0..n {
        sum += nums[right];
        while sum >= m && left <= right {
            if sum == m {
                count += 1;
            }
            sum -= nums[left];
            left += 1;
        }
    }
    write!(stdout, "{}", count).unwrap();
}