#include <bits/stdc++.h>
#define ll long long
const ll maxx=1e12;
using namespace std;

int main()
{
    ll n;
    cin>>n;
    ll arr[n];
    for(ll i=0;i<n;i++){
        char x;
        cin>>x;
        if(x=='-')
            arr[i]=maxx;
        else
            cin>>arr[i];
    }
    ll ct=0;
    ll mod=998244353;
    for(ll i=0;i<n;i++)
        if(arr[i]!=maxx){
            ll dp[n+1][n+1];
            for(ll k=0;k<=n;k++)
                for(ll j=0;j<=n;j++)
                    dp[k][j]=0;
            dp[0][0]=1;
            for(ll j=1;j<i+1;j++){
            for(ll k=0;k<=n;k++){
                dp[j][k]=dp[j-1][k];
                if(arr[j-1]<=arr[i]){
                    if(k>0)
                        dp[j][k]+=dp[j-1][k-1];
                }
                else if(arr[j-1]==maxx){
                    if(k==0)
                        dp[j][k]+=dp[j-1][k];
                    if(k<n)
                        dp[j][k]+=dp[j-1][k+1];
                }
                else
                    dp[j][k]+=dp[j-1][k];
                dp[j][k]%=mod;
            }
        }
        for(ll k=0;k<=n;k++){
            dp[i+1][k]=dp[i][k];
        }
        for(ll j=i+2;j<=n;j++)
            for(ll k=0;k<=n;k++){
                dp[j][k]=dp[j-1][k];
                if(arr[j-1]<arr[i]){
                    if(k>0)
                        dp[j][k]+=dp[j-1][k-1];
                }
                else if(arr[j-1]==maxx){
                    if(k<n)
                        dp[j][k]+=dp[j-1][k+1];
                }
                else
                    dp[j][k]+=dp[j-1][k];
                dp[j][k]%=mod;
            }
        for(ll k=0;k<=n;k++){
            ct+=dp[n][k]*arr[i];
            ct%=mod;
        }
    }
    cout<<ct<<endl;
    return 0;
}
