#include <bits/stdc++.h>
using namespace std;
long long dp[3009][3009];
long long n, s;
std::vector<long long> a(3009);
long long func(long long pos, long long sum) {
  if (sum == s) return (n - pos + 1);
  if (pos == n) return sum == s;
  if (dp[pos][sum] != -1) return dp[pos][sum];
  return dp[pos][sum] = ((func(pos + 1, sum)) % 998244353 +
                         (func(pos + 1, sum + a[pos])) % 998244353) %
                        998244353;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  memset(dp, -1, sizeof(dp));
  cin >> n >> s;
  for (long long int i = 0; i < n; i++) cin >> a[i];
  long long res = 0;
  for (long long int i = 0; i < n; i++) {
    res = ((res % 998244353) + (func(i, 0)) % 998244353) % 998244353;
  }
  cout << res % 998244353;
}
