#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 100;
struct TnT {
  int a, b;
} T[N];
bool cmp(TnT x, TnT y) {
  if (x.a == y.a) return x.b > y.b;
  return x.a > y.a;
}
int main() {
  int n, h, sum = 0, cnt = 0;
  scanf("%d %d", &n, &h);
  for (int i = 1; i <= n; i++) {
    scanf("%d %d", &T[i].a, &T[i].b);
  }
  sort(T + 1, T + 1 + n, cmp);
  for (int i = 2; i <= n; i++) {
    if (T[1].b + sum >= h) {
      cout << cnt + 1 << endl;
      return 0;
    }
    if (T[i].b > T[1].a) {
      sum += T[i].b;
      cnt++;
    }
    if (sum >= h) {
      cout << cnt << endl;
      return 0;
    }
  }
  if (T[1].b + sum >= h) {
    cout << cnt + 1 << endl;
    return 0;
  }
  sum += T[1].b;
  cnt++;
  if ((h - sum) % T[1].a) cnt++;
  cout << cnt + (h - sum) / T[1].a << endl;
  return 0;
}
