#include <iostream>
#include <string>
#include <cstring>
#include <stdio.h>

using namespace std;
#define max(a,b) (((a)>(b)) ? (a): (b))
#define N_MAX 10000
int N;
int H;
int b[N_MAX];

int main(void){
	scanf ("%d %d\n", &N, &H)
	int a;
	int max_a=0;
	for (int i=0; i<N; i++){
		scanf ("%d %d\n", &a, &b[i])
		max_a = max(max_a, a);
	}

	int turn = 0;
	for (int i=0; i<N; i++){
		if (max_a < b[i]) {
			H -= b[i];
			turn++;
			if (H <= 0){
				cout << turn << "\n";
				return 0;
			}
		}
	}
	cout << turn + ((H - 1)/ max_a) + 1 << "\n";
	return 0;
}