#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 4000000000000000001 int main(){ int n; cin>>n; string s; cin>>s; vector dp(50,vector(2,-Inf32)); dp[0][0] = 0; rep(i,n){ vector ndp(50,vector(2,-Inf32)); rep(j,50){ rep(k,2){ if(dp[j][k]==-Inf32)continue; rep(l,2){ int nv = dp[j][k]; int nj = j; if(k==0&&l==1)nj++; if(nj>=50)continue; if(s[i]=='?')nv++; else{ if(s[i]=='+'){ if(l==0)nv++; else nv--; } else{ if(l==0)nv--; else nv++; } } if(nv<0)continue; //cout<