#include <bits/stdc++.h>
int main() {
  int N, x;
  std::cin >> N >> x;
  int ax[105];
  int i = 0;
  int l;
  while (std::cin >> l) {
    ax[i] = l;
    i++;
    if (i >= N) break;
  }
  std::sort(ax, ax + N);
  int tmpx = 0;
  int tmpk = 0;
  for (int k = 0; k < N; k++) {
    tmpx += ax[k];
    if (tmpx >= x) {
      tmpk = k + 1;
      break;
    }
  }
  if (tmpx < x) {
    tmpk = N - 1;
  } else if (tmpx > x) {
  }
  std::cout << tmpk << std::endl;
  return 0;
}
