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)