#include<iostream>
#include<vector>
#include<algorithm>
#include<utility>

using namespace std;

int main(){
	int n, h, ans = 0;
	cin >> n >> h;
	vector<pair<int, int>> a(n);
	int max_a = 0;
	for(int i = 0; i < n; i++){
		cin >> a[i].first >> a[i].second;
		max_a = max(max_a, a[i].first);
	}
	sort(a.begin(), a.end(),
		[](auto& x, auto& y){return (x.second > y.second); });
	for(int i = 0; i < n; i++){
		if(h > 0 && a[i].second > max_a){
			h -= a[i].second;
			ans++;
		}else{
			break;
		}
	}
	ans += (h + max_a - 1) / max_a;
	cout << ans << endl;
	return 0;
}