#include <bits/stdc++.h>
using namespace std;
struct knife {
  int kill;
  int fly;
} diediedie[1000010];
bool cmp(knife x, knife y) {
  if (x.kill > y.kill)
    return true;
  else
    return false;
}
int main() {
  int kni, health, ans = 0;
  cin >> kni >> health;
  int k = 0;
  for (int i = 1; i <= kni; i++) {
    cin >> diediedie[k++].kill;
    diediedie[k].fly = 1;
    cin >> diediedie[k++].kill;
  }
  sort(diediedie, diediedie + k, cmp);
  for (int i = 0; i < k; i++) {
    if (diediedie[i].fly == 1) {
      health = health - diediedie[i].kill;
      ans++;
      if (health <= 0) {
        cout << ans << endl;
        return 0;
      }
    } else {
      if (health % diediedie[i].kill == 0) {
        ans = ans + (health / diediedie[i].kill);
      } else {
        ans = ans + 1 + (health / diediedie[i].kill);
        cout << ans << endl;
        return 0;
      }
    }
  }
  return 0;
}
