#include<bits/stdc++.h>
#define mx(a,b) (a>b?a:b)
#define N 200001
using namespace std;
struct knf{int k,f;}a[N];
int n,h,cmp(knf,knf),p,q,ans;
int main()
{
	scanf("%d%d",&n,&h),n*=2;
	for(int i=1;i<=n;i+=2)
		scanf("%d%d",&p,&q),
		a[i].k=p,a[i].f=0,
		a[i+1].k=q,a[i+1].f=1;
	sort(a+1,a+n+1,cmp);
	for(int i=1;h>0;i++)
		if(a[i].f)h-=a[i].k,ans++;
		else ans+=(h-1)/a[i].k+1,h=0;
	printf("%d\n",ans),exit(0);
}
int cmp(knf o,knf u)
{return o.k>u.k;}