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

using namespace std;

vector <long long> v;

int main()
{
	int n;
	long long h;
	cin >> n >> h;
	long long max = 0;
	for (int i = 0; i < n; ++i)
	{
		long long a, b;
		cin >> a >> b;
		if (a > max)
			max = a;
		v.push_back(b);
	}
	sort(v.begin(), v.end());
	long long count = 0;
	int i = n - 1;
	while (i >= 0 && v[i] > max && h > 0)
	{
		h -= v[i];
		i--;
		count++;
	}
	if (h > 0)
		count += ceil(h*1.0 / max);
	cout << count;
}