#include <bits/stdc++.h>
using namespace std;
typedef long long lint;

const lint MOD = (lint)998244353;
lint dp1[305][90005], dp2[305][90005];
int A[305];

lint& mod_add(lint &a, lint b){
    return a = (a+b) % MOD;
}

lint& mod_sub(lint &a, lint b){
    return a = ((a-b)%MOD+MOD) % MOD;
}

lint mod_pow(lint n, lint x){
    lint res = 1;
    while(x){
        if(x & 1) res = res * n % MOD;
        x >>= 1; n = n * n  % MOD;
    }
    return res;
}

int main(){
    ios::sync_with_stdio(false), cin.tie(nullptr);
    int N, S = 0; cin >> N;
    for(int i=0;i<N;i++) {cin >> A[i]; S += A[i];}

    dp1[0][0] = dp2[0][0] = 1;
    for(int i=0;i<N;i++){
        for(int j=0;j<=S;j++){
            mod_add(dp1[i+1][j], dp1[i][j]*2);
            mod_add(dp1[i+1][j+A[i]], dp1[i][j]);
            mod_add(dp2[i+1][j], dp2[i][j]);
            mod_add(dp2[i+1][j+A[i]], dp2[i][j]);
        }
    }

    lint sub = 0, add = (S%2) ? 0 : dp2[N][S/2];
    for(int i=(S+1)/2;i<=S;i++) mod_add(sub, dp1[N][i]);

    lint ans = mod_pow(3, N);
    cout << mod_add(mod_sub(ans, 3*sub), 3*add) << endl;
    return 0;
}