#include <bits/stdc++.h>
#define ll long long int
#define MOD 998244353
#define INF 1e18
ll power(ll n, ll k){
  ll res = 1;
  while(k > 0){
    if (k & 1) 
      res = res * n % MOD;
    n = n * n % MOD;
    k >>= 1;
  }
  return res;
}



using namespace std;

int main(void){
  ll n, s;
  cin >> n >> s;
  
  vector<ll> a(n);
  for (int i = 0; i < n; i++){
    cin >> a[i];
  }
  vector<vector<vector<ll>>> dp(n + 1, vector<vector<ll>>(n + 1, vector<ll>(s + 1, 0)));

  dp[0][0][0] = 1;
  for (int i = 1; i < n + 1; i++){
    dp[i][0][0] = 1;
    for (int j = 1; j <= i; j++){
      for (int k = 0; k <= s; k++){
        if (k >= a[i-1])
          dp[i][j][k] = (dp[i-1][j][k] + dp[i-1][j-1][k-a[i-1]]) % MOD;
        else
          dp[i][j][k] = dp[i-1][j][k];
      }
    }
  }

  ll ans = 0;
  for (int i = 1; i < n + 1; i++){
    ans += dp[n][i][s] * power(2, n-i) % MOD;
  }
  cout << ans << endl;



  return 0;
}
