import sys

int1 = lambda x: int(x) - 1

# input = lambda: sys.stdin.buffer.readline()
input = lambda: sys.stdin.readline().rstrip()
ii = lambda: int(input())
i1 = lambda: int1(input())
mi = lambda: map(int, input().split())
mi1 = lambda: map(int1, input().split())
li = lambda: list(mi())
li1 = lambda: list(mi1())
lli = lambda n: [li() for _ in range(n)]

INF = float("inf")
# mod = int(1e9 + 7)
mod = 998244353

n = ii()
a = li()

p2 = [1] * n
for i in range(1, n):
    p2[i] = p2[i - 1] * 2 % mod
p = 0
m = 0
for i in range(n):
    if 0 < i:
        m += a[i] * (p2[i] - 1)
        m %= mod
    if i + 1 < n:
        p += a[i] * (p2[n - 1 - i] - 1)
        p %= mod

print((p - m + mod) % mod)