lib C;fun strtoll(s: UInt8*,p: UInt8**,b: Int32): Int64;end class String;def to_i64;C.strtoll(self,nil,10);end;end require "big" struct Int def pow(n : Int, mod = nil ) : Int a = to_i64 res = 1_i64 while n > 0 if (n & 1) != 0 res *= a res %= mod if mod end a *= a a %= mod if mod n >>= 1 end res end end mod = 998244353i64 n, k = gets.to_s.split.map{ |e| e.to_big_i } a = gets.to_s.split.map{ |e| e.to_big_i } p a.sum.to_big_i * 2.to_big_i.pow(k, mod) % mod