#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; using ll=long long; typedef pair P; const ll MOD=998244353; ll powmod(ll a, ll k){ ll ap=a, ans=1; while(k){ if(k&1){ ans*=ap; ans%=MOD; } ap=ap*ap; ap%=MOD; k>>=1; } return ans; } ll inv(ll a){ return powmod(a, MOD-2); } int main() { int n; cin>>n; int a[200020]; for(int i=0; i>a[i]; ll ans=0; for(int i=0; i=0){ if(abs(a[l])!=1) break; l--; } while(rl; j--){ if(ji && a[j-1]==-1) p^=1; (sr[p]+=powmod(2, MOD-1-min(n-1, j)))%=MOD; } int p0=0; if(a[i]==-2) p0^=1; for(int p=0; p<2; p++){ for(int q=0; q<2; q++){ if(p^q^p0){ (ans+=sl[p]*sr[q])%=MOD; } } } //cout<