#include<bits/stdc++.h>
using namespace std;
set<vector<int> > ans;
void cam(vector<int> a,bool flag) {
if(!flag){
ans.insert(a);
return;
}
bool flagg=false;
for(int i=0;i<a.size()-1;i++) {
if (a[i]<a[i+1]) {
vector<int> aa=a;
aa.erase(aa.begin()+i+1);
cam(aa,true);
flagg=true;
vector<int> pa=a;
swap(pa[i],pa[i+1]);
cam(pa,true);
flagg=true;
}
}
if (!flagg) {
ans.insert(a);
}
}
int main() {
int n;
cin>>n;
std::ios_base::sync_with_stdio(false);
vector<int> a(n);
for(int i=0;i<n;i++) {
cin>>a[i];
}
cam(a,1);
cout<<ans.size()%998244353<<endl;
return 0;
}