#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
const int INF = 1001001001;
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
int main() {
  long long n, h;
  cin >> n >> h;
  vector<long long> a(n), b(n);
  for (int i = 0; i < (n); ++i) cin >> a[i] >> b[i];
  sort((a).begin(), (a).end());
  sort((b).begin(), (b).end());
  reverse((a).begin(), (a).end());
  reverse((b).begin(), (b).end());
  long long at1 = a[0];
  long long index = 0;
  long long ans = 0;
  while (b[index] > at1 and h > 0 and index < n) {
    ans += 1;
    h -= b[index];
    index += 1;
  }
  ans += h / at1;
  cout << ans << endl;
}
