#include #include using namespace std; const long long md = 998244353; int p[200009]; int main() { ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; for (int i = 0; i < n; i++) { int a; cin >> a; p[a] = i; } int l = p[0], r = p[0], t = 0; long long ans = 1; for (int i = 1; i < n; i++) { if (p[i] < l) { t += l - p[i] - 1; l = p[i]; } else if (p[i] > r) { t += p[i] - r - 1; r = p[i]; } else { ans = (ans * t) % md; t--; } } cout << ans << '\n'; return 0; }