#define _CRT_SECURE_NO_WARNINGS #include using namespace std; #include using namespace atcoder; using mint = modint998244353; int main() { // input_from_file("input.txt"); // output_to_file("output.txt"); int n; cin >> n; vector a(n); for (int i = 0; i < n; i++) cin >> a[i]; vector pow2(n); pow2[0] = 1; for (int i = 1; i < n; i++) pow2[i] = pow2[i - 1] * 2; mint res; for (int i = 0; i < n; i++) { int l = i; int r = n - 1 - i; mint lc = (l == 0 ? 1 : (l + 2) * pow2[l - 1]); mint rc = (r == 0 ? 1 : (r + 2) * pow2[r - 1]); res += a[i] * lc * rc; } cout << res.val() << endl; }