28237
 13190
 39914
 81367
 8554
 61106
 67448
 39004
 22308
 16054
 71468
 60501
 100
 300
 59632
 90783
 5611
 1000
 69475
 69753
 10
 5
 582
 8
 36961
 5071
 20
 53213
 92775
 28738
 100000
 92280
 37944
 9
 2627
 7
 3

1028306548 224346172 2054738392 8539207488 94344524 4816051228 5867563092 1962150044 641839188 332342852 6587875268 4721174212 12600 115440 4586497300 10630118936 40580456 1286328 6225539588 6275533596 92 8 434692 52 1762017168 33141852 440 3652070664 11101694484 1065137992 12898363344 10983871880 1856988304 64 8885348 28 0
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
int n, a[N];
long long t, ans, sum[N];
vector<int> bit[N];
void update(int id, int val) {
  for (; id <= n; id = id | (id + 1)) bit[id].push_back(val);
}
int query(int id, int val) {
  int res = 0;
  for (; id >= 0; id = (id & (id + 1)) - 1) {
    res += bit[id].end() - upper_bound(bit[id].begin(), bit[id].end(), val);
  }
  return res;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> t;
  update(0, 0);
  for (int i = 1; i <= n; ++i) {
    cin >> a[i];
    sum[i] = a[i] + sum[i - 1];
    update(i, sum[i]);
  }
  for (int i = 0; i <= n; ++i) sort(bit[i].begin(), bit[i].end());
  for (int i = 1; i <= n; ++i) {
    ans += query(i - 1, sum[i] - t);
  }
  cout << ans << "\n";
  return 0;
}
