import java.util.Scanner;
public class Main {
public static void main
(String[] args
) { Scanner scanner
= new Scanner
(System.
in);
// Reading the size of the array
int n = scanner.nextInt();
// Reading the maximum allowed subarray sum limit
long k = scanner.nextLong();
// Initialize the array
long[] b = new long[n];
for (int i = 0; i < n; i++) {
b[i] = scanner.nextLong();
}
long count = 0;
long currentSum = 0;
// Left pointer of the sliding window
int i = 0;
// Loop with 'j' acting as the right pointer
for (int j = 0; j < n; j++) {
currentSum += b[j];
// Shrink the window from the left if the sum exceeds k
while (currentSum > k && i <= j) {
currentSum -= b[i];
i++;
}
// Count all valid subarrays ending at index j
count += (j - i + 1);
}
scanner.close();
}
}
aW1wb3J0IGphdmEudXRpbC5TY2FubmVyOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFNjYW5uZXIgc2Nhbm5lciA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CgogICAgICAgIC8vIFJlYWRpbmcgdGhlIHNpemUgb2YgdGhlIGFycmF5CiAgICAgICAgaW50IG4gPSBzY2FubmVyLm5leHRJbnQoKTsKCiAgICAgICAgLy8gUmVhZGluZyB0aGUgbWF4aW11bSBhbGxvd2VkIHN1YmFycmF5IHN1bSBsaW1pdAogICAgICAgIGxvbmcgayA9IHNjYW5uZXIubmV4dExvbmcoKTsKCiAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgYXJyYXkKICAgICAgICBsb25nW10gYiA9IG5ldyBsb25nW25dOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgICAgIGJbaV0gPSBzY2FubmVyLm5leHRMb25nKCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGxvbmcgY291bnQgPSAwOwogICAgICAgIGxvbmcgY3VycmVudFN1bSA9IDA7CgkJLy8gTGVmdCBwb2ludGVyIG9mIHRoZSBzbGlkaW5nIHdpbmRvdwogICAgICAgIGludCBpID0gMDsgCgogICAgICAgIC8vIExvb3Agd2l0aCAnaicgYWN0aW5nIGFzIHRoZSByaWdodCBwb2ludGVyCiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBuOyBqKyspIHsKICAgICAgICAgICAgY3VycmVudFN1bSArPSBiW2pdOwoKICAgICAgICAgICAgLy8gU2hyaW5rIHRoZSB3aW5kb3cgZnJvbSB0aGUgbGVmdCBpZiB0aGUgc3VtIGV4Y2VlZHMgawogICAgICAgICAgICB3aGlsZSAoY3VycmVudFN1bSA+IGsgJiYgaSA8PSBqKSB7CiAgICAgICAgICAgICAgICBjdXJyZW50U3VtIC09IGJbaV07CiAgICAgICAgICAgICAgICBpKys7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIENvdW50IGFsbCB2YWxpZCBzdWJhcnJheXMgZW5kaW5nIGF0IGluZGV4IGoKICAgICAgICAgICAgY291bnQgKz0gKGogLSBpICsgMSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihjb3VudCk7CiAgICAgICAgc2Nhbm5lci5jbG9zZSgpOwogICAgfQp9Cg==