#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
using ll = long long;

int main() {
	ll n, h;
	cin >> n >> h;
	vector<ll>a(n+100);
  	vector<ll>a(n+100);
	ll maxshake = 0, j = 0;
	for (int i = 0;i < n;i++) {
		cin >> a[i] >> b[i];
		if (maxshake < a[i]) {
			j = b[i];
			maxshake = a[i];
		}
		if (b[i] < j&&maxshake == a[i])j = b[i];
	}
	sort(b.begin(), b.end());
	ll k = 0;
	for (int i = 0;i < n;i++) {
		if (b[i] == j) {
			k = i;
			break;
		}
	}
	ll ans = 0;
	for (int i = n - 1;i > k&&h > 0 && b[i] > maxshake;i--) {
		h -= b[i];
		ans++;
	}
	if (h < 1)cout << ans << endl;
	else {
		while (h > 0) {
			if (h <= j)h -= j;
			else h -= a[k];
			ans++;

		}
		cout << ans << endl;
	}
}
