// inputに入力データ全体が入る
function Main(input) {


  var inp = input.split('\n');

  var buf = inp[0].split(' ');

  var N = parseInt(buf[0]);
  var x = parseInt(buf[1]);

  var an = inp[1].split(' ');

  // 降順ソート
  an.sort(function (a, b) {
    return b - a;
  })
  // console.log(an + ":" + an.length);

  var ans = 0;
  for (var i = 0; i < N; i++) {
    if (i === N - 1) { // 最後の配列の処理
      if (parseInt(an[i]) === x) {
        ans++;
      }
    } else {
      if (parseInt(an[i]) <= x) {
        // 配列サーチ
        loop1: for (var j = 0; j < an.length; j++) {
          if (parseInt(an[j]) <= x) {
            x -= an[j];
            if (parseInt(an[j]) === parseInt(an[i])) {
              ans++;
            }
            // console.log('j:' + j + ',i:' + i);
            // console.log('an[j]:' + an[j] + ',an[i]:' + an[i])
            break loop1; // 小ループ抜ける
          }

        }
      }
    }
    if (x === 0) break; // ループ終了
  }

  console.log('%d', ans);

}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));

