#include <bits/stdc++.h>
int asc(const void *a, const void *b) { return *(int *)a - *(int *)b; }
int main() {
  int n, x, a[100], i, j, ans = 0;
  scanf("%d %d", &n, &x);
  for (i = 0; i < n; i++) {
    scanf("%d", &a[i]);
  }
  qsort(a, n, sizeof(int), asc);
  for (i = 0; i < n; i++) {
    if (x >= a[i]) {
      x -= a[i];
      ans++;
    } else {
      break;
    }
  }
  if (x > 0) ans--;
  if (ans < 0) ans = 0;
  printf("%d", ans);
}
