import java.util.*;
public class Main {
public static void main(String[] args) {
int n,w;
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
w = sc.nextInt();
double[] arr = new double[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextDouble();
}
Arrays.sort(arr);
//尽力保证每个缆车装的cat足够多
int i=0,j=n-1;
double ans=0,cur=arr[n-1];
while (i < j) {
if (arr[i] + cur > w){
cur=0;
j-=1;
cur += arr[j];
ans++;
}
else{
cur += arr[i];
i++;
}
}
if(cur>0) ans++;
System.out.println(ans);
}
}