#include <iostream>
#include <vector>
using namespace std;
typedef long long ll;
vector<int> a, vis;
int n;
int f(int x) {
int cnt = 0;
for (int i = n - 1; i >= 0; i--) {
if (x >= a[i] and vis[a[i]] == 0) cnt++;
while (x >= a[i]) x -= a[i];
}
return cnt;
}
int main() {
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int k; cin >> n >> k;
a.resize(n), vis.resize(n);
for (int i = 0; i < n; i++) cin >> a[i] >> vis[i];
int cnt = 0, ans = 0;
for (int l = k - 1; l >= 1; l--) {
//cout << l << ' ';
int x = f(l);
if (x > cnt) cnt = x, ans = l;
}
cout << cnt << '\n' << k - ans;
}