#include <bits/stdc++.h>
using namespace std;
int n, m;
struct ele {
  int cut;
  bool fly;
} a[100010];
int main() {
  scanf("%d%d", &n, &m);
  int now(0);
  for (register int i(1); i <= n; i++) {
    scanf("%d", &a[now++].cut);
    a[now].fly = 1;
    scanf("%d", &a[now++].cut);
  }
  for (register int i(0); i <= now - 2; i++) {
    for (register int j(0); j <= now - i - 1; j++) {
      if (a[j].cut < a[j + 1].cut) {
        swap(a[j], a[j + 1]);
      }
    }
  }
  int ans(0);
  for (register int i(0); i <= now - 1; i++) {
    if (a[i].fly) {
      ans++;
      m -= a[i].cut;
      if (m <= 0) {
        goto endreturn;
      }
    } else if (a[i].fly - 1) {
      if (!(m % a[i].cut)) {
        ans += (m / a[i].cut);
      } else {
        ans += ((m / a[i].cut) + 1);
      }
      goto endreturn;
      ;
    }
  }
endreturn:
  printf("%d", ans);
  return putchar(10), 0;
}
