#include long long int modpow(long long int a, long long int n, long long int p) { long long int res = 1; for (; n > 0; n /= 2, a = a * a % p) if (n % 2 > 0) res = res * a % p; return res; } long long int c[100005]; long long int cnt[3]; int main() { long long int n; scanf("%lld", &n); long long int i; for (i = 0; i < n; i++) scanf("%lld", &c[i]); const long long int p = 998244353; for (i = 0; i < 3; i++) cnt[i] = 0; for (i = 0; i < n; i++) { if (c[i] < 0) cnt[0]++; else if (c[i] == 0) cnt[1]++; else cnt[2]++; } if (c[0] >= 0) printf("%lld\n", modpow(2, cnt[1] + cnt[2] - 1, p)); else if (c[n - 1] <= 0) printf("%lld\n", modpow(2, cnt[0] + cnt[1] - 1, p)); else if (cnt[1] > 0) printf("%lld\n", modpow(2, cnt[0] - 1, p) * modpow(2, cnt[2] - 1, p) % p * 2 % p * 3 % p); else printf("%lld\n", modpow(2, cnt[0] - 1, p) * modpow(2, cnt[2] - 1, p) % p * 2 % p); return 0; }