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