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