#include <bits/stdc++.h>
using namespace std;
long long n, m;
long long a[3001];
long long dp[3001];
const long long mod = 998244353;
int main() {
  scanf("%lld %lld", &n, &m);
  for (int i = 1; i <= n; i++) {
    scanf("%lld", &a[i]);
  }
  long long dap = 0;
  for (int i = 1; i <= n; i++) {
    if (a[i] > m) continue;
    if (a[i] == m) {
      dap += i * (n - i + 1);
      dap %= mod;
    } else {
      dap += (dp[m - a[i]] * (n - i + 1));
      dap %= mod;
    }
    for (int y = m; y >= a[i]; y--) {
      dp[y] += dp[y - a[i]];
    }
    dp[a[i]] += i;
  }
  printf("%lld\n", dap);
}
