#include <bits/stdc++.h>
int main() {
  int s[200000][5];
  int n, i, j;
  int HP;
  int max;
  int katana;
  int exdamage = 0;
  int exkatana = 0;
  int result = 0;
  int exmax;
  int memo;
  scanf("%d", &n);
  scanf("%d", &HP);
  for (i = 0; i < n; i++) {
    for (j = 0; j <= 1; j++) {
      scanf("%d", &s[i][j]);
    }
  }
  for (i = 0; i < n; i++) {
    if (s[i][0] > max) {
      max = s[i][0];
    }
  }
  for (i = 0; i < n; i++) {
    if (s[i][1] >= max) {
      exdamage = exdamage + s[i][1];
      exkatana++;
    }
  }
  if (exdamage <= HP) {
    for (i = 0; i < 10000100000; i++) {
      if (exdamage >= HP) {
        result = result + exkatana;
        printf("%d", result);
        break;
      }
      HP = HP - max;
      result++;
      if (HP <= 0) {
        printf("%d", result);
        break;
      }
    }
  } else {
    exmax = 0;
    for (j = 0; j < 1000000005; j++) {
      for (i = 0; i < n; i++) {
        if (s[i][1] >= exmax) {
          exmax = s[i][1];
          memo = i;
        }
      }
      HP = HP - exmax;
      exmax = 0;
      result++;
      s[memo][1] = 0;
      if (HP <= 0) {
        printf("%d", result);
        break;
      }
    }
  }
  return 0;
}
