#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
using pli = pair<ll, int>;
using Graph = vector<vector<pii>>;
const int MOD = 1e9 + 7;
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int N, H, maxa = 0;
  cin >> N >> H;
  vector<pii> ab(N);
  for (int i = 0; i < N; ++i) {
    cin >> ab[i].first >> ab[i].second;
    maxa = max(maxa, ab[i].first);
  }
  int sumb = 0, ans = 0;
  for (int i = 0; i < N; ++i) {
    if (ab[i].second > maxa) {
      sumb += ab[i].second;
      ans++;
      if (sumb >= H) break;
    }
  }
  ans += max(H - sumb + maxa - 1, 0) / maxa;
  cout << ans << endl;
  return 0;
}
