n = int(input()) a = list(map(int, input().split())) mod = 998244353 place = {} for i in range(n): place[a[i]] = i ans = 1 l = place[0] r = place[0] for i in range(1, n): l_nxt = min(l, place[i]) r_nxt = max(r, place[i]) if l == l_nxt and r == r_nxt: ans *= r - l + 1 - i ans %= mod l = l_nxt r = r_nxt print(ans)