#include<bits/stdc++.h>
using namespace std;
#define int long long
#define itn int   
#define mod 1000000007
#define am 998244353
#define INFi 2147483647
#define INFl 9223372036854775807LL
#define fi first
#define se second
#define be begin()
#define en end()
int lcm(int a,int b    
bool d[1000000];
int dp[1000][1000];
signed main(){
// __builtin_ctz(N);      Nを２で何回割り切れるかを返す
//(n+1)*n/2;              １からNまでの総和を求める式
    cin.tie(0);
    ios::sync_with_stdio(false);
    int a,b;
    int c;
    int e,f,q=0,w=0;
    cin>>a>>b;
    for(int i=0;i<a;i++){
      cin>>d[i];
      q+=d[i];
    }
  if(q<=b){
    if(q==b) cout<<a;
    else cout<<a-1;
  }
  else{
    sort(d,d+a);
    for(int i=0;i<a;i++){
      if(b-d[i]>=0){
        b-=d[i];
        w++;
      }
    }
    cout<<w;
  }
  cout<<"\n";
  }