#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("garaj.in");
ofstream g("garaj.out");
struct ga{
int x,y;}v[100001];
int n,i,s,sol,mij,st,dr,d[100001],S;
int main()
{
f>>n>>S;
for(i=1;i<=n;i++)
f>>v[i].x>>v[i].y;
st=1;dr=20000000;
while(st<=dr){
mij=(st+dr)/2;
s=0;
for(i=1;i<=n;i++)
s+=v[i].x*(mij/(v[i].y*2));
if(s>=S)
{
dr=mij-1;
sol=mij;
}
else
st=mij+1;
}
g<<sol<<" ";
for(i=1;i<=n;i++)
d[i]=v[i].x*(sol/(v[i].y*2));
sort(d+1,d+n+1);
s=0;
for(i=n;i>=1;i--){
s+=d[i];
if(s>S)
{
g<<n-i+1;
break;
}}
return 0;
}