#include <bits/stdc++.h>
using namespace std;
using pii=pair<int,int>;
using ll=long long;
using pll=pair<ll,ll>;

#define fi first
#define se second
#define pb push_back
#define rep(i,n) for(int i=0; i<(int)(n); i++)
#define MOD 1000000007

template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }

int main() {
	int N;
	ll H;
	cin >> N >> H;
	vector<pll> A(N);
	rep(i,N) cin >> A[i].se >> A[i].fi;
	ll d = 0;
	ll maxi = -1, idx = -1;
	rep(i,N) {
		if(maxi < A[i].se) {
			maxi = A[i].se;
		}
	}
	sort(A.begin(), A.end(), greater<>());
	rep(i,N) {
		if(A[i].se == maxi) idx = i;
	}
	int cnt = 0;
	int j = 0;
	//cout << maxi << endl;
	rep(j,N) {
		//cout << A[j].fi << " " << A[j].se << " " << H << " " << idx << endl;
		if(H <= maxi) {
			cout << cnt+1 << endl;
			return 0;
		}
		if(A[j].fi > maxi) {
			H -= A[j].fi;
			cnt++;
			if(H <= 0) break;
		}
		if(j == idx) {
			if(H % A[j].se != 0) cnt++;
			cnt += H / A[j].se;
			break;
		}
	}
	cout << cnt << endl;

	

  return 0;
}