import java.util.*; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int w = sc.nextInt(); int[] a = new int[n]; for (int i = 0; i < n; i++) { a[i] = sc.nextInt(); } int[][][] dp = new int[n + 1][w + 1][2]; dp[0][0][0] = 1; for (int i = 0; i < n; i++) { for (int j = 0; j <= w; j++) { dp[i + 1][j][0] += dp[i][j][0]; dp[i + 1][j][1] += dp[i][j][1]; if (j >= a[i]){ dp[i + 1][j][0] += dp[i][j - a[i]][0]; dp[i + 1][j][1] += dp[i][j - a[i]][1]; } if (j >= a[i] / 2){ dp[i + 1][j][1] += dp[i][j - a[i] / 2][0]; } } } System.out.println(dp[n][w][0]+dp[n][w][1]); } }