#include <bits/stdc++.h>
using namespace std;
struct dao {
  int a;
  int b;
  int num;
};
bool com(dao a, dao b) { return a.b > b.b; }
int main() {
  dao d[100000];
  int maxa = 0, num, va_num;
  int n, h;
  cin >> n >> h;
  for (int i = 0; i < n; i++) {
    scanf("%d%d", &d[i].a, &d[i].b);
    d[i].num = i;
    if (d[i].a > maxa) {
      maxa = d[i].a;
      num = i;
      va_num = d[i].b;
    }
  }
  sort(d, d + n, com);
  int count = 0;
  int i = 0;
  for (i = 0; h > 0 && d[i + 1].b > maxa; i++) {
    h -= d[i].b;
    count++;
    if (d[i].num == num) break;
  }
  if (h > 0) {
    count += (h / maxa);
    h = (h % maxa);
    if (h > 0) count++;
  }
  cout << count;
  return 0;
}
