fun main(args: Array<String>) {
    val mod = 998244353L
    val (n, s) = readLine()!!.split(" ").map { it.toInt() }
    val a = readLine()!!.split(" ").map { it.toInt() }
    val dp = Array(n + 1) { Array(s + 1) { 0L } }
    dp[0][0] = 1
    (1..n).forEach { i ->
        (0..s).forEach { j ->
            dp[i][j] += dp[i - 1][j] * 2; dp[i][j] %= mod
            if (j + a[i-1] <= s) {
                dp[i][j + a[i-1]] += dp[i - 1][j]
                dp[i][j + a[i-1]] %= mod
            }
        }
    }
    println(dp[n][s])
}