fun power(base: Long, exp: Long): Long {
    return when(exp) {
        0L -> 1L
        1L -> base % 998244353
        else -> power(base * base % 998244353, exp shr 1) * power(base, exp and 1) % 998244353
    }
}
fun main() {
    val MOD = 998244353L
    val (n, s) = readLine()!!.trim().split(' ').map(String::toInt)
    val nums = readLine()!!.trim().split(' ').map(String::toInt)
    val memo = LongArray(s + 1){0}
    memo[0] = power(2, n.toLong())
    val inv2 = power(2, MOD - 2)
    for (a in nums) {
        var sum = s
        while (sum >= a) {
            memo[sum] += memo[sum - a] * inv2 % MOD
            memo[sum] %= MOD
            --sum
        }
    }
    println(
        memo.last()
    )
}
