#![allow(non_snake_case)] use proconio::{input, marker::Chars}; fn mod_pow(base: i64, exp: i64, modulus: i64) -> i64 { if exp == 0 { return 1 } if exp == 1 { return base % modulus } let x = mod_pow(base, exp / 2, modulus); if exp & 1 > 0 { ((x * base) % modulus) * x % modulus } else { x * x % modulus } } fn main() { input! { N: usize, K: i64, A: [i64; N], } const MOD: i64 = 998244353; let tot: i64 = A.iter().sum(); let ans = tot * mod_pow(2, K, MOD) % MOD; println!("{}", ans); }