#include <bits/stdc++.h>
using namespace std;
int remaining_graph(vector<int> &arr, int c, int sum, int n){
int answer = 0, sum1 = 0;
for (int line = 1; line <= n-1; line++){
for (int j = 2; j <= 2+line-1; j++){
sum1 += arr[j];
}
int temp1 = sum1 * (sum - sum1);
sum1 = 0;
for (int k = n; k >= n-line+1; k--){
sum1 += arr[k];
}
int temp2 = sum1 * (sum - sum1);
int ans1 = min(temp1, temp2);
if(ans1 <= c){
answer = line;
}
}
return answer;
}
int main() {
// your code goes here
int n, c, sum = 0;
cin >> n >> c;
vector<int> arr(n+1, 0);
for (int i = 1; i <= n; i++){
int a; cin >> a;
sum += a;
arr[i] = a;
}
sort(arr.begin()+2, arr.end());
cout << remaining_graph(arr, c, sum, n);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgcmVtYWluaW5nX2dyYXBoKHZlY3RvcjxpbnQ+ICZhcnIsIGludCBjLCBpbnQgc3VtLCBpbnQgbil7CglpbnQgYW5zd2VyID0gMCwgc3VtMSA9IDA7CgkKCWZvciAoaW50IGxpbmUgPSAxOyBsaW5lIDw9IG4tMTsgbGluZSsrKXsKCQkKCQlmb3IgKGludCBqID0gMjsgaiA8PSAyK2xpbmUtMTsgaisrKXsKCQkJc3VtMSArPSBhcnJbal07CgkJfQoJCWludCB0ZW1wMSA9IHN1bTEgKiAoc3VtIC0gc3VtMSk7CgkJc3VtMSA9IDA7CgkJCgkJZm9yIChpbnQgayA9IG47IGsgPj0gbi1saW5lKzE7IGstLSl7CgkJCXN1bTEgKz0gYXJyW2tdOwoJCX0KCQkKCQlpbnQgdGVtcDIgPSBzdW0xICogKHN1bSAtIHN1bTEpOwoJCWludCBhbnMxID0gbWluKHRlbXAxLCB0ZW1wMik7CgkJCgkJaWYoYW5zMSA8PSBjKXsKCQkJYW5zd2VyID0gbGluZTsKCQl9Cgl9CgkKCXJldHVybiBhbnN3ZXI7Cn0KCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IG4sIGMsIHN1bSA9IDA7CgljaW4gPj4gbiA+PiBjOwoJdmVjdG9yPGludD4gYXJyKG4rMSwgMCk7Cglmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspewoJCWludCBhOyBjaW4gPj4gYTsKCQlzdW0gKz0gYTsKCQlhcnJbaV0gPSBhOwoJfQoJc29ydChhcnIuYmVnaW4oKSsyLCBhcnIuZW5kKCkpOwoJY291dCA8PCByZW1haW5pbmdfZ3JhcGgoYXJyLCBjLCBzdW0sIG4pOwoJCglyZXR1cm4gMDsKfQ==