#include <bits/stdc++.h>
using namespace std;
bool cmp(unsigned int x, unsigned int y) { return x > y; }
int main() {
  int n;
  unsigned m;
  unsigned int a[100005], b[100005];
  cin >> n >> m;
  for (int i = 1; i <= n; i++) {
    cin >> a[i] >> b[i];
  }
  unsigned int maxA = 0;
  for (int i = 1; i <= n; i++) {
    maxA = max(maxA, a[i]);
  }
  sort(a + 1, a + 1 + n, cmp);
  unsigned long long res = 0, ans = 0;
  for (int i = 1; i <= n; i++) {
    if ((b[i] > maxA) && (res <= m)) {
      ans++;
      res += b[i];
    }
  }
  if (m <= res) {
    cout << ans;
    return 0;
  }
  m = m - res;
  if (m % maxA) {
    cout << m / maxA + ans + 1;
  } else {
    cout << m / maxA + ans;
  }
}
