#include <bits/stdc++.h>
using namespace std;

int main() {
	int64_t n, h;
	cin >> n >> h;
	vector<vector<int64_t>> ad(2 * n,vector<int64_t>(2));
	for (int i = 0; i < n; i++) {
		int64_t x = 0;
		int64_t y = 0;
		cin >> x >> y;
		ad.at(i*2) = { x,0 };
		ad.at(i*2 + 1) ={y,1};
	}
	sort(ad.begin(), ad.end());
	reverse(ad.begin(), ad.end());
	int64_t ans = 0;
	int64_t pos = 0;
	while (h > 0) {
		if (ad.at(pos).at(1) == 1) {
			ans++;
			h -= ad.at(pos).at(0);
			pos++;
		}
		else break;
	}
	ans += 1 + ((h-1) / ad.at(pos).at(0)));
	cout << ans << endl;

}
