#include<bits/stdc++.h>usingnamespace std;typedeflonglong ll;const ll MAXN =5e3+10;const ll mod =998244353;
ll a[MAXN];
ll dp[MAXN][MAXN];
ll qpow(ll a, ll b){
ll ans =1;while(b){if(b &1)
ans = ans * a % mod;
a = a * a % mod;
b >>=1;}return ans;}intmain(){
ll n;scanf("%lld",&n);for(ll i =1; i <= n; i++){scanf("%lld",&a[i]);}for(ll i = n; i >=1; i--){
ll cnt =0;
ll sum =0;for(ll j = n; j >=0; j--){if(a[j]< i){
dp[a[j]][i]=1;if(cnt){
dp[a[j]][i]+= sum *qpow(cnt, mod -2);}}if(a[j]> i){
sum =(sum + dp[i][a[j]])% mod;
cnt++;}}}
ll ans =0;for(ll i =1; i <= n; i++){
ans =(ans + dp[0][i])% mod;}printf("%lld\n", ans *qpow(n, mod -2)% mod);return0;}