#include<bits/stdc++.h>

using namespace std;

#define x first
#define y second
#define pb push_back
#define eb emplace_back
#define rep(i,a,b) for(auto i = (a); i != (b); ++i)
#define REP(i,n) rep(i,0,n)
#define all(v) (v).begin(), (v).end()

typedef long long ll;
typedef pair<ll, ll> ii;
typedef vector<ll> vi;
typedef vector<vi> vvi;
typedef vector<ii> vii;

ll M;
vii A;

ll money(ll days)
{
	ll ret = 0LL;
	REP(i, (int) A.size()) {
		ll inc = days * A[i].x - A[i].y;
		ret += max(0LL, inc);
	}
	return ret;
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	int N;

	// read input:
	cin >> N >> M;
	A.resize(N);
	REP(i, N) cin >> A[i].x >> A[i].y;

	// binary search:
	ll lo = 0LL, hi = 1;
	while (money(hi) < M) hi += hi;

	while (hi - lo > 1LL) {
		ll mi = (lo + hi) / 2;
		if (money(mi) >= M)
			hi = mi;
		else lo = mi;
	}
	cout << hi << endl;
	return 0;
}
