#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double ;
#define rep(i,n) for (ll i=0; i < (n); ++i)
#define fi first 
#define se second

const ll mod=998244353ll ;

int main(){
   ll n ; cin>>n ;
   vector<ll> A(n) ;
   rep(i,n) cin>>A[i] ;
   vector<ll> pl(n) ;
   rep(i,n) pl[A[i]]=i ;
   ll ans=1ll ;
   ll l=pl[0] ;
   ll r=pl[0] ;
   rep(i,n-1){
    if(pl[i+1]<l) l=pl[i+1] ;
    else if(r<pl[i+1]) r=pl[i+1] ;
    else ans*=(r-l-i) ;
    ans%=mod ;
   }
   
   ans%=mod ;
   cout<<ans<<endl ;
   
   return 0  ;
}