#include #include using namespace std; using namespace atcoder; using mint = modint998244353; int main() { int n; cin >> n; int l = n, r = -1; vector p(n), idx(n); for (int i = 0; i < n; i++) { cin >> p.at(i); idx.at(p.at(i)) = i; } mint ans = 1; for (int i = 0; i < n; i++) { int v = r - l + 1 - i; if (idx.at(i) < l) { l = idx.at(i); v = 1; } if (idx.at(i) > r) { r = idx.at(i); v = 1; } ans *= v; } cout << ans.val() << endl; return 0; }