from typing import List, Tuple, Callable, TypeVar import sys import itertools import heapq import math import bisect from collections import deque, defaultdict from functools import lru_cache, cmp_to_key input = sys.stdin.readline # for AtCoder Easy test if __file__ != 'prog.py': sys.setrecursionlimit(10 ** 6) def readints(): return map(int, input().split()) def readlist(): return list(readints()) def readstr(): return input()[:-1] N = int(input()) A = readlist() mod = 998244353 D = [A[i] - A[i + 1] for i in range(N - 1)] ans = 0 for i in range(N - 1): ans += D[i] * (pow(2, i + 1, mod) - 1) * (pow(2, N - 1 - i, mod) - 1) % mod ans %= mod print(ans)