#include <bits/stdc++.h>
void BubbleSort(long *, int);
int main() {
  int N, x;
  int i, cnt = 0;
  long a[100];
  scanf("%d %d", &N, &x);
  for (i = 0; i < N; i++) {
    scanf("%ld", &a[i]);
  }
  BubbleSort(a, N);
  for (i = 0; i < N; i++) {
    if (x >= a[i]) {
      cnt++;
      x -= a[i];
    } else
      break;
  }
  printf("%d", cnt);
  return 0;
}
void BubbleSort(long *b, int N) {
  int i, j, temp;
  for (i = 0; i < N; i++) {
    for (j = N - 1; j > i; j--) {
      if (b[j - 1] > b[j]) {
        temp = b[j];
        b[j] = b[j - 1];
        b[j - 1] = temp;
      }
    }
  }
}
