#include <stdio.h> #include <bits/stdc++.h> #include <atcoder/all> using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000001 int main(){ int n; cin>>n; vector<int> p(n); vector<int> pos(n); rep(i,n){ cin>>p[i]; pos[p[i]] = i; } mint ans = 1; int l = pos[0]; int r = pos[0]+1; for(int i=1;i<n;i++){ int t = pos[i]; if(t<l)l = t; else if(t>=r)r = t+1; else{ ans *= (r-l-i); } } cout<<ans.val()<<endl; return 0; }