#include int main(){ using namespace std; const auto scan{[]{unsigned long N; cin >> N; return N;}}; const auto N{scan()}, K{scan()}, S{[&scan, &N]{unsigned long ret{0}; for(unsigned long i{0}; i < N; ++i)ret += scan(); return ret;}()}; constexpr unsigned long MOD{998244353}; cout << [](unsigned long a, unsigned long n, unsigned long b){ unsigned long r{b % MOD}; while(n){ if(n & 1UL)(r *= a) %= MOD; (a *= a) %= MOD; n >>= 1UL; } return r; }(2, K, S) << endl; return 0; }