#include<bits/stdc++.h>
using namespace std;
#define all(a)  (a).begin(),(a).end()
typedef long long ll;
const ll mod=1000000007;
#define repi(i,a,b) for(int i=int(a);i<int(b);++i)

int main() {
  int n;
  ll h;cin >> n >> h;
  vector<pair<ll,ll>> vp;
  repi(i,0,n){
    ll a,b;cin >> a>>b;
    vp.push_back(make_pair(a,b));
  }
  sort(all(vp));
  ll max_a = vp[n-1].first;
  ll thresh = max(vp[n-1].first,vp[n-1].second);
  ll cnt = 0LL;
  for(int j=0;j<n-1;++j){
    if(h <= thresh) break;
    if(vp[j].second >= max_a){
      h -= vp[j].second;
      ++cnt;
    }
  }
  if(h>0){
    if (thresh > max_a){
        ++cnt;
        h -= thresh;
        if(h>0){
          cnt += h/max_a;
          if(h%max_a != 0) ++cnt;
        }
      }
    } else {
      cnt += h/max_a;
      if(h%max_a != 0) ++cnt;
    }
  }
  cout << cnt << endl;
  return 0;
}
