#P1067A. Array Without Local Maximums

Array Without Local Maximums

Description

Ivan unexpectedly saw a present from one of his previous birthdays. It is array of nn numbers from 11 to 200200. Array is old and some numbers are hard to read. Ivan remembers that for all elements at least one of its neighbours ls not less than it, more formally:

a1a2a_{1} \le a_{2},

anan1a_{n} \le a_{n-1} and

aimax(ai1,  ai+1)a_{i} \le max(a_{i-1}, \,\, a_{i+1}) for all ii from 22 to n1n-1.

Ivan does not remember the array and asks to find the number of ways to restore it. Restored elements also should be integers from 11 to 200200. Since the number of ways can be big, print it modulo 998244353998244353.

First line of input contains one integer nn (2n1052 \le n \le 10^{5}) — size of the array.

Second line of input contains nn integers aia_{i} — elements of array. Either ai=1a_{i} = -1 or 1ai2001 \le a_{i} \le 200. ai=1a_{i} = -1 means that ii-th element can't be read.

Print number of ways to restore the array modulo 998244353998244353.

Input

First line of input contains one integer nn (2n1052 \le n \le 10^{5}) — size of the array.

Second line of input contains nn integers aia_{i} — elements of array. Either ai=1a_{i} = -1 or 1ai2001 \le a_{i} \le 200. ai=1a_{i} = -1 means that ii-th element can't be read.

Output

Print number of ways to restore the array modulo 998244353998244353.

Sample Input 1

3
1 -1 2

Sample Output 1

1

Sample Input 2

2
-1 -1

Sample Output 2

200

Note

In the first example, only possible value of a2a_{2} is 22.

In the second example, a1=a2a_{1} = a_{2} so there are 200200 different values because all restored elements should be integers between 11 and 200200.