/* nQueen問題 */

#define _CRT_SECURE_NO_WARNINGS
#define _USE_MATH_DEFINES
#include <iostream>
#include <map>
#include <set>
#include <list>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <vector>
#include <algorithm>
#include <utility>
#include <queue>
#include <iomanip>
#include <functional>

#define SIZE 1005
#define INF 100000000
#define ll long long
#define FD(d) fixed << setprecision(d)
#define MOD 1000000007
     
using namespace std;
 
#define ll long long
 
typedef pair<int, int> Pa;


#define SUCCESS 1
#define FAIL    0

#define FREE		1
#define NOT_FREE    0

int main()
{
	int n, m;
	int c[SIZE];
	int res;

	cin >> n >> m;

	for (int i = 0; i < n; i++) {
		cin >> c[i];
	}

	sort(c, c + n);
	
	for (int i = 0; i < n; i++) {
		m -= c[i];
		if (m < 0) {
			res = i;
			break;
		}
		if(m == 0) {
			res = i + 1;
		}
	}


	cout << res << endl;

	return (0);
}