#include using namespace std; #define rep(i,n) for(int i=0;i=0;--i) #define debug(output) if(debugFlag)cout<<#output<<"= "< P; const bool debugFlag=true; const lint linf=1.1e18;const int inf=1.01e9; constexpr int MOD=1000000007; templatebool chmax(T &a, const T &b) { if(a < b){ a = b; return 1; } return 0; } templatebool chmin(T &a, const T &b) { if(a > b){ a = b; return 1; } return 0; } #include using namespace atcoder; using mint = modint998244353; signed main(){ int n;cin>>n; vector a(n); rep(i,n)cin>>a[i]; mint res=0; mint ni=2; rep(i,n){ res+=ni.pow(i)*a[i]*(ni.pow(n-i-1)-1); res-=(ni.pow(i)-1)*a[i]*ni.pow(n-i-1); } cout<