#include <bits/stdc++.h>
using namespace std;
#define int long long
#define mpr make_pair
#define fr first
#define sc second
inline int read(){
int res=0,f=1;char c=getchar();
while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}
while (c>='0'&&c<='9') {res=res*10+(c-'0');c=getchar();}
return res*f;
}
const int N=5005,M=998244353;
int n,a[N],f[N][N],g[N][N];
signed main(){
n=read();
for (int i=1;i<=n;i++) a[i]=read();
sort(a+1,a+n+1);
g[0][0]=1;
for (int i=1;i<=n;i++)
for (int j=0;j<=a[i];j++){
g[i][j]+=g[i-1][j],g[i][j]%=M;
g[i][a[i]-j]+=g[i-1][j],g[i][a[i]-j]%=M;
f[i][j]+=f[i-1][j],f[i][j]%=M;
f[i][a[i]-j]+=f[i-1][j]+g[i-1][j]*(a[i]-j),f[i][a[i]-j]%=M;
}
int ans=0;
for (int i=0;i<=n;i++) ans+=f[n][i]+i,ans%=M;
cout<<ans;
return 0;
}
样例都没过()