#include <bits/stdc++.h>
using namespace std;
using vi = vector<int>;
#define allr(x) (x).rbegin(),(x).rend()
#define rp(i,s,e) for(int i=(s);i<(e);++i)
#define rpz(i,e) rp(i,0,e)

int main(){
	int N,H; cin>>N>>H;
	vi B(N);
	int maxA = 0;
	rpz(i, N){
		int a,b; cin>>a>>b;
		B[i] = b;
		maxA = max(maxA, a);
	}
	sort(allr(B));
	int c;
	for(c=0; c<N && H>0 && B[c]>maxA; ++c) H -= B[c];
	if(H > 0) c += (H+maxA-1)/maxA;
	cout<< c <<endl;
}