#include<stdio.h>
#include<stdlib.h>

int main(){
	int n,h,i,j,damage,count,tmp,i_maxa,throw;
	int a[100000],b[100000];
	
	scanf("%d%d",&n,&h);
	for(i=0;i<n;i++){
		scanf("%d%d",&a[i],&b[i]);
	}
	
	i_maxa=0;
	for(i=1;i<n;i++){
		if(a[i]>a[i_maxa]){
			i_maxa=i;
		}
		else if(a[i]==a[i_maxa]){
			if(b[i]<b[i_maxa]){
				i_maxa=i;
			}
		}
	}

	tmp=a[i_maxa];
	a[i_maxa]=a[n-1];
	a[n-1]=tmp;
	tmp=b[i_maxa];
	b[i_maxa]=b[n-1];
	b[n-1]=tmp;

	for(i=0;i<n-2;i++){
		for(j=0;j<n-i-2;j++){
			if(b[j]<b[j+1]){
				tmp=b[j];
				b[j]=b[j+1];
				b[j+1]=tmp;
			}
		}
	}
	
	count=0;
	throw=0;
  
	while(1){
		if(b[n-1]>=h){
			count++;
			break;
		}
		
		if(a[n-1]<b[throw] && throw<n-1){
			h=h-b[throw];
			count++;
			throw++;
		}else{
			h=h-a[n-1];
			count++;
		}
		
		if(h<=0){
			break;
		}
	}
	printf("%d\n",count);
	return 0;
}
