#include <bits/stdc++.h>   using namespace std;   int64_t calc(int64_t l, int64_t r, int64_t ln) {     if (ln < 2) return 1;     int64_t mx = max(l, r);     int64_t mn = min(l, r);     int64_t ans = (int64_t)pow(201, (ln - 2));     cout << ans << endl;     ans += (int64_t)pow((201 - mx + 1), (ln - 1));     cout << ans << endl;     int64_t to = 201 - mn;     int64_t fr = to - mx + mn + 1;     cout << fr <<     << to << endl;     ans += (to * (to + 1)) / 2;     ans -= (fr * (fr + 1)) / 2;     cout <<  ANS:   << l <<     << r <<     << ln <<   =   << ans << endl;     return ans;   }   int main() {     int n;     cin >> n;     int a[n + 2];     for (int i = 0; i < n; ++i) {       scanf( %d , &a[i + 1]);     }     a[0] = 1;     a[n + 1] = 1;     n += 2;     int64_t *dp[2][201], ps[2][201];     for (int i = 0; i < 2; ++i) {       for (int j = 0; j < 201; ++j) {         dp[i][j] = (int64_t *)calloc(n, sizeof(int64_t));         ps[i][j] = 0;       }     }     dp[0][1][0] = 1;     ps[0][0] = dp[0][0][0];     ps[1][0] = dp[1][0][0];     for (int j = 1; j < 201; ++j) {       ps[0][j] = ps[0][j - 1] + dp[0][j][0];       ps[1][j] = ps[1][j - 1] + dp[1][j][0];       ps[0][j] %= 998244353;       ps[1][j] %= 998244353;     }     for (int i = 1; i < n; ++i) {       if (a[i] == -1) {         for (int j = 1; j < 201; ++j) {           dp[0][j][i] = ps[1][j - 1] + ps[0][j - 1];           dp[0][j][i] %= 998244353;           dp[1][j][i] = dp[0][j][i - 1] +                         ((ps[1][201 - 1] - ps[1][j - 1] + 998244353) % 998244353);           dp[1][j][i] %= 998244353;         }       } else {         dp[1][a[i]][i] = dp[0][a[i]][i - 1];         for (int j = a[i]; j < 201; ++j) {           dp[1][a[i]][i] += dp[1][j][i - 1];           dp[1][a[i]][i] %= 998244353;         }         dp[0][a[i]][i] = 0;         for (int j = 1; j < a[i]; ++j) {           dp[0][a[i]][i] += dp[0][j][i - 1] + dp[1][j][i - 1];           dp[0][a[i]][i] %= 998244353;         }       }       ps[0][0] = dp[0][0][i];       ps[1][0] = dp[1][0][i];       for (int j = 1; j < 201; ++j) {         ps[0][j] = ps[0][j - 1] + dp[0][j][i];         ps[1][j] = ps[1][j - 1] + dp[1][j][i];         ps[0][j] %= 998244353;         ps[1][j] %= 998244353;       }     }     int64_t ans = 0;     for (int i = 1; i < 201; ++i) {       ans += dp[0][i][n - 1];       ans %= 998244353;       ans += dp[1][i][n - 1];       ans %= 998244353;     }     cout << ans << endl;   }   