#include <stdio.h>

int main(void) {

  long n,s;
  scanf("%ld %ld", &n, &s);
  long a[n];
  for (long i = 0; i < n; i++) {
    scanf("%ld", &a[i]);
  }
  long mod = 998244353;
  long value;
  long dp[n][s+1];
  for (long i = 0; i < n; i++) {
    for (long j = 0; j <= s; j++) {
      dp[i][j] = 0;
    }
  }
  dp[0][0] = 2;
  dp[0][a[0]] = 1;
  for (long i = 1; i < n; i++) {
    for (long j = 0; j <= s; j++) {
      dp[i][j] += dp[i-1][j]*2;
      dp[i][j] %= mod;
      value = j+a[i];
      if (value <= s) {
        dp[i][value] += dp[i-1][j];
        dp[i][value] %= mod;
      }
    }
  }
  printf("%ld\n", dp[n-1][s]);

  return 0;
}