#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
long long n,x,s=0,f=0,k=0;
scanf("%lld %lld ",&n,&x);
vector<long long>arr(n);
for(int i=0; i<n; i++)
scanf("%lld",&arr[i]);
sort(arr.begin(),arr.end());
/*for(int i=0; i<n; i++)
printf("%lld ",arr[i]);*/
while(x>=0)
{
if(x>=arr[k])
{
x-=arr[k];
//printf("X is %lld\n",x);
s++;
k++;
}
else
{
if(arr[k]%2==0 && x<(arr[k]/2))
f++;
else if(x<=arr[k]/2)
f++;
f+=(n-1-k);
//printf("N is %lld and K is %lld\n",n,k);
x=-1;
}
}
printf("%lld %lld\n",f,s);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSAKewoJbG9uZyBsb25nIG4seCxzPTAsZj0wLGs9MDsKCXNjYW5mKCIlbGxkICVsbGQgIiwmbiwmeCk7Cgl2ZWN0b3I8bG9uZyBsb25nPmFycihuKTsKCWZvcihpbnQgaT0wOyBpPG47IGkrKykKCQlzY2FuZigiJWxsZCIsJmFycltpXSk7Cglzb3J0KGFyci5iZWdpbigpLGFyci5lbmQoKSk7CgkvKmZvcihpbnQgaT0wOyBpPG47IGkrKykKCQlwcmludGYoIiVsbGQgIixhcnJbaV0pOyovCgl3aGlsZSh4Pj0wKQoJewoJCWlmKHg+PWFycltrXSkKCQl7CgkJCXgtPWFycltrXTsKCQkJLy9wcmludGYoIlggaXMgJWxsZFxuIix4KTsKCQkJcysrOwoJCQlrKys7CgkJfQoJCWVsc2UKCQl7CgkJCWlmKGFycltrXSUyPT0wICYmIHg8KGFycltrXS8yKSkKCQkJCWYrKzsKCQkJZWxzZSBpZih4PD1hcnJba10vMikKCQkJCWYrKzsKCQkJZis9KG4tMS1rKTsKCQkJLy9wcmludGYoIk4gaXMgJWxsZCBhbmQgSyBpcyAlbGxkXG4iLG4sayk7CgkJCXg9LTE7CgkJfQoJfQoJcHJpbnRmKCIlbGxkICVsbGRcbiIsZixzKTsKCXJldHVybiAwOwp9