fun main() {
    val builder = StringBuilder()

    val mod = 998244353L

    val (n, s) = readInputLine().split(" ").map { it.toInt() }

    val aArr = readInputLine().split(" ").map { it.toInt() }

    val dp = Array(n + 1) { LongArray(s + 1) }

    dp[0][0] = 1L

    for ((i, a) in aArr.withIndex()) {
        for (j in 0..s) {
            dp[i + 1][j] = (dp[i + 1][j] + dp[i][j] * 2L) % mod
            if (j + a <= s) {
                dp[i + 1][j + a] = (dp[i + 1][j + a] + dp[i][j]) % mod
            }
        }
    }

    builder.appendln(dp[n][s])

    print(builder.toString())
}

fun readInputLine(): String {
    return readLine()!!
}
