#include #include #include using namespace std; const int N = 100+10,mod = 998244353; typedef long long LL; LL f[N][N*N]; int a[N]; int last[N]; int main(){ int n,m; scanf("%d%d",&n,&m); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } sort(a+1,a+1+n); int now=1; for(int i=1;i<=n;i++){ while(a[now]!=a[i])now++; last[i]=i-(i-now);//前面相同的数的个数 } f[1][0]=1; for(int i=2;i<=n;i++){ for(int j=last[i];j>=1;j--){//增加 for(int k=i-j;k<=m;k++){ f[i][k]+=f[i-1][k-(i-j)]; f[i][k]%=mod; } } } cout<