def naive(A): N = len(A) ret = [0] * N for i in range(1<>j & 1 == 0):continue ret[j] += len(use) + 1 use.append(j) return ret MOD = 998244353 N = int(input()) A = list(map(int,input().split())) ans = 0 for i in range(N): ans += A[i] * (pow(2, N-1, MOD) + pow(2, N-2, MOD) * i) ans %= MOD print(ans)