var GET=(function(){function f(s){return new g(s);}function g(s){this._s=s.trim().split("\n");this._y=0;}g.prototype.a=function(f){var s=this._s, y=this._y, r;if(typeof s[y]==="string")s[y]=s[y].split(" ").reverse();r=s[y].pop();if(!s[y].length)this._y++;return f?r:+r;};g.prototype.l=function(f){var s=this._s[this._y++].split(" ");return f?s:s.map(a=>+a);};g.prototype.m=function(n,f){var r=this._s.slice(this._y,this._y+=n).map(a=>a.split(" "));return f?r:r.map(a=>a.map(a=>+a));};g.prototype.r=function(n,f){var r=this._s.slice(this._y,this._y+=n);return f?r:r.map(a=>+a);};return f;})();
var o=GET(require("fs").readFileSync("/dev/stdin","utf8"));
function xArray(v){var a=arguments,l=a.length,r="Array(a["+--l+"]).fill(v)";while(--l)r="Array(a["+l+"]).fill(0).map(x=>"+r+")";return eval(r);}
var mod = 998244353;
function abmod(){for(var a=arguments,r=a[0],i=1;i<a.length;)r=((r>>16)*a[i]%mod*65536+(r&65535)*a[i++])%mod;return r;}
var fact=[1,1];
function factmod(n){for(var i=fact.length;i<=n;)fact[i]=abmod(fact[i-1],i++);return fact[n];}
function modinv(a){for(var b=mod,u=1,v=0,t;b;v=t)t=a/b|0,a-=t*b,u-=t*v,t=a,a=b,b=t,t=u,u=v;u%=mod;return u<0?u+mod:u;}
function nCrmod(n,r){return abmod(factmod(n),modinv(abmod(fact[r],fact[n-r])));}
function powmod(a,n){for(var r=1;n;a=abmod(a,a),n>>=1)if(n&1)r=abmod(a,r);return r;}

console.log(main());
function main(){
  var n = o.a();
  var a = o.r(n).sort((a,b)=>a-b);
  var l = a.reduce((a,b)=>a+b);
  var mx = 0;
  var dp = xArray(0,n+1,l+1);
  dp[0][0] = 1;
  l = l+1 >> 1;
  for(var i = 0; i < n; i++){
    for(var j = mx; j >= 0; j--){
      for(var k = i; k >= 0; k--){
        if(dp[k][j] === 0)continue;
        dp[k+1][j+a[i]] += dp[k][j];
        dp[k+1][j+a[i]] %= mod;
      }
    }
  mx += a[i];
  }
  var ans = 0;

  var ncr = xArray(0,n-1);
  for(var i = 2; i < n-1; i++){
    for(var j = 1; j < i; j++){
      ncr[i] += nCrmod(i,j);
    }
    ncr[i] %= mod;
  }

  for(var i = 1; i < n-1; i++)
  for(var j = l; j <= mx; j++){
    if(dp[i][j] === 0)continue;
    ans += dp[i][j] * ncr[n-i];
    ans %= mod;
  }
  ans =  powmod(3,n) - 3 - ans*3;
  for(var i = 1; i < n; i++)ans -= nCrmod(n,i)*3;
  ans %= mod;
  return (ans+mod)%mod;
}