#include <bits/stdc++.h>
int main(void) {
  int N, x;
  int i, j, count = 0, big;
  scanf("%d %d", &N, &x);
  int okasi[N];
  for (i = 0; i < N; i++) {
    scanf("%d", &okasi[i]);
  }
  for (i = 0; i < N; i++) {
    for (j = i; j < N; j++) {
      if (okasi[i] > okasi[j]) {
        big = okasi[i];
        okasi[i] = okasi[j];
        okasi[j] = big;
      }
    }
  }
  for (i = 0; i < N; i++) {
    x -= okasi[i];
    if (x < 0) break;
    count += 1;
  }
  printf("%d", count);
  return 0;
}
