#include <bits/stdc++.h>
using namespace std;
typedef priority_queue<long long int, vector<long long int> > pql;
bool chmin(long long int &a, long long int b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
bool chmax(long long int &a, long long int b) {
  if (b > a) {
    a = b;
    return 1;
  }
  return 0;
}
const long long int INF = 1LL << 60;
const long long int MOD = 1e9 + 7;
const long long int MAX = 1e9;
const char newl = '\n';
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long int n, h, a, num;
  cin >> n >> h;
  pql b;
  for (long long int _ = 0; _ < long long int(n); ++_) {
    cin >> num;
    chmax(a, num);
    cin >> num;
    b.push(num);
  }
  long long int ans = 0;
  while (h > 0) {
    ans++;
    if (a < b.top()) {
      h -= b.top();
      b.pop();
    } else
      h -= a;
  }
  cout << ans << newl;
  return 0;
}
