#include <bits/stdc++.h>
using namespace std;
long long a, b;
long long n, h;
long long a_max = 0;
long long ans = 0;
priority_queue<long long> p_que;
int main() {
  cin >> n >> h;
  for (int i = 0; i < n; i++) {
    cin >> a >> b;
    a_max = max(a, a_max);
    p_que.push(b);
  }
  while (!p_que.empty() && p_que.top() > a_max && h > 0) {
    h = h - p_que.top();
    p_que.pop();
    ans++;
  }
  ans += h / a_max + (h % a_max ? 1 : 0);
  cout << ans << endl;
  return 0;
}
