#include <bits/stdc++.h>
using namespace std;
long long sol(int n, int k, int v, vector<int> &a,
              vector<vector<long long>> &mem) {
  if (v >= n || k < 0) return 0;
  if (mem[v][k] != -1) return mem[v][k];
  if (v == n - 1 && k <= a[v])
    return 1;
  else if (v == n - 1 && k > a[v])
    return 0;
  long long res = 0;
  for (int i = 0; i < (a[v] + 1); i++) {
    res += sol(n, k - i, v + 1, a, mem);
  }
  mem[v][k] = res;
  return res;
}
inline void solve() {
  int n, k;
  cin >> n >> k;
  vector<int> v(n);
  vector<vector<long long>> mem(n + 1, vector<long long>(k + 1, -1));
  for (int i = 0; i < (n); i++) cin >> v[i];
  cout << sol(n, k, 0, v, mem);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  solve();
}
