#include <bits/stdc++.h>
using namespace std;
using ll=long long;
#define MOD 998244353
using Graph=vector<vector<int>>;

int main(){
  int N,S;
  cin>>N>>S;
  vector<int> A(N);
  for(int i=0;i<N;i++){
    cin>>A.at(i);
  }

  ll ans=0;
  vector<vector<ll>> dp(N+1,vector<ll>(S+1,0));
  dp.at(0).at(0)=1;
  for(int i=1;i<=N;i++){
    for(int j=0;j<=S;j++){
      dp.at(i).at(j)=dp.at(i-1).at(j);
    }
    for(int j=0;j+A.at(i-1)<=S;j++){
      if(dp.at(i).at(j)==0){
        continue;
      }
      if(j==0){
        dp.at(i).at(j+A.at(i-1))+=i;
      }else{
        dp.at(i).at(j+A.at(i-1))+=d.at(i-1).at(j);
      }
      if(j+A.at(i-1)==S){
        ans+=dp.at(i).at(S)*(N-i+1);
        ans%=MOD
      }
    }
  }
  cout<<ans<<endl;

}
