using System; using System.Linq; class V { static long[] ReadL() => Array.ConvertAll(Console.ReadLine().Split(), long.Parse); static void Main() { var n = int.Parse(Console.ReadLine()); var a = ReadL(); if (n == 1) { Console.WriteLine(a[0] % M); } else { var s = a.Select((x, i) => (i + 2) * x % M).Sum() % M; Console.WriteLine(s * MPow(2, n - 2) % M); } } const long M = 998244353; static long MPow(long b, long i) { long r = 1; for (; i != 0; b = b * b % M, i >>= 1) if ((i & 1) != 0) r = r * b % M; return r; } }