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

int main() {
	int N, H; cin >> N >> H;
	vector<int> a(N), b(N);
	int ma = 0;
	for(int i = 0; i < N; ++i) {
		cin >> a[i] >> b[i];
		ma = max(a[i], ma);
	}
	vector<int> c, d;
	for(int i = 0; i < N; ++i) {
		if(b[i] > ma) {
			c.push_back(a[i]), d.push_back(b[i]);
		}
	}
	sort(rbegin(c), rend(c));
	sort(rbegin(d), rend(d));
	N = c.size();

	int ans = 0;
	for(int i = 0; i < N && H > 0; ++i, ++ans) {
		H -= d[i];
	}
	ans += (max(0, H) + c[0] - 1) / c[0];

	cout << ans << endl;
}