#include <bits/stdc++.h>
const int INF = 2147483647;
const long long int MOD = 1000000007;
using namespace std;
int main() {
  int n, h;
  cin >> n >> h;
  vector<int> a(n), b(n);
  for (int i = 0; i < n; i++) {
    cin >> a[i] >> b[i];
  }
  int m = 0;
  for (int i = 0; i < n; i++) {
    m = max(m, a[i]);
  }
  vector<int> th;
  int ans = 0;
  int sum = 0;
  for (int i = 0; i < n; i++) {
    if (m < b[i]) {
      th.push_back(b[i]);
      sum += b[i];
    }
  }
  if (sum >= h) {
    for (int i = 0; i < (int)th.size(); i++) {
      h -= th[i];
      ans++;
      if (h <= 0) break;
    }
  } else {
    ans += (int)th.size();
    h -= sum;
    ans += (h + m - 1) / m;
  }
  cout << ans << endl;
  return 0;
}
