#include <bits/stdc++.h>
using namespace std;
typedef struct sword {
  int damage, flag;
  bool operator<(const struct sword& a) const { return damage > a.damage; }
} SWORD, *PSWORD;
SWORD s[200001];
int main() {
  int n, h, i, j = 0, k = 0;
  scanf("%d %d", &n, &h);
  for (i = 0; i < n; i++) {
    scanf("%d", &s[j].damage);
    s[j++].flag = 0;
    scanf("%d", &s[j].damage);
    s[j++].flag = 1;
  }
  sort(s, s + j);
  i = 0;
  while (h > 0) {
    if (s[i].flag == 1) {
      i++;
    } else if (h > 0) {
      j += h / s[i].damage;
      j += h % s[i].damage == 0 ? 0 : 1;
      break;
    }
  }
  printf("%d", k);
  return 0;
}
