#include <bits/stdc++.h>
using namespace std;
const int P=998244353,MAXN=3010;
int n,s,x,dp[MAXN],inv2;
int main () {
	inv2=(P+1)/2;
	scanf("%d%d",&n,&s);
	dp[0]=1;
	for (int i=1;i<=n;i++) {dp[0]=(1ll*dp[0]*2)%P;}
	for (int i=1;i<=n;i++) {
		scanf("%d",&x);
		for (int i=s-x;i>=0;i--) {
			dp[i+x]=(dp[i+x]+(1ll*dp[i]*inv2)%P)%P;
		}
	}
	printf("%d\n",dp[s]);
	return 0;
}