#include <bits/stdc++.h>
using namespace std;
long long arr[100005];
int main() {
  long long tst, a, b, m, n, res = 0, ans = 0;
  scanf("%lld", &n);
  scanf("%lld", &ans);
  long long maxi = 0;
  for (long long i = 0; i < n; i++) {
    scanf("%lld", &a);
    scanf("%lld", &arr[i]);
    maxi = max(maxi, a);
  }
  long long one = 1LL << 62;
  long long two = 0;
  long long three = 0;
  one = ceil((double)ans / maxi);
  sort(arr, arr + n);
  reverse(arr, arr + n);
  for (long long i = 0; i < n; i++) {
    res += arr[i];
    two++;
    if (res >= ans) break;
  }
  if (res != ans) two = 1LL << 62;
  res = 0;
  for (long long i = 0; i < n; i++) {
    if (arr[i] > maxi) {
      res += arr[i];
      three++;
    } else
      break;
  }
  res = ans - res;
  three += ceil((double)res / maxi);
  one = min(one, two);
  one = min(one, three);
  printf("%lld\n", one);
  return 0;
}
