N = gets.chomp.to_i
 
a = []
a_sum = []
sum = 0
x = 0
while x < N
  a[x] = gets.chomp.to_i
  sum += a[x]
  a_sum[x] = sum
  x += 1
end
 
ng = (sum+1)/2
ngbc = sum/2
max_a = a.max
 
arr = Array.new(2){ Array.new(sum+1,0) }
 
arr[0][0] = 1
 
#i = 1
#while i >= N*max_a
#  arr[0][i] = 0
#  i += 1
#end
 
t=1
while t <= N
  r = 0
  while r <= (ngbc < a_sum[t-1] ? ngbc : a_sum[t-1])
    arr[t%2][r] = r >= a[t-1] ? (2*arr[(t-1)%2][r-a[t-1]] + arr[(t-1)%2][r]) % 998244353 : arr[(t-1)%2][r] % 998244353
    r += 1
  end
  t += 1
end
 
arr2 = Array.new(2){ Array.new(sum+1,0) }
 
arr2[0][0] = 1
#i = 1
#while i >= N*max_a
#  arr2[0][i] = 0
#  i += 1
#end

t=1
while t <= N
  r = 0
  while r <= (ng < a_sum[t-1] ? ng : a_sum[t-1])
    arr2[t%2][r] = r >= a[t-1] ? (arr2[(t-1)%2][r-a[t-1]] + arr2[(t-1)%2][r]) % 998244353 : (arr2[(t-1)%2][r]) % 998244353
    r += 1
  end
  t += 1
end
 
c1 = 0
 
x = 0
while x <= ngbc
  c1 += arr[N%2][x]
  x += 1
end
c1 = c1 % 998244353 
 
c2 = sum % 2 == 0 ? arr2[N%2][ng] : 0
 
all = 1
 
x = 1
while x <= N
  all *= 3
  all = all % 998244353
  x += 1 
end
 
answer = (all - c1*3 + c2*3 + 998244353) % 998244353 

puts answer