// 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;
  })


  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){
        x -= an[i];
        ans++;
      }
    }
    if(x === 0) break;
  }

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

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

