#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int mod=998244353; const int dx[]={1,0,0,-1},dy[]={0,1,-1,0}; int n,a[200000],sum[200001],pow2[200000]; map,int>mp; int rec(int i,int s){ if(s>sum[i]) return 0; if(s<=0) return pow2[i]; if(i==0) return 0; return mp[{i,s}]=rec(i-1,s)+rec(i-1,s-a[i-1]); } int main(){ cin>>n; pow2[0]=1; for(int i=0;i>a[i]; sum[i+1]=sum[i]+a[i]; pow2[i+1]=pow2[i]*2%mod; } int ans=(ll)pow2[n-1]*sum[n]%mod; ans=(ans+996858077ll*rec(n,999630629))%mod; cout<