#include <bits/stdc++.h>
std ::vector<std ::pair<int, bool> > swords;
int main() {
  int n, h;
  scanf("%d%d", &n, &h);
  for (int i = 1; i <= n; ++i) {
    int a, b;
    scanf("%d%d", &a, &b);
    swords.push_back(std ::make_pair(a, 0));
    swords.push_back(std ::make_pair(b, 1));
  }
  std ::sort(swords.begin(), swords.end());
  int ans(0);
  for (std ::vector<std ::pair<int, bool> >::reverse_iterator it =
           swords.rbegin();
       it != swords.rend(); ++it) {
    if (it->second)
      ++ans, h -= it->first;
    else {
      if (h / it->first)
        ans += h / it->first, h %= it->first;
      else {
        ++ans, h -= it->first;
        break;
      }
    }
    if (h <= 0) break;
  }
  return !printf("%d\n", ans);
}
