#include <bits/stdc++.h>
long long v[100], s[100], n, x;
int main() {
  scanf("%lld%lld", &n, &x);
  for (int i = 0; i < n; i++) {
    scanf("%lld", &v[i]);
  }
  std::sort(v, v + n);
  s[0] = v[0];
  for (int i = 1; i < n; i++) {
    s[i] = s[i - 1] + v[i];
  }
  int poz = 0;
  while (poz < n && s[poz] <= x) {
    poz++;
  }
  if (poz == 0) {
    printf("%d\n", poz);
  } else {
    if (s[poz - 1] == x) {
      printf("%d\n", poz);
    } else {
      printf("%d\n", poz - 1);
    }
  }
  return 0;
}
