codeforces#P1585F. Non-equal Neighbours

Non-equal Neighbours

Description

You are given an array of $n$ positive integers $a_1, a_2, \ldots, a_n$. Your task is to calculate the number of arrays of $n$ positive integers $b_1, b_2, \ldots, b_n$ such that:

  • $1 \le b_i \le a_i$ for every $i$ ($1 \le i \le n$), and
  • $b_i \neq b_{i+1}$ for every $i$ ($1 \le i \le n - 1$).

The number of such arrays can be very large, so print it modulo $998\,244\,353$.

The first line contains a single integer $n$ ($1 \le n \le 2 \cdot 10^5$) — the length of the array $a$.

The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ($1 \le a_i \le 10^9$).

Print the answer modulo $998\,244\,353$ in a single line.

Input

The first line contains a single integer $n$ ($1 \le n \le 2 \cdot 10^5$) — the length of the array $a$.

The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ($1 \le a_i \le 10^9$).

Output

Print the answer modulo $998\,244\,353$ in a single line.

3
2 2 2
2
2 3
3
1 1 1
2
4
0

Note

In the first test case possible arrays are $[1, 2, 1]$ and $[2, 1, 2]$.

In the second test case possible arrays are $[1, 2]$, $[1, 3]$, $[2, 1]$ and $[2, 3]$.